diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Acceleration.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Acceleration.java
new file mode 100644
index 0000000000000000000000000000000000000000..8c2bbd336e3da3027d590b5662500ca75ba0c098
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Acceleration.java
@@ -0,0 +1,92 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Acceleration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getZ <em>Z</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAcceleration()
+ * @model
+ * @generated
+ */
+public interface Acceleration extends EObject {
+	/**
+	 * Returns the value of the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>X</em>' attribute.
+	 * @see #setX(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAcceleration_X()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getX();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getX <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>X</em>' attribute.
+	 * @see #getX()
+	 * @generated
+	 */
+	void setX(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Y</em>' attribute.
+	 * @see #setY(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAcceleration_Y()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getY();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getY <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Y</em>' attribute.
+	 * @see #getY()
+	 * @generated
+	 */
+	void setY(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Z</em>' attribute.
+	 * @see #setZ(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAcceleration_Z()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getZ();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getZ <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Z</em>' attribute.
+	 * @see #getZ()
+	 * @generated
+	 */
+	void setZ(float value);
+
+} // Acceleration
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Accuracy.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Accuracy.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4181d26589d0eb23d7e56b7d30b6e3774ebfd8a
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Accuracy.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accuracy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAccuracy()
+ * @model
+ * @generated
+ */
+public interface Accuracy extends EObject {
+} // Accuracy
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Agent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Agent.java
new file mode 100644
index 0000000000000000000000000000000000000000..d897bd2bbfbe051a26e7ce869f6ce189d02d9914
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Agent.java
@@ -0,0 +1,59 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Agent</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Agent#getLObject <em>LObject</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Agent#getAgentType <em>Agent Type</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAgent()
+ * @model
+ * @generated
+ */
+public interface Agent extends Entity {
+	/**
+	 * Returns the value of the '<em><b>LObject</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>LObject</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAgent_LObject()
+	 * @model
+	 * @generated
+	 */
+	EList<LocalizableObject> getLObject();
+
+	/**
+	 * Returns the value of the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent Type</em>' attribute.
+	 * @see #setAgentType(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAgent_AgentType()
+	 * @model
+	 * @generated
+	 */
+	String getAgentType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Agent#getAgentType <em>Agent Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent Type</em>' attribute.
+	 * @see #getAgentType()
+	 * @generated
+	 */
+	void setAgentType(String value);
+
+} // Agent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/AgentRegistrationRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/AgentRegistrationRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..245a59a5ea83e5f860e65dadb596edc50600d603
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/AgentRegistrationRequest.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Agent Registration Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAgentRegistrationRequest()
+ * @model
+ * @generated
+ */
+public interface AgentRegistrationRequest extends EObject {
+} // AgentRegistrationRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Barcode.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Barcode.java
new file mode 100644
index 0000000000000000000000000000000000000000..45b45d9637205ef2a33f74e0ef0cb8045373b46f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Barcode.java
@@ -0,0 +1,16 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Barcode</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getBarcode()
+ * @model
+ * @generated
+ */
+public interface Barcode extends Proximity {
+} // Barcode
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Beacon.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Beacon.java
new file mode 100644
index 0000000000000000000000000000000000000000..d5c4f99534b69e05803223ced92a531a75478e82
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Beacon.java
@@ -0,0 +1,92 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Beacon</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getDistances <em>Distances</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getSensorId <em>Sensor Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getBeacon()
+ * @model
+ * @generated
+ */
+public interface Beacon extends RawdataEvent {
+	/**
+	 * Returns the value of the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Distances</em>' attribute.
+	 * @see #setDistances(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getBeacon_Distances()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Integer> getDistances();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getDistances <em>Distances</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Distances</em>' attribute.
+	 * @see #getDistances()
+	 * @generated
+	 */
+	void setDistances(Map<String, Integer> value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see #setType(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getBeacon_Type()
+	 * @model
+	 * @generated
+	 */
+	String getType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#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>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sensor Id</em>' attribute.
+	 * @see #setSensorId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getBeacon_SensorId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getSensorId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getSensorId <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Sensor Id</em>' attribute.
+	 * @see #getSensorId()
+	 * @generated
+	 */
+	void setSensorId(String value);
+
+} // Beacon
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Bluetooth.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Bluetooth.java
new file mode 100644
index 0000000000000000000000000000000000000000..d1f98e44798dcced0ecef5717251fb3dd3fa4984
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Bluetooth.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bluetooth</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth#getRss <em>Rss</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getBluetooth()
+ * @model
+ * @generated
+ */
+public interface Bluetooth extends Beacon {
+	/**
+	 * Returns the value of the '<em><b>Rss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rss</em>' attribute.
+	 * @see #setRss(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getBluetooth_Rss()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Integer> getRss();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth#getRss <em>Rss</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rss</em>' attribute.
+	 * @see #getRss()
+	 * @generated
+	 */
+	void setRss(Map<String, Integer> value);
+
+} // Bluetooth
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageQueryRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageQueryRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..9ac0c20521c1a22d76c177999b3f1b0fb9d5901d
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageQueryRequest.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Storage Query Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getDataStorageQueryRequest()
+ * @model
+ * @generated
+ */
+public interface DataStorageQueryRequest extends EObject {
+} // DataStorageQueryRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..460d3fea0334ca40d33c5a423fb87e629d07a25c
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageRequest.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Storage Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getDataStorageRequest()
+ * @model
+ * @generated
+ */
+public interface DataStorageRequest extends EObject {
+} // DataStorageRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Entity.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Entity.java
new file mode 100644
index 0000000000000000000000000000000000000000..4dca0aefc68b256781a7c9fc34e350ec2adafcea
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Entity.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Entity#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEntity()
+ * @model
+ * @generated
+ */
+public interface Entity extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEntity_Id()
+	 * @model
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Entity#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+} // Entity
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterCondition.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterCondition.java
new file mode 100644
index 0000000000000000000000000000000000000000..46e45613301030759a01d78e3f3c833a210b1422
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterCondition.java
@@ -0,0 +1,279 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Filter Condition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeCondition <em>Time Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getAccuracyCondition <em>Accuracy Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionCondition <em>Position Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeMinInterval <em>Time Min Interval</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionDelta <em>Position Delta</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getSensorIdCondition <em>Sensor Id Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getFilterStructure <em>Filter Structure</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCell <em>Position Condition Cell</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getIdCondition <em>Id Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getCategoryCondition <em>Category Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCellId <em>Position Condition Cell Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition()
+ * @model
+ * @generated
+ */
+public interface EventFilterCondition extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Time Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Time Condition</em>' attribute.
+	 * @see #setTimeCondition(ArrayList)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_TimeCondition()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringArray" transient="true"
+	 * @generated
+	 */
+	ArrayList<String[]> getTimeCondition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeCondition <em>Time Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Time Condition</em>' attribute.
+	 * @see #getTimeCondition()
+	 * @generated
+	 */
+	void setTimeCondition(ArrayList<String[]> value);
+
+	/**
+	 * Returns the value of the '<em><b>Accuracy Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Accuracy Condition</em>' attribute.
+	 * @see #setAccuracyCondition(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_AccuracyCondition()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float" transient="true"
+	 * @generated
+	 */
+	float getAccuracyCondition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getAccuracyCondition <em>Accuracy Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Accuracy Condition</em>' attribute.
+	 * @see #getAccuracyCondition()
+	 * @generated
+	 */
+	void setAccuracyCondition(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Position Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position Condition</em>' attribute.
+	 * @see #setPositionCondition(ArrayList)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_PositionCondition()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.FloatArray" transient="true"
+	 * @generated
+	 */
+	ArrayList<Float[]> getPositionCondition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionCondition <em>Position Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position Condition</em>' attribute.
+	 * @see #getPositionCondition()
+	 * @generated
+	 */
+	void setPositionCondition(ArrayList<Float[]> value);
+
+	/**
+	 * Returns the value of the '<em><b>Time Min Interval</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Time Min Interval</em>' attribute.
+	 * @see #setTimeMinInterval(int)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_TimeMinInterval()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Int"
+	 * @generated
+	 */
+	int getTimeMinInterval();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeMinInterval <em>Time Min Interval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Time Min Interval</em>' attribute.
+	 * @see #getTimeMinInterval()
+	 * @generated
+	 */
+	void setTimeMinInterval(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Position Delta</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position Delta</em>' attribute.
+	 * @see #setPositionDelta(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_PositionDelta()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float" transient="true"
+	 * @generated
+	 */
+	float getPositionDelta();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionDelta <em>Position Delta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position Delta</em>' attribute.
+	 * @see #getPositionDelta()
+	 * @generated
+	 */
+	void setPositionDelta(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Sensor Id Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sensor Id Condition</em>' attribute.
+	 * @see #setSensorIdCondition(List)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_SensorIdCondition()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList" transient="true"
+	 * @generated
+	 */
+	List<String> getSensorIdCondition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getSensorIdCondition <em>Sensor Id Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Sensor Id Condition</em>' attribute.
+	 * @see #getSensorIdCondition()
+	 * @generated
+	 */
+	void setSensorIdCondition(List<String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Filter Structure</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Filter Structure</em>' attribute.
+	 * @see #setFilterStructure(boolean[])
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_FilterStructure()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.BooleanList" transient="true"
+	 * @generated
+	 */
+	boolean[] getFilterStructure();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getFilterStructure <em>Filter Structure</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Filter Structure</em>' attribute.
+	 * @see #getFilterStructure()
+	 * @generated
+	 */
+	void setFilterStructure(boolean[] value);
+
+	/**
+	 * Returns the value of the '<em><b>Position Condition Cell</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position Condition Cell</em>' attribute.
+	 * @see #setPositionConditionCell(ArrayList)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_PositionConditionCell()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.FloatArray3d"
+	 * @generated
+	 */
+	ArrayList<Float[][]> getPositionConditionCell();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCell <em>Position Condition Cell</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position Condition Cell</em>' attribute.
+	 * @see #getPositionConditionCell()
+	 * @generated
+	 */
+	void setPositionConditionCell(ArrayList<Float[][]> value);
+
+	/**
+	 * Returns the value of the '<em><b>Id Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id Condition</em>' attribute.
+	 * @see #setIdCondition(List)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_IdCondition()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
+	 * @generated
+	 */
+	List<String> getIdCondition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getIdCondition <em>Id Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id Condition</em>' attribute.
+	 * @see #getIdCondition()
+	 * @generated
+	 */
+	void setIdCondition(List<String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Category Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Category Condition</em>' attribute.
+	 * @see #setCategoryCondition(List)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_CategoryCondition()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
+	 * @generated
+	 */
+	List<String> getCategoryCondition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getCategoryCondition <em>Category Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Category Condition</em>' attribute.
+	 * @see #getCategoryCondition()
+	 * @generated
+	 */
+	void setCategoryCondition(List<String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Position Condition Cell Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position Condition Cell Id</em>' attribute.
+	 * @see #setPositionConditionCellId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterCondition_PositionConditionCellId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getPositionConditionCellId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCellId <em>Position Condition Cell Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position Condition Cell Id</em>' attribute.
+	 * @see #getPositionConditionCellId()
+	 * @generated
+	 */
+	void setPositionConditionCellId(String value);
+
+} // EventFilterCondition
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterConfiguration.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterConfiguration.java
new file mode 100644
index 0000000000000000000000000000000000000000..23300598f997de738c874155d4a111a8eb859c05
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterConfiguration.java
@@ -0,0 +1,109 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Filter Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityStrategy <em>Position Ambiguity Strategy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityParameters <em>Position Ambiguity Parameters</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getFilterCriteria <em>Filter Criteria</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getEventfiltercondition <em>Eventfiltercondition</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterConfiguration()
+ * @model
+ * @generated
+ */
+public interface EventFilterConfiguration extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Position Ambiguity Strategy</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position Ambiguity Strategy</em>' attribute.
+	 * @see #setPositionAmbiguityStrategy(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterConfiguration_PositionAmbiguityStrategy()
+	 * @model
+	 * @generated
+	 */
+	String getPositionAmbiguityStrategy();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityStrategy <em>Position Ambiguity Strategy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position Ambiguity Strategy</em>' attribute.
+	 * @see #getPositionAmbiguityStrategy()
+	 * @generated
+	 */
+	void setPositionAmbiguityStrategy(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Position Ambiguity Parameters</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position Ambiguity Parameters</em>' attribute.
+	 * @see #setPositionAmbiguityParameters(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterConfiguration_PositionAmbiguityParameters()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, String> getPositionAmbiguityParameters();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityParameters <em>Position Ambiguity Parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position Ambiguity Parameters</em>' attribute.
+	 * @see #getPositionAmbiguityParameters()
+	 * @generated
+	 */
+	void setPositionAmbiguityParameters(Map<String, String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Filter Criteria</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Filter Criteria</em>' attribute.
+	 * @see #setFilterCriteria(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterConfiguration_FilterCriteria()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, EObject> getFilterCriteria();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getFilterCriteria <em>Filter Criteria</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Filter Criteria</em>' attribute.
+	 * @see #getFilterCriteria()
+	 * @generated
+	 */
+	void setFilterCriteria(Map<String, EObject> value);
+
+	/**
+	 * Returns the value of the '<em><b>Eventfiltercondition</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Eventfiltercondition</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getEventFilterConfiguration_Eventfiltercondition()
+	 * @model
+	 * @generated
+	 */
+	EList<EventFilterCondition> getEventfiltercondition();
+
+} // EventFilterConfiguration
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Gaussian.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Gaussian.java
new file mode 100644
index 0000000000000000000000000000000000000000..a24db9029097a70ac2ebf91ddcc6964a6e8f5251
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Gaussian.java
@@ -0,0 +1,45 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Gaussian</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Gaussian#getConfidenceInterval <em>Confidence Interval</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getGaussian()
+ * @model
+ * @generated
+ */
+public interface Gaussian extends Accuracy {
+	/**
+	 * Returns the value of the '<em><b>Confidence Interval</b></em>' attribute.
+	 * The default value is <code>"0.0"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Confidence Interval</em>' attribute.
+	 * @see #setConfidenceInterval(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getGaussian_ConfidenceInterval()
+	 * @model default="0.0"
+	 * @generated
+	 */
+	float getConfidenceInterval();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Gaussian#getConfidenceInterval <em>Confidence Interval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Confidence Interval</em>' attribute.
+	 * @see #getConfidenceInterval()
+	 * @generated
+	 */
+	void setConfidenceInterval(float value);
+
+} // Gaussian
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IMU.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IMU.java
new file mode 100644
index 0000000000000000000000000000000000000000..a8a4fa1cdc600a32da9106493296e87eff0b98c1
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IMU.java
@@ -0,0 +1,90 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IMU</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAngularrate <em>Angularrate</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAcceleration <em>Acceleration</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getSensorId <em>Sensor Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getIMU()
+ * @model
+ * @generated
+ */
+public interface IMU extends RawdataEvent {
+	/**
+	 * Returns the value of the '<em><b>Angularrate</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Angularrate</em>' reference.
+	 * @see #setAngularrate(Quaternion)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getIMU_Angularrate()
+	 * @model required="true"
+	 * @generated
+	 */
+	Quaternion getAngularrate();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAngularrate <em>Angularrate</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Angularrate</em>' reference.
+	 * @see #getAngularrate()
+	 * @generated
+	 */
+	void setAngularrate(Quaternion value);
+
+	/**
+	 * Returns the value of the '<em><b>Acceleration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Acceleration</em>' reference.
+	 * @see #setAcceleration(Acceleration)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getIMU_Acceleration()
+	 * @model required="true"
+	 * @generated
+	 */
+	Acceleration getAcceleration();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAcceleration <em>Acceleration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Acceleration</em>' reference.
+	 * @see #getAcceleration()
+	 * @generated
+	 */
+	void setAcceleration(Acceleration value);
+
+	/**
+	 * Returns the value of the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sensor Id</em>' attribute.
+	 * @see #setSensorId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getIMU_SensorId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getSensorId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getSensorId <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Sensor Id</em>' attribute.
+	 * @see #getSensorId()
+	 * @generated
+	 */
+	void setSensorId(String value);
+
+} // IMU
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..54ad4b32e24c9430484b8ac10161290c80c12900
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelFactory.java
@@ -0,0 +1,439 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+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 ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage
+ * @generated
+ */
+public interface IPos_DatamodelFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	IPos_DatamodelFactory eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelFactoryImpl
+			.init();
+
+	/**
+	 * Returns a new object of class '<em>Agent</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Agent</em>'.
+	 * @generated
+	 */
+	Agent createAgent();
+
+	/**
+	 * Returns a new object of class '<em>Entity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity</em>'.
+	 * @generated
+	 */
+	Entity createEntity();
+
+	/**
+	 * Returns a new object of class '<em>Localizable Object</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Localizable Object</em>'.
+	 * @generated
+	 */
+	LocalizableObject createLocalizableObject();
+
+	/**
+	 * Returns a new object of class '<em>Placing</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Placing</em>'.
+	 * @generated
+	 */
+	Placing createPlacing();
+
+	/**
+	 * Returns a new object of class '<em>Position</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Position</em>'.
+	 * @generated
+	 */
+	Position createPosition();
+
+	/**
+	 * Returns a new object of class '<em>Orientation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Orientation</em>'.
+	 * @generated
+	 */
+	Orientation createOrientation();
+
+	/**
+	 * Returns a new object of class '<em>WGS84 Point</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>WGS84 Point</em>'.
+	 * @generated
+	 */
+	WGS84Point createWGS84Point();
+
+	/**
+	 * Returns a new object of class '<em>Accuracy</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Accuracy</em>'.
+	 * @generated
+	 */
+	Accuracy createAccuracy();
+
+	/**
+	 * Returns a new object of class '<em>Point2 D</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Point2 D</em>'.
+	 * @generated
+	 */
+	Point2D createPoint2D();
+
+	/**
+	 * Returns a new object of class '<em>Point3 D</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Point3 D</em>'.
+	 * @generated
+	 */
+	Point3D createPoint3D();
+
+	/**
+	 * Returns a new object of class '<em>Reference System</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Reference System</em>'.
+	 * @generated
+	 */
+	ReferenceSystem createReferenceSystem();
+
+	/**
+	 * Returns a new object of class '<em>Zone</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Zone</em>'.
+	 * @generated
+	 */
+	Zone createZone();
+
+	/**
+	 * Returns a new object of class '<em>Zone Map</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Zone Map</em>'.
+	 * @generated
+	 */
+	ZoneMap createZoneMap();
+
+	/**
+	 * Returns a new object of class '<em>Space</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Space</em>'.
+	 * @generated
+	 */
+	Space createSpace();
+
+	/**
+	 * Returns a new object of class '<em>Map Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Map Type</em>'.
+	 * @generated
+	 */
+	MapType createMapType();
+
+	/**
+	 * Returns a new object of class '<em>Quaternion</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Quaternion</em>'.
+	 * @generated
+	 */
+	Quaternion createQuaternion();
+
+	/**
+	 * Returns a new object of class '<em>Gaussian</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Gaussian</em>'.
+	 * @generated
+	 */
+	Gaussian createGaussian();
+
+	/**
+	 * Returns a new object of class '<em>Point</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Point</em>'.
+	 * @generated
+	 */
+	Point createPoint();
+
+	/**
+	 * Returns a new object of class '<em>Rawdata Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Rawdata Event</em>'.
+	 * @generated
+	 */
+	RawdataEvent createRawdataEvent();
+
+	/**
+	 * Returns a new object of class '<em>Proximity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Proximity</em>'.
+	 * @generated
+	 */
+	Proximity createProximity();
+
+	/**
+	 * Returns a new object of class '<em>RFID</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>RFID</em>'.
+	 * @generated
+	 */
+	RFID createRFID();
+
+	/**
+	 * Returns a new object of class '<em>NFC</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>NFC</em>'.
+	 * @generated
+	 */
+	NFC createNFC();
+
+	/**
+	 * Returns a new object of class '<em>IMU</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IMU</em>'.
+	 * @generated
+	 */
+	IMU createIMU();
+
+	/**
+	 * Returns a new object of class '<em>Acceleration</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Acceleration</em>'.
+	 * @generated
+	 */
+	Acceleration createAcceleration();
+
+	/**
+	 * Returns a new object of class '<em>Beacon</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Beacon</em>'.
+	 * @generated
+	 */
+	Beacon createBeacon();
+
+	/**
+	 * Returns a new object of class '<em>Position Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Position Event</em>'.
+	 * @generated
+	 */
+	PositionEvent createPositionEvent();
+
+	/**
+	 * Returns a new object of class '<em>Tracking Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Tracking Request</em>'.
+	 * @generated
+	 */
+	TrackingRequest createTrackingRequest();
+
+	/**
+	 * Returns a new object of class '<em>Monitoring Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Monitoring Request</em>'.
+	 * @generated
+	 */
+	MonitoringRequest createMonitoringRequest();
+
+	/**
+	 * Returns a new object of class '<em>World Model Update Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>World Model Update Request</em>'.
+	 * @generated
+	 */
+	WorldModelUpdateRequest createWorldModelUpdateRequest();
+
+	/**
+	 * Returns a new object of class '<em>Data Storage Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Data Storage Request</em>'.
+	 * @generated
+	 */
+	DataStorageRequest createDataStorageRequest();
+
+	/**
+	 * Returns a new object of class '<em>Event Filter Configuration</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Event Filter Configuration</em>'.
+	 * @generated
+	 */
+	EventFilterConfiguration createEventFilterConfiguration();
+
+	/**
+	 * Returns a new object of class '<em>World Model Query Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>World Model Query Request</em>'.
+	 * @generated
+	 */
+	WorldModelQueryRequest createWorldModelQueryRequest();
+
+	/**
+	 * Returns a new object of class '<em>Data Storage Query Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Data Storage Query Request</em>'.
+	 * @generated
+	 */
+	DataStorageQueryRequest createDataStorageQueryRequest();
+
+	/**
+	 * Returns a new object of class '<em>Agent Registration Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Agent Registration Request</em>'.
+	 * @generated
+	 */
+	AgentRegistrationRequest createAgentRegistrationRequest();
+
+	/**
+	 * Returns a new object of class '<em>Monitoring Task</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Monitoring Task</em>'.
+	 * @generated
+	 */
+	MonitoringTask createMonitoringTask();
+
+	/**
+	 * Returns a new object of class '<em>Tracking Task</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Tracking Task</em>'.
+	 * @generated
+	 */
+	TrackingTask createTrackingTask();
+
+	/**
+	 * Returns a new object of class '<em>World Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>World Model</em>'.
+	 * @generated
+	 */
+	WorldModel createWorldModel();
+
+	/**
+	 * Returns a new object of class '<em>Barcode</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Barcode</em>'.
+	 * @generated
+	 */
+	Barcode createBarcode();
+
+	/**
+	 * Returns a new object of class '<em>Other Prox</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Other Prox</em>'.
+	 * @generated
+	 */
+	OtherProx createOtherProx();
+
+	/**
+	 * Returns a new object of class '<em>Bluetooth</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Bluetooth</em>'.
+	 * @generated
+	 */
+	Bluetooth createBluetooth();
+
+	/**
+	 * Returns a new object of class '<em>UWB</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>UWB</em>'.
+	 * @generated
+	 */
+	UWB createUWB();
+
+	/**
+	 * Returns a new object of class '<em>Sensor Configuration Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Sensor Configuration Request</em>'.
+	 * @generated
+	 */
+	SensorConfigurationRequest createSensorConfigurationRequest();
+
+	/**
+	 * Returns a new object of class '<em>Other Beacon</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Other Beacon</em>'.
+	 * @generated
+	 */
+	OtherBeacon createOtherBeacon();
+
+	/**
+	 * Returns a new object of class '<em>POI</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>POI</em>'.
+	 * @generated
+	 */
+	POI createPOI();
+
+	/**
+	 * Returns a new object of class '<em>Event Filter Condition</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Event Filter Condition</em>'.
+	 * @generated
+	 */
+	EventFilterCondition createEventFilterCondition();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	IPos_DatamodelPackage getIPos_DatamodelPackage();
+
+} //IPos_DatamodelFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelPackage.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelPackage.java
new file mode 100644
index 0000000000000000000000000000000000000000..52b0a1cb073c315c4f0b0a295b5493a8ea49dd87
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelPackage.java
@@ -0,0 +1,5267 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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 ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface IPos_DatamodelPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "iPos_Datamodel";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.example.org/iPos_Datamodel";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "iPos_Datamodel";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	IPos_DatamodelPackage eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl
+			.init();
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EntityImpl <em>Entity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.EntityImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEntity()
+	 * @generated
+	 */
+	int ENTITY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY__ID = 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Entity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentImpl <em>Agent</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAgent()
+	 * @generated
+	 */
+	int AGENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__ID = ENTITY__ID;
+
+	/**
+	 * The feature id for the '<em><b>LObject</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__LOBJECT = ENTITY_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__AGENT_TYPE = ENTITY_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Agent</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_FEATURE_COUNT = ENTITY_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Agent</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_OPERATION_COUNT = ENTITY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl <em>Localizable Object</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getLocalizableObject()
+	 * @generated
+	 */
+	int LOCALIZABLE_OBJECT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCALIZABLE_OBJECT__ID = ENTITY__ID;
+
+	/**
+	 * The feature id for the '<em><b>Last Pos Update</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCALIZABLE_OBJECT__LAST_POS_UPDATE = ENTITY_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCALIZABLE_OBJECT__SENSOR_TYPE = ENTITY_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Agent</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCALIZABLE_OBJECT__AGENT = ENTITY_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Current Placing</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCALIZABLE_OBJECT__CURRENT_PLACING = ENTITY_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Localizable Object</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCALIZABLE_OBJECT_FEATURE_COUNT = ENTITY_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Localizable Object</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCALIZABLE_OBJECT_OPERATION_COUNT = ENTITY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PlacingImpl <em>Placing</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PlacingImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPlacing()
+	 * @generated
+	 */
+	int PLACING = 3;
+
+	/**
+	 * The feature id for the '<em><b>Position</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PLACING__POSITION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Orientation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PLACING__ORIENTATION = 1;
+
+	/**
+	 * The number of structural features of the '<em>Placing</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PLACING_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Placing</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PLACING_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionImpl <em>Position</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPosition()
+	 * @generated
+	 */
+	int POSITION = 4;
+
+	/**
+	 * The feature id for the '<em><b>Accuracy</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION__ACCURACY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Point</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION__POINT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Reference System</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION__REFERENCE_SYSTEM = 2;
+
+	/**
+	 * The number of structural features of the '<em>Position</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Position</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OrientationImpl <em>Orientation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.OrientationImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOrientation()
+	 * @generated
+	 */
+	int ORIENTATION = 5;
+
+	/**
+	 * The number of structural features of the '<em>Orientation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ORIENTATION_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Orientation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ORIENTATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PointImpl <em>Point</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PointImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPoint()
+	 * @generated
+	 */
+	int POINT = 17;
+
+	/**
+	 * The number of structural features of the '<em>Point</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Point</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WGS84PointImpl <em>WGS84 Point</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WGS84PointImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWGS84Point()
+	 * @generated
+	 */
+	int WGS84_POINT = 6;
+
+	/**
+	 * The feature id for the '<em><b>Longitude</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WGS84_POINT__LONGITUDE = POINT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Latitude</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WGS84_POINT__LATITUDE = POINT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Altitude</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WGS84_POINT__ALTITUDE = POINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>WGS84 Point</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WGS84_POINT_FEATURE_COUNT = POINT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>WGS84 Point</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WGS84_POINT_OPERATION_COUNT = POINT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AccuracyImpl <em>Accuracy</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AccuracyImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAccuracy()
+	 * @generated
+	 */
+	int ACCURACY = 7;
+
+	/**
+	 * The number of structural features of the '<em>Accuracy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCURACY_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Accuracy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCURACY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point2DImpl <em>Point2 D</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.Point2DImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPoint2D()
+	 * @generated
+	 */
+	int POINT2_D = 8;
+
+	/**
+	 * The feature id for the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT2_D__X = POINT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT2_D__Y = POINT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Point2 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT2_D_FEATURE_COUNT = POINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Point2 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT2_D_OPERATION_COUNT = POINT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point3DImpl <em>Point3 D</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.Point3DImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPoint3D()
+	 * @generated
+	 */
+	int POINT3_D = 9;
+
+	/**
+	 * The feature id for the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT3_D__X = POINT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT3_D__Y = POINT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT3_D__Z = POINT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Point3 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT3_D_FEATURE_COUNT = POINT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Point3 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POINT3_D_OPERATION_COUNT = POINT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ReferenceSystemImpl <em>Reference System</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ReferenceSystemImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getReferenceSystem()
+	 * @generated
+	 */
+	int REFERENCE_SYSTEM = 10;
+
+	/**
+	 * The feature id for the '<em><b>Origin</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SYSTEM__ORIGIN = 0;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SYSTEM__NAME = 1;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SYSTEM__ID = 2;
+
+	/**
+	 * The number of structural features of the '<em>Reference System</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SYSTEM_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Reference System</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SYSTEM_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneImpl <em>Zone</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getZone()
+	 * @generated
+	 */
+	int ZONE = 11;
+
+	/**
+	 * The feature id for the '<em><b>Space</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE__SPACE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE__NAME = 1;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE__ID = 2;
+
+	/**
+	 * The number of structural features of the '<em>Zone</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Zone</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MapTypeImpl <em>Map Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MapTypeImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMapType()
+	 * @generated
+	 */
+	int MAP_TYPE = 14;
+
+	/**
+	 * The number of structural features of the '<em>Map Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAP_TYPE_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Map Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAP_TYPE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneMapImpl <em>Zone Map</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneMapImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getZoneMap()
+	 * @generated
+	 */
+	int ZONE_MAP = 12;
+
+	/**
+	 * The feature id for the '<em><b>Zone</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE_MAP__ZONE = MAP_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Zone Map</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE_MAP_FEATURE_COUNT = MAP_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Zone Map</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZONE_MAP_OPERATION_COUNT = MAP_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl <em>Space</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getSpace()
+	 * @generated
+	 */
+	int SPACE = 13;
+
+	/**
+	 * The feature id for the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPACE__X = 0;
+
+	/**
+	 * The feature id for the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPACE__Y = 1;
+
+	/**
+	 * The feature id for the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPACE__Z = 2;
+
+	/**
+	 * The feature id for the '<em><b>Centre Point</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPACE__CENTRE_POINT = 3;
+
+	/**
+	 * The number of structural features of the '<em>Space</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPACE_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Space</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPACE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl <em>Quaternion</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getQuaternion()
+	 * @generated
+	 */
+	int QUATERNION = 15;
+
+	/**
+	 * The feature id for the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int QUATERNION__X = ORIENTATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int QUATERNION__Y = ORIENTATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int QUATERNION__Z = ORIENTATION_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>W</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int QUATERNION__W = ORIENTATION_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Quaternion</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int QUATERNION_FEATURE_COUNT = ORIENTATION_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Quaternion</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int QUATERNION_OPERATION_COUNT = ORIENTATION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.GaussianImpl <em>Gaussian</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.GaussianImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getGaussian()
+	 * @generated
+	 */
+	int GAUSSIAN = 16;
+
+	/**
+	 * The feature id for the '<em><b>Confidence Interval</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GAUSSIAN__CONFIDENCE_INTERVAL = ACCURACY_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Gaussian</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GAUSSIAN_FEATURE_COUNT = ACCURACY_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Gaussian</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GAUSSIAN_OPERATION_COUNT = ACCURACY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.RawdataEventImpl <em>Rawdata Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.RawdataEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getRawdataEvent()
+	 * @generated
+	 */
+	int RAWDATA_EVENT = 18;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAWDATA_EVENT__TIME_STAMP = 0;
+
+	/**
+	 * The number of structural features of the '<em>Rawdata Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAWDATA_EVENT_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Rawdata Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAWDATA_EVENT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ProximityImpl <em>Proximity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ProximityImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getProximity()
+	 * @generated
+	 */
+	int PROXIMITY = 19;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXIMITY__TIME_STAMP = RAWDATA_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXIMITY__TAG_ID = RAWDATA_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXIMITY__TYPE = RAWDATA_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Scanner Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXIMITY__SCANNER_ID = RAWDATA_EVENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Proximity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXIMITY_FEATURE_COUNT = RAWDATA_EVENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Proximity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROXIMITY_OPERATION_COUNT = RAWDATA_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.RFIDImpl <em>RFID</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.RFIDImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getRFID()
+	 * @generated
+	 */
+	int RFID = 20;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RFID__TIME_STAMP = PROXIMITY__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RFID__TAG_ID = PROXIMITY__TAG_ID;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RFID__TYPE = PROXIMITY__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Scanner Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RFID__SCANNER_ID = PROXIMITY__SCANNER_ID;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RFID__LOCATION = PROXIMITY_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>RFID</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RFID_FEATURE_COUNT = PROXIMITY_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>RFID</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RFID_OPERATION_COUNT = PROXIMITY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.NFCImpl <em>NFC</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.NFCImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getNFC()
+	 * @generated
+	 */
+	int NFC = 21;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NFC__TIME_STAMP = PROXIMITY__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NFC__TAG_ID = PROXIMITY__TAG_ID;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NFC__TYPE = PROXIMITY__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Scanner Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NFC__SCANNER_ID = PROXIMITY__SCANNER_ID;
+
+	/**
+	 * The feature id for the '<em><b>Tag Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NFC__TAG_DATA = PROXIMITY_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>NFC</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NFC_FEATURE_COUNT = PROXIMITY_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>NFC</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NFC_OPERATION_COUNT = PROXIMITY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.IMUImpl <em>IMU</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IMUImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getIMU()
+	 * @generated
+	 */
+	int IMU = 22;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMU__TIME_STAMP = RAWDATA_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Angularrate</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMU__ANGULARRATE = RAWDATA_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Acceleration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMU__ACCELERATION = RAWDATA_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMU__SENSOR_ID = RAWDATA_EVENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>IMU</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMU_FEATURE_COUNT = RAWDATA_EVENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>IMU</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IMU_OPERATION_COUNT = RAWDATA_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AccelerationImpl <em>Acceleration</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AccelerationImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAcceleration()
+	 * @generated
+	 */
+	int ACCELERATION = 23;
+
+	/**
+	 * The feature id for the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCELERATION__X = 0;
+
+	/**
+	 * The feature id for the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCELERATION__Y = 1;
+
+	/**
+	 * The feature id for the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCELERATION__Z = 2;
+
+	/**
+	 * The number of structural features of the '<em>Acceleration</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCELERATION_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Acceleration</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCELERATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BeaconImpl <em>Beacon</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.BeaconImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBeacon()
+	 * @generated
+	 */
+	int BEACON = 24;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEACON__TIME_STAMP = RAWDATA_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEACON__DISTANCES = RAWDATA_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEACON__TYPE = RAWDATA_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEACON__SENSOR_ID = RAWDATA_EVENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Beacon</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEACON_FEATURE_COUNT = RAWDATA_EVENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Beacon</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEACON_OPERATION_COUNT = RAWDATA_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl <em>Position Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPositionEvent()
+	 * @generated
+	 */
+	int POSITION_EVENT = 25;
+
+	/**
+	 * The feature id for the '<em><b>Placing</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION_EVENT__PLACING = 0;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION_EVENT__TIME_STAMP = 1;
+
+	/**
+	 * The feature id for the '<em><b>LObject Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION_EVENT__LOBJECT_ID = 2;
+
+	/**
+	 * The number of structural features of the '<em>Position Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION_EVENT_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Position Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POSITION_EVENT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl <em>Tracking Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getTrackingRequest()
+	 * @generated
+	 */
+	int TRACKING_REQUEST = 26;
+
+	/**
+	 * The number of structural features of the '<em>Tracking Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACKING_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Tracking Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACKING_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl <em>Monitoring Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMonitoringRequest()
+	 * @generated
+	 */
+	int MONITORING_REQUEST = 27;
+
+	/**
+	 * The feature id for the '<em><b>Frame Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__FRAME_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Delta</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__DELTA = 1;
+
+	/**
+	 * The feature id for the '<em><b>Update Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__UPDATE_FREQUENCY = 2;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__TYPE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__ID = 4;
+
+	/**
+	 * The feature id for the '<em><b>Fusion Strategy</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__FUSION_STRATEGY = 5;
+
+	/**
+	 * The feature id for the '<em><b>Exit Notification</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__EXIT_NOTIFICATION = 6;
+
+	/**
+	 * The feature id for the '<em><b>Properties</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__PROPERTIES = 7;
+
+	/**
+	 * The feature id for the '<em><b>Monitoring Task Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__MONITORING_TASK_ID = 8;
+
+	/**
+	 * The feature id for the '<em><b>Requestor Protocol</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__REQUESTOR_PROTOCOL = 9;
+
+	/**
+	 * The number of structural features of the '<em>Monitoring Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST_FEATURE_COUNT = 10;
+
+	/**
+	 * The number of operations of the '<em>Monitoring Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl <em>World Model Update Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelUpdateRequest()
+	 * @generated
+	 */
+	int WORLD_MODEL_UPDATE_REQUEST = 28;
+
+	/**
+	 * The number of structural features of the '<em>World Model Update Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_UPDATE_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>World Model Update Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_UPDATE_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl <em>Data Storage Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageRequest()
+	 * @generated
+	 */
+	int DATA_STORAGE_REQUEST = 29;
+
+	/**
+	 * The number of structural features of the '<em>Data Storage Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Data Storage Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl <em>Event Filter Configuration</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEventFilterConfiguration()
+	 * @generated
+	 */
+	int EVENT_FILTER_CONFIGURATION = 30;
+
+	/**
+	 * The feature id for the '<em><b>Position Ambiguity Strategy</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Position Ambiguity Parameters</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Filter Criteria</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA = 2;
+
+	/**
+	 * The feature id for the '<em><b>Eventfiltercondition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION = 3;
+
+	/**
+	 * The number of structural features of the '<em>Event Filter Configuration</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONFIGURATION_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Event Filter Configuration</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONFIGURATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl <em>World Model Query Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelQueryRequest()
+	 * @generated
+	 */
+	int WORLD_MODEL_QUERY_REQUEST = 31;
+
+	/**
+	 * The number of structural features of the '<em>World Model Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_QUERY_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>World Model Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_QUERY_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl <em>Data Storage Query Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageQueryRequest()
+	 * @generated
+	 */
+	int DATA_STORAGE_QUERY_REQUEST = 32;
+
+	/**
+	 * The number of structural features of the '<em>Data Storage Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_QUERY_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Data Storage Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_QUERY_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl <em>Agent Registration Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAgentRegistrationRequest()
+	 * @generated
+	 */
+	int AGENT_REGISTRATION_REQUEST = 33;
+
+	/**
+	 * The number of structural features of the '<em>Agent Registration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_REGISTRATION_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Agent Registration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_REGISTRATION_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringTaskImpl <em>Monitoring Task</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringTaskImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMonitoringTask()
+	 * @generated
+	 */
+	int MONITORING_TASK = 34;
+
+	/**
+	 * The feature id for the '<em><b>Eventfilterconfiguration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_TASK__EVENTFILTERCONFIGURATION = 0;
+
+	/**
+	 * The number of structural features of the '<em>Monitoring Task</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_TASK_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Monitoring Task</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_TASK_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingTaskImpl <em>Tracking Task</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingTaskImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getTrackingTask()
+	 * @generated
+	 */
+	int TRACKING_TASK = 35;
+
+	/**
+	 * The feature id for the '<em><b>Eventfilterconfiguration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACKING_TASK__EVENTFILTERCONFIGURATION = 0;
+
+	/**
+	 * The number of structural features of the '<em>Tracking Task</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACKING_TASK_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Tracking Task</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACKING_TASK_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl <em>World Model</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModel()
+	 * @generated
+	 */
+	int WORLD_MODEL = 36;
+
+	/**
+	 * The feature id for the '<em><b>Agent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL__AGENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Zone Map</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL__ZONE_MAP = 1;
+
+	/**
+	 * The feature id for the '<em><b>Pois</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL__POIS = 2;
+
+	/**
+	 * The feature id for the '<em><b>Reference System</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL__REFERENCE_SYSTEM = 3;
+
+	/**
+	 * The number of structural features of the '<em>World Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>World Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BarcodeImpl <em>Barcode</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.BarcodeImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBarcode()
+	 * @generated
+	 */
+	int BARCODE = 37;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BARCODE__TIME_STAMP = PROXIMITY__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BARCODE__TAG_ID = PROXIMITY__TAG_ID;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BARCODE__TYPE = PROXIMITY__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Scanner Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BARCODE__SCANNER_ID = PROXIMITY__SCANNER_ID;
+
+	/**
+	 * The number of structural features of the '<em>Barcode</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BARCODE_FEATURE_COUNT = PROXIMITY_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Barcode</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BARCODE_OPERATION_COUNT = PROXIMITY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherProxImpl <em>Other Prox</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherProxImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOtherProx()
+	 * @generated
+	 */
+	int OTHER_PROX = 38;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_PROX__TIME_STAMP = PROXIMITY__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_PROX__TAG_ID = PROXIMITY__TAG_ID;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_PROX__TYPE = PROXIMITY__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Scanner Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_PROX__SCANNER_ID = PROXIMITY__SCANNER_ID;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_PROX__DATA = PROXIMITY_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Other Prox</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_PROX_FEATURE_COUNT = PROXIMITY_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Other Prox</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_PROX_OPERATION_COUNT = PROXIMITY_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BluetoothImpl <em>Bluetooth</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.BluetoothImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBluetooth()
+	 * @generated
+	 */
+	int BLUETOOTH = 39;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLUETOOTH__TIME_STAMP = BEACON__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLUETOOTH__DISTANCES = BEACON__DISTANCES;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLUETOOTH__TYPE = BEACON__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLUETOOTH__SENSOR_ID = BEACON__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Rss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLUETOOTH__RSS = BEACON_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Bluetooth</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLUETOOTH_FEATURE_COUNT = BEACON_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Bluetooth</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BLUETOOTH_OPERATION_COUNT = BEACON_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.UWBImpl <em>UWB</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.UWBImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getUWB()
+	 * @generated
+	 */
+	int UWB = 40;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UWB__TIME_STAMP = BEACON__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UWB__DISTANCES = BEACON__DISTANCES;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UWB__TYPE = BEACON__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UWB__SENSOR_ID = BEACON__SENSOR_ID;
+
+	/**
+	 * The number of structural features of the '<em>UWB</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UWB_FEATURE_COUNT = BEACON_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>UWB</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UWB_OPERATION_COUNT = BEACON_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl <em>Sensor Configuration Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getSensorConfigurationRequest()
+	 * @generated
+	 */
+	int SENSOR_CONFIGURATION_REQUEST = 41;
+
+	/**
+	 * The number of structural features of the '<em>Sensor Configuration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SENSOR_CONFIGURATION_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Sensor Configuration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SENSOR_CONFIGURATION_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherBeaconImpl <em>Other Beacon</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherBeaconImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOtherBeacon()
+	 * @generated
+	 */
+	int OTHER_BEACON = 42;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_BEACON__TIME_STAMP = BEACON__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_BEACON__DISTANCES = BEACON__DISTANCES;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_BEACON__TYPE = BEACON__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_BEACON__SENSOR_ID = BEACON__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_BEACON__DATA = BEACON_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Other Beacon</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_BEACON_FEATURE_COUNT = BEACON_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Other Beacon</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OTHER_BEACON_OPERATION_COUNT = BEACON_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl <em>POI</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPOI()
+	 * @generated
+	 */
+	int POI = 43;
+
+	/**
+	 * The feature id for the '<em><b>Placing</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POI__PLACING = 0;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POI__DESCRIPTION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POI__DATA = 2;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POI__ID = 3;
+
+	/**
+	 * The number of structural features of the '<em>POI</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POI_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>POI</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int POI_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl <em>Event Filter Condition</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEventFilterCondition()
+	 * @generated
+	 */
+	int EVENT_FILTER_CONDITION = 44;
+
+	/**
+	 * The feature id for the '<em><b>Time Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__TIME_CONDITION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Accuracy Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__ACCURACY_CONDITION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Position Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__POSITION_CONDITION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Time Min Interval</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL = 3;
+
+	/**
+	 * The feature id for the '<em><b>Position Delta</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__POSITION_DELTA = 4;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION = 5;
+
+	/**
+	 * The feature id for the '<em><b>Filter Structure</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__FILTER_STRUCTURE = 6;
+
+	/**
+	 * The feature id for the '<em><b>Position Condition Cell</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL = 7;
+
+	/**
+	 * The feature id for the '<em><b>Id Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__ID_CONDITION = 8;
+
+	/**
+	 * The feature id for the '<em><b>Category Condition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__CATEGORY_CONDITION = 9;
+
+	/**
+	 * The feature id for the '<em><b>Position Condition Cell Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID = 10;
+
+	/**
+	 * The number of structural features of the '<em>Event Filter Condition</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION_FEATURE_COUNT = 11;
+
+	/**
+	 * The number of operations of the '<em>Event Filter Condition</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT_FILTER_CONDITION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '<em>String List</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see java.util.List
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getStringList()
+	 * @generated
+	 */
+	int STRING_LIST = 45;
+
+	/**
+	 * The meta object id for the '<em>String Array</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getStringArray()
+	 * @generated
+	 */
+	int STRING_ARRAY = 46;
+
+	/**
+	 * The meta object id for the '<em>Float Array3d</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getFloatArray3d()
+	 * @generated
+	 */
+	int FLOAT_ARRAY3D = 47;
+
+	/**
+	 * The meta object id for the '<em>Boolean List</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBooleanList()
+	 * @generated
+	 */
+	int BOOLEAN_LIST = 48;
+
+	/**
+	 * The meta object id for the '<em>Float Array</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getFloatArray()
+	 * @generated
+	 */
+	int FLOAT_ARRAY = 49;
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Agent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Agent</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Agent
+	 * @generated
+	 */
+	EClass getAgent();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.Agent#getLObject <em>LObject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>LObject</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Agent#getLObject()
+	 * @see #getAgent()
+	 * @generated
+	 */
+	EReference getAgent_LObject();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Agent#getAgentType <em>Agent Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Agent Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Agent#getAgentType()
+	 * @see #getAgent()
+	 * @generated
+	 */
+	EAttribute getAgent_AgentType();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Entity <em>Entity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Entity
+	 * @generated
+	 */
+	EClass getEntity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Entity#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Entity#getId()
+	 * @see #getEntity()
+	 * @generated
+	 */
+	EAttribute getEntity_Id();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject <em>Localizable Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Localizable Object</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject
+	 * @generated
+	 */
+	EClass getLocalizableObject();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getLastPosUpdate <em>Last Pos Update</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Last Pos Update</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getLastPosUpdate()
+	 * @see #getLocalizableObject()
+	 * @generated
+	 */
+	EAttribute getLocalizableObject_LastPosUpdate();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getSensorType <em>Sensor Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Sensor Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getSensorType()
+	 * @see #getLocalizableObject()
+	 * @generated
+	 */
+	EAttribute getLocalizableObject_SensorType();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getAgent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Agent</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getAgent()
+	 * @see #getLocalizableObject()
+	 * @generated
+	 */
+	EReference getLocalizableObject_Agent();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getCurrentPlacing <em>Current Placing</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Current Placing</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getCurrentPlacing()
+	 * @see #getLocalizableObject()
+	 * @generated
+	 */
+	EReference getLocalizableObject_CurrentPlacing();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing <em>Placing</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Placing</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Placing
+	 * @generated
+	 */
+	EClass getPlacing();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing#getPosition <em>Position</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Position</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Placing#getPosition()
+	 * @see #getPlacing()
+	 * @generated
+	 */
+	EReference getPlacing_Position();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing#getOrientation <em>Orientation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Orientation</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Placing#getOrientation()
+	 * @see #getPlacing()
+	 * @generated
+	 */
+	EReference getPlacing_Orientation();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position <em>Position</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Position</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Position
+	 * @generated
+	 */
+	EClass getPosition();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getAccuracy <em>Accuracy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Accuracy</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Position#getAccuracy()
+	 * @see #getPosition()
+	 * @generated
+	 */
+	EReference getPosition_Accuracy();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getPoint <em>Point</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Point</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Position#getPoint()
+	 * @see #getPosition()
+	 * @generated
+	 */
+	EReference getPosition_Point();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getReferenceSystem <em>Reference System</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Reference System</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Position#getReferenceSystem()
+	 * @see #getPosition()
+	 * @generated
+	 */
+	EReference getPosition_ReferenceSystem();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Orientation <em>Orientation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Orientation</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Orientation
+	 * @generated
+	 */
+	EClass getOrientation();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point <em>WGS84 Point</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>WGS84 Point</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point
+	 * @generated
+	 */
+	EClass getWGS84Point();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLongitude <em>Longitude</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Longitude</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLongitude()
+	 * @see #getWGS84Point()
+	 * @generated
+	 */
+	EAttribute getWGS84Point_Longitude();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLatitude <em>Latitude</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Latitude</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLatitude()
+	 * @see #getWGS84Point()
+	 * @generated
+	 */
+	EAttribute getWGS84Point_Latitude();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getAltitude <em>Altitude</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Altitude</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getAltitude()
+	 * @see #getWGS84Point()
+	 * @generated
+	 */
+	EAttribute getWGS84Point_Altitude();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Accuracy <em>Accuracy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Accuracy</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Accuracy
+	 * @generated
+	 */
+	EClass getAccuracy();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D <em>Point2 D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Point2 D</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point2D
+	 * @generated
+	 */
+	EClass getPoint2D();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getX <em>X</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>X</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getX()
+	 * @see #getPoint2D()
+	 * @generated
+	 */
+	EAttribute getPoint2D_X();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getY <em>Y</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Y</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getY()
+	 * @see #getPoint2D()
+	 * @generated
+	 */
+	EAttribute getPoint2D_Y();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D <em>Point3 D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Point3 D</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point3D
+	 * @generated
+	 */
+	EClass getPoint3D();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getX <em>X</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>X</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getX()
+	 * @see #getPoint3D()
+	 * @generated
+	 */
+	EAttribute getPoint3D_X();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getY <em>Y</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Y</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getY()
+	 * @see #getPoint3D()
+	 * @generated
+	 */
+	EAttribute getPoint3D_Y();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getZ <em>Z</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Z</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getZ()
+	 * @see #getPoint3D()
+	 * @generated
+	 */
+	EAttribute getPoint3D_Z();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem <em>Reference System</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Reference System</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem
+	 * @generated
+	 */
+	EClass getReferenceSystem();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getOrigin <em>Origin</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Origin</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getOrigin()
+	 * @see #getReferenceSystem()
+	 * @generated
+	 */
+	EReference getReferenceSystem_Origin();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getName()
+	 * @see #getReferenceSystem()
+	 * @generated
+	 */
+	EAttribute getReferenceSystem_Name();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getId()
+	 * @see #getReferenceSystem()
+	 * @generated
+	 */
+	EAttribute getReferenceSystem_Id();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone <em>Zone</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Zone</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Zone
+	 * @generated
+	 */
+	EClass getZone();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#getSpace <em>Space</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Space</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Zone#getSpace()
+	 * @see #getZone()
+	 * @generated
+	 */
+	EReference getZone_Space();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Zone#getName()
+	 * @see #getZone()
+	 * @generated
+	 */
+	EAttribute getZone_Name();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Zone#getId()
+	 * @see #getZone()
+	 * @generated
+	 */
+	EAttribute getZone_Id();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap <em>Zone Map</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Zone Map</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap
+	 * @generated
+	 */
+	EClass getZoneMap();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap#getZone <em>Zone</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Zone</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap#getZone()
+	 * @see #getZoneMap()
+	 * @generated
+	 */
+	EReference getZoneMap_Zone();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space <em>Space</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Space</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Space
+	 * @generated
+	 */
+	EClass getSpace();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getX <em>X</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>X</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Space#getX()
+	 * @see #getSpace()
+	 * @generated
+	 */
+	EAttribute getSpace_X();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getY <em>Y</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Y</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Space#getY()
+	 * @see #getSpace()
+	 * @generated
+	 */
+	EAttribute getSpace_Y();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getZ <em>Z</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Z</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Space#getZ()
+	 * @see #getSpace()
+	 * @generated
+	 */
+	EAttribute getSpace_Z();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getCentrePoint <em>Centre Point</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Centre Point</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Space#getCentrePoint()
+	 * @see #getSpace()
+	 * @generated
+	 */
+	EReference getSpace_CentrePoint();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MapType <em>Map Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Map Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MapType
+	 * @generated
+	 */
+	EClass getMapType();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion <em>Quaternion</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Quaternion</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Quaternion
+	 * @generated
+	 */
+	EClass getQuaternion();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getX <em>X</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>X</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getX()
+	 * @see #getQuaternion()
+	 * @generated
+	 */
+	EAttribute getQuaternion_X();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getY <em>Y</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Y</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getY()
+	 * @see #getQuaternion()
+	 * @generated
+	 */
+	EAttribute getQuaternion_Y();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getZ <em>Z</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Z</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getZ()
+	 * @see #getQuaternion()
+	 * @generated
+	 */
+	EAttribute getQuaternion_Z();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getW <em>W</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>W</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getW()
+	 * @see #getQuaternion()
+	 * @generated
+	 */
+	EAttribute getQuaternion_W();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Gaussian <em>Gaussian</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Gaussian</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Gaussian
+	 * @generated
+	 */
+	EClass getGaussian();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Gaussian#getConfidenceInterval <em>Confidence Interval</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Confidence Interval</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Gaussian#getConfidenceInterval()
+	 * @see #getGaussian()
+	 * @generated
+	 */
+	EAttribute getGaussian_ConfidenceInterval();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point <em>Point</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Point</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Point
+	 * @generated
+	 */
+	EClass getPoint();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent <em>Rawdata Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Rawdata Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent
+	 * @generated
+	 */
+	EClass getRawdataEvent();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent#getTimeStamp <em>Time Stamp</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Time Stamp</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent#getTimeStamp()
+	 * @see #getRawdataEvent()
+	 * @generated
+	 */
+	EAttribute getRawdataEvent_TimeStamp();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity <em>Proximity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Proximity</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Proximity
+	 * @generated
+	 */
+	EClass getProximity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getTagId <em>Tag Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Tag Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getTagId()
+	 * @see #getProximity()
+	 * @generated
+	 */
+	EAttribute getProximity_TagId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getType()
+	 * @see #getProximity()
+	 * @generated
+	 */
+	EAttribute getProximity_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getScannerId <em>Scanner Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Scanner Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getScannerId()
+	 * @see #getProximity()
+	 * @generated
+	 */
+	EAttribute getProximity_ScannerId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.RFID <em>RFID</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>RFID</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.RFID
+	 * @generated
+	 */
+	EClass getRFID();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.RFID#getLocation <em>Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Location</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.RFID#getLocation()
+	 * @see #getRFID()
+	 * @generated
+	 */
+	EAttribute getRFID_Location();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.NFC <em>NFC</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>NFC</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.NFC
+	 * @generated
+	 */
+	EClass getNFC();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.NFC#getTagData <em>Tag Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Tag Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.NFC#getTagData()
+	 * @see #getNFC()
+	 * @generated
+	 */
+	EAttribute getNFC_TagData();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU <em>IMU</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>IMU</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IMU
+	 * @generated
+	 */
+	EClass getIMU();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAngularrate <em>Angularrate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Angularrate</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAngularrate()
+	 * @see #getIMU()
+	 * @generated
+	 */
+	EReference getIMU_Angularrate();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAcceleration <em>Acceleration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Acceleration</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IMU#getAcceleration()
+	 * @see #getIMU()
+	 * @generated
+	 */
+	EReference getIMU_Acceleration();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU#getSensorId <em>Sensor Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Sensor Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IMU#getSensorId()
+	 * @see #getIMU()
+	 * @generated
+	 */
+	EAttribute getIMU_SensorId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration <em>Acceleration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Acceleration</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Acceleration
+	 * @generated
+	 */
+	EClass getAcceleration();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getX <em>X</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>X</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getX()
+	 * @see #getAcceleration()
+	 * @generated
+	 */
+	EAttribute getAcceleration_X();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getY <em>Y</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Y</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getY()
+	 * @see #getAcceleration()
+	 * @generated
+	 */
+	EAttribute getAcceleration_Y();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getZ <em>Z</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Z</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Acceleration#getZ()
+	 * @see #getAcceleration()
+	 * @generated
+	 */
+	EAttribute getAcceleration_Z();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon <em>Beacon</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Beacon</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Beacon
+	 * @generated
+	 */
+	EClass getBeacon();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getDistances <em>Distances</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Distances</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getDistances()
+	 * @see #getBeacon()
+	 * @generated
+	 */
+	EAttribute getBeacon_Distances();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getType()
+	 * @see #getBeacon()
+	 * @generated
+	 */
+	EAttribute getBeacon_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getSensorId <em>Sensor Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Sensor Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Beacon#getSensorId()
+	 * @see #getBeacon()
+	 * @generated
+	 */
+	EAttribute getBeacon_SensorId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent <em>Position Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Position Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent
+	 * @generated
+	 */
+	EClass getPositionEvent();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getPlacing <em>Placing</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Placing</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getPlacing()
+	 * @see #getPositionEvent()
+	 * @generated
+	 */
+	EReference getPositionEvent_Placing();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getTimeStamp <em>Time Stamp</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Time Stamp</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getTimeStamp()
+	 * @see #getPositionEvent()
+	 * @generated
+	 */
+	EAttribute getPositionEvent_TimeStamp();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getLObjectId <em>LObject Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>LObject Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getLObjectId()
+	 * @see #getPositionEvent()
+	 * @generated
+	 */
+	EAttribute getPositionEvent_LObjectId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest <em>Tracking Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Tracking Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest
+	 * @generated
+	 */
+	EClass getTrackingRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest <em>Monitoring Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Monitoring Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest
+	 * @generated
+	 */
+	EClass getMonitoringRequest();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameId <em>Frame Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Frame Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameId()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_FrameId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta <em>Delta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Delta</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Delta();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Update Frequency</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_UpdateFrequency();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getType()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Id();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fusion Strategy</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_FusionStrategy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification <em>Exit Notification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Exit Notification</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_ExitNotification();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties <em>Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Properties</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Properties();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Monitoring Task Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_MonitoringTaskId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Requestor Protocol</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_RequestorProtocol();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest <em>World Model Update Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>World Model Update Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest
+	 * @generated
+	 */
+	EClass getWorldModelUpdateRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest <em>Data Storage Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Storage Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest
+	 * @generated
+	 */
+	EClass getDataStorageRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration <em>Event Filter Configuration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Event Filter Configuration</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration
+	 * @generated
+	 */
+	EClass getEventFilterConfiguration();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityStrategy <em>Position Ambiguity Strategy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Position Ambiguity Strategy</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityStrategy()
+	 * @see #getEventFilterConfiguration()
+	 * @generated
+	 */
+	EAttribute getEventFilterConfiguration_PositionAmbiguityStrategy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityParameters <em>Position Ambiguity Parameters</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Position Ambiguity Parameters</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getPositionAmbiguityParameters()
+	 * @see #getEventFilterConfiguration()
+	 * @generated
+	 */
+	EAttribute getEventFilterConfiguration_PositionAmbiguityParameters();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getFilterCriteria <em>Filter Criteria</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Filter Criteria</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getFilterCriteria()
+	 * @see #getEventFilterConfiguration()
+	 * @generated
+	 */
+	EAttribute getEventFilterConfiguration_FilterCriteria();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getEventfiltercondition <em>Eventfiltercondition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Eventfiltercondition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration#getEventfiltercondition()
+	 * @see #getEventFilterConfiguration()
+	 * @generated
+	 */
+	EReference getEventFilterConfiguration_Eventfiltercondition();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest <em>World Model Query Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>World Model Query Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest
+	 * @generated
+	 */
+	EClass getWorldModelQueryRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest <em>Data Storage Query Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Storage Query Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest
+	 * @generated
+	 */
+	EClass getDataStorageQueryRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest <em>Agent Registration Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Agent Registration Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest
+	 * @generated
+	 */
+	EClass getAgentRegistrationRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask <em>Monitoring Task</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Monitoring Task</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask
+	 * @generated
+	 */
+	EClass getMonitoringTask();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Eventfilterconfiguration</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask#getEventfilterconfiguration()
+	 * @see #getMonitoringTask()
+	 * @generated
+	 */
+	EReference getMonitoringTask_Eventfilterconfiguration();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask <em>Tracking Task</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Tracking Task</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask
+	 * @generated
+	 */
+	EClass getTrackingTask();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Eventfilterconfiguration</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask#getEventfilterconfiguration()
+	 * @see #getTrackingTask()
+	 * @generated
+	 */
+	EReference getTrackingTask_Eventfilterconfiguration();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel <em>World Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>World Model</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModel
+	 * @generated
+	 */
+	EClass getWorldModel();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getAgent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Agent</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getAgent()
+	 * @see #getWorldModel()
+	 * @generated
+	 */
+	EReference getWorldModel_Agent();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getZoneMap <em>Zone Map</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Zone Map</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getZoneMap()
+	 * @see #getWorldModel()
+	 * @generated
+	 */
+	EReference getWorldModel_ZoneMap();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getPois <em>Pois</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Pois</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getPois()
+	 * @see #getWorldModel()
+	 * @generated
+	 */
+	EReference getWorldModel_Pois();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getReferenceSystem <em>Reference System</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Reference System</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getReferenceSystem()
+	 * @see #getWorldModel()
+	 * @generated
+	 */
+	EReference getWorldModel_ReferenceSystem();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Barcode <em>Barcode</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Barcode</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Barcode
+	 * @generated
+	 */
+	EClass getBarcode();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherProx <em>Other Prox</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Other Prox</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OtherProx
+	 * @generated
+	 */
+	EClass getOtherProx();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherProx#getData <em>Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OtherProx#getData()
+	 * @see #getOtherProx()
+	 * @generated
+	 */
+	EAttribute getOtherProx_Data();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth <em>Bluetooth</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Bluetooth</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth
+	 * @generated
+	 */
+	EClass getBluetooth();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth#getRss <em>Rss</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rss</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth#getRss()
+	 * @see #getBluetooth()
+	 * @generated
+	 */
+	EAttribute getBluetooth_Rss();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.UWB <em>UWB</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>UWB</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.UWB
+	 * @generated
+	 */
+	EClass getUWB();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest <em>Sensor Configuration Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Sensor Configuration Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest
+	 * @generated
+	 */
+	EClass getSensorConfigurationRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon <em>Other Beacon</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Other Beacon</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon
+	 * @generated
+	 */
+	EClass getOtherBeacon();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon#getData <em>Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon#getData()
+	 * @see #getOtherBeacon()
+	 * @generated
+	 */
+	EAttribute getOtherBeacon_Data();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI <em>POI</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>POI</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.POI
+	 * @generated
+	 */
+	EClass getPOI();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getPlacing <em>Placing</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Placing</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.POI#getPlacing()
+	 * @see #getPOI()
+	 * @generated
+	 */
+	EReference getPOI_Placing();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getDescription <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Description</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.POI#getDescription()
+	 * @see #getPOI()
+	 * @generated
+	 */
+	EAttribute getPOI_Description();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getData <em>Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.POI#getData()
+	 * @see #getPOI()
+	 * @generated
+	 */
+	EAttribute getPOI_Data();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.POI#getId()
+	 * @see #getPOI()
+	 * @generated
+	 */
+	EAttribute getPOI_Id();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition <em>Event Filter Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Event Filter Condition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition
+	 * @generated
+	 */
+	EClass getEventFilterCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeCondition <em>Time Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Time Condition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeCondition()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_TimeCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getAccuracyCondition <em>Accuracy Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Accuracy Condition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getAccuracyCondition()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_AccuracyCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionCondition <em>Position Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Position Condition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionCondition()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_PositionCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeMinInterval <em>Time Min Interval</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Time Min Interval</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getTimeMinInterval()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_TimeMinInterval();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionDelta <em>Position Delta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Position Delta</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionDelta()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_PositionDelta();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getSensorIdCondition <em>Sensor Id Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Sensor Id Condition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getSensorIdCondition()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_SensorIdCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getFilterStructure <em>Filter Structure</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Filter Structure</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getFilterStructure()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_FilterStructure();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCell <em>Position Condition Cell</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Position Condition Cell</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCell()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_PositionConditionCell();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getIdCondition <em>Id Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id Condition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getIdCondition()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_IdCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getCategoryCondition <em>Category Condition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Category Condition</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getCategoryCondition()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_CategoryCondition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCellId <em>Position Condition Cell Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Position Condition Cell Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition#getPositionConditionCellId()
+	 * @see #getEventFilterCondition()
+	 * @generated
+	 */
+	EAttribute getEventFilterCondition_PositionConditionCellId();
+
+	/**
+	 * Returns the meta object for data type '{@link java.util.List <em>String List</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>String List</em>'.
+	 * @see java.util.List
+	 * @model instanceClass="java.util.List&lt;java.lang.String&gt;"
+	 * @generated
+	 */
+	EDataType getStringList();
+
+	/**
+	 * Returns the meta object for data type '<em>String Array</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>String Array</em>'.
+	 * @model instanceClass="java.util.ArrayList&lt;java.lang.String[]&gt;"
+	 * @generated
+	 */
+	EDataType getStringArray();
+
+	/**
+	 * Returns the meta object for data type '<em>Float Array3d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>Float Array3d</em>'.
+	 * @model instanceClass="java.util.ArrayList&lt;java.lang.Float[][]&gt;"
+	 * @generated
+	 */
+	EDataType getFloatArray3d();
+
+	/**
+	 * Returns the meta object for data type '<em>Boolean List</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>Boolean List</em>'.
+	 * @model instanceClass="java.lang.boolean[]"
+	 * @generated
+	 */
+	EDataType getBooleanList();
+
+	/**
+	 * Returns the meta object for data type '<em>Float Array</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>Float Array</em>'.
+	 * @model instanceClass="java.util.ArrayList&lt;java.lang.Float[]&gt;"
+	 * @generated
+	 */
+	EDataType getFloatArray();
+
+	/**
+	 * 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
+	 */
+	IPos_DatamodelFactory getIPos_DatamodelFactory();
+
+	/**
+	 * <!-- 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 ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentImpl <em>Agent</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAgent()
+		 * @generated
+		 */
+		EClass AGENT = eINSTANCE.getAgent();
+
+		/**
+		 * The meta object literal for the '<em><b>LObject</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT__LOBJECT = eINSTANCE.getAgent_LObject();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute AGENT__AGENT_TYPE = eINSTANCE.getAgent_AgentType();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EntityImpl <em>Entity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.EntityImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEntity()
+		 * @generated
+		 */
+		EClass ENTITY = eINSTANCE.getEntity();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY__ID = eINSTANCE.getEntity_Id();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl <em>Localizable Object</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getLocalizableObject()
+		 * @generated
+		 */
+		EClass LOCALIZABLE_OBJECT = eINSTANCE.getLocalizableObject();
+
+		/**
+		 * The meta object literal for the '<em><b>Last Pos Update</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LOCALIZABLE_OBJECT__LAST_POS_UPDATE = eINSTANCE.getLocalizableObject_LastPosUpdate();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LOCALIZABLE_OBJECT__SENSOR_TYPE = eINSTANCE.getLocalizableObject_SensorType();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LOCALIZABLE_OBJECT__AGENT = eINSTANCE.getLocalizableObject_Agent();
+
+		/**
+		 * The meta object literal for the '<em><b>Current Placing</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LOCALIZABLE_OBJECT__CURRENT_PLACING = eINSTANCE.getLocalizableObject_CurrentPlacing();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PlacingImpl <em>Placing</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PlacingImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPlacing()
+		 * @generated
+		 */
+		EClass PLACING = eINSTANCE.getPlacing();
+
+		/**
+		 * The meta object literal for the '<em><b>Position</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PLACING__POSITION = eINSTANCE.getPlacing_Position();
+
+		/**
+		 * The meta object literal for the '<em><b>Orientation</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PLACING__ORIENTATION = eINSTANCE.getPlacing_Orientation();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionImpl <em>Position</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPosition()
+		 * @generated
+		 */
+		EClass POSITION = eINSTANCE.getPosition();
+
+		/**
+		 * The meta object literal for the '<em><b>Accuracy</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference POSITION__ACCURACY = eINSTANCE.getPosition_Accuracy();
+
+		/**
+		 * The meta object literal for the '<em><b>Point</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference POSITION__POINT = eINSTANCE.getPosition_Point();
+
+		/**
+		 * The meta object literal for the '<em><b>Reference System</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference POSITION__REFERENCE_SYSTEM = eINSTANCE.getPosition_ReferenceSystem();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OrientationImpl <em>Orientation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.OrientationImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOrientation()
+		 * @generated
+		 */
+		EClass ORIENTATION = eINSTANCE.getOrientation();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WGS84PointImpl <em>WGS84 Point</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WGS84PointImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWGS84Point()
+		 * @generated
+		 */
+		EClass WGS84_POINT = eINSTANCE.getWGS84Point();
+
+		/**
+		 * The meta object literal for the '<em><b>Longitude</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WGS84_POINT__LONGITUDE = eINSTANCE.getWGS84Point_Longitude();
+
+		/**
+		 * The meta object literal for the '<em><b>Latitude</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WGS84_POINT__LATITUDE = eINSTANCE.getWGS84Point_Latitude();
+
+		/**
+		 * The meta object literal for the '<em><b>Altitude</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WGS84_POINT__ALTITUDE = eINSTANCE.getWGS84Point_Altitude();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AccuracyImpl <em>Accuracy</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AccuracyImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAccuracy()
+		 * @generated
+		 */
+		EClass ACCURACY = eINSTANCE.getAccuracy();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point2DImpl <em>Point2 D</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.Point2DImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPoint2D()
+		 * @generated
+		 */
+		EClass POINT2_D = eINSTANCE.getPoint2D();
+
+		/**
+		 * The meta object literal for the '<em><b>X</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POINT2_D__X = eINSTANCE.getPoint2D_X();
+
+		/**
+		 * The meta object literal for the '<em><b>Y</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POINT2_D__Y = eINSTANCE.getPoint2D_Y();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point3DImpl <em>Point3 D</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.Point3DImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPoint3D()
+		 * @generated
+		 */
+		EClass POINT3_D = eINSTANCE.getPoint3D();
+
+		/**
+		 * The meta object literal for the '<em><b>X</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POINT3_D__X = eINSTANCE.getPoint3D_X();
+
+		/**
+		 * The meta object literal for the '<em><b>Y</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POINT3_D__Y = eINSTANCE.getPoint3D_Y();
+
+		/**
+		 * The meta object literal for the '<em><b>Z</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POINT3_D__Z = eINSTANCE.getPoint3D_Z();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ReferenceSystemImpl <em>Reference System</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ReferenceSystemImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getReferenceSystem()
+		 * @generated
+		 */
+		EClass REFERENCE_SYSTEM = eINSTANCE.getReferenceSystem();
+
+		/**
+		 * The meta object literal for the '<em><b>Origin</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference REFERENCE_SYSTEM__ORIGIN = eINSTANCE.getReferenceSystem_Origin();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute REFERENCE_SYSTEM__NAME = eINSTANCE.getReferenceSystem_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute REFERENCE_SYSTEM__ID = eINSTANCE.getReferenceSystem_Id();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneImpl <em>Zone</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getZone()
+		 * @generated
+		 */
+		EClass ZONE = eINSTANCE.getZone();
+
+		/**
+		 * The meta object literal for the '<em><b>Space</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ZONE__SPACE = eINSTANCE.getZone_Space();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ZONE__NAME = eINSTANCE.getZone_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ZONE__ID = eINSTANCE.getZone_Id();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneMapImpl <em>Zone Map</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneMapImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getZoneMap()
+		 * @generated
+		 */
+		EClass ZONE_MAP = eINSTANCE.getZoneMap();
+
+		/**
+		 * The meta object literal for the '<em><b>Zone</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ZONE_MAP__ZONE = eINSTANCE.getZoneMap_Zone();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl <em>Space</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getSpace()
+		 * @generated
+		 */
+		EClass SPACE = eINSTANCE.getSpace();
+
+		/**
+		 * The meta object literal for the '<em><b>X</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPACE__X = eINSTANCE.getSpace_X();
+
+		/**
+		 * The meta object literal for the '<em><b>Y</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPACE__Y = eINSTANCE.getSpace_Y();
+
+		/**
+		 * The meta object literal for the '<em><b>Z</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SPACE__Z = eINSTANCE.getSpace_Z();
+
+		/**
+		 * The meta object literal for the '<em><b>Centre Point</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SPACE__CENTRE_POINT = eINSTANCE.getSpace_CentrePoint();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MapTypeImpl <em>Map Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MapTypeImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMapType()
+		 * @generated
+		 */
+		EClass MAP_TYPE = eINSTANCE.getMapType();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl <em>Quaternion</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getQuaternion()
+		 * @generated
+		 */
+		EClass QUATERNION = eINSTANCE.getQuaternion();
+
+		/**
+		 * The meta object literal for the '<em><b>X</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute QUATERNION__X = eINSTANCE.getQuaternion_X();
+
+		/**
+		 * The meta object literal for the '<em><b>Y</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute QUATERNION__Y = eINSTANCE.getQuaternion_Y();
+
+		/**
+		 * The meta object literal for the '<em><b>Z</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute QUATERNION__Z = eINSTANCE.getQuaternion_Z();
+
+		/**
+		 * The meta object literal for the '<em><b>W</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute QUATERNION__W = eINSTANCE.getQuaternion_W();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.GaussianImpl <em>Gaussian</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.GaussianImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getGaussian()
+		 * @generated
+		 */
+		EClass GAUSSIAN = eINSTANCE.getGaussian();
+
+		/**
+		 * The meta object literal for the '<em><b>Confidence Interval</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute GAUSSIAN__CONFIDENCE_INTERVAL = eINSTANCE.getGaussian_ConfidenceInterval();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PointImpl <em>Point</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PointImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPoint()
+		 * @generated
+		 */
+		EClass POINT = eINSTANCE.getPoint();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.RawdataEventImpl <em>Rawdata Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.RawdataEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getRawdataEvent()
+		 * @generated
+		 */
+		EClass RAWDATA_EVENT = eINSTANCE.getRawdataEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Time Stamp</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RAWDATA_EVENT__TIME_STAMP = eINSTANCE.getRawdataEvent_TimeStamp();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ProximityImpl <em>Proximity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.ProximityImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getProximity()
+		 * @generated
+		 */
+		EClass PROXIMITY = eINSTANCE.getProximity();
+
+		/**
+		 * The meta object literal for the '<em><b>Tag Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROXIMITY__TAG_ID = eINSTANCE.getProximity_TagId();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROXIMITY__TYPE = eINSTANCE.getProximity_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Scanner Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROXIMITY__SCANNER_ID = eINSTANCE.getProximity_ScannerId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.RFIDImpl <em>RFID</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.RFIDImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getRFID()
+		 * @generated
+		 */
+		EClass RFID = eINSTANCE.getRFID();
+
+		/**
+		 * The meta object literal for the '<em><b>Location</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RFID__LOCATION = eINSTANCE.getRFID_Location();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.NFCImpl <em>NFC</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.NFCImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getNFC()
+		 * @generated
+		 */
+		EClass NFC = eINSTANCE.getNFC();
+
+		/**
+		 * The meta object literal for the '<em><b>Tag Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute NFC__TAG_DATA = eINSTANCE.getNFC_TagData();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.IMUImpl <em>IMU</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IMUImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getIMU()
+		 * @generated
+		 */
+		EClass IMU = eINSTANCE.getIMU();
+
+		/**
+		 * The meta object literal for the '<em><b>Angularrate</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IMU__ANGULARRATE = eINSTANCE.getIMU_Angularrate();
+
+		/**
+		 * The meta object literal for the '<em><b>Acceleration</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IMU__ACCELERATION = eINSTANCE.getIMU_Acceleration();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IMU__SENSOR_ID = eINSTANCE.getIMU_SensorId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AccelerationImpl <em>Acceleration</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AccelerationImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAcceleration()
+		 * @generated
+		 */
+		EClass ACCELERATION = eINSTANCE.getAcceleration();
+
+		/**
+		 * The meta object literal for the '<em><b>X</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACCELERATION__X = eINSTANCE.getAcceleration_X();
+
+		/**
+		 * The meta object literal for the '<em><b>Y</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACCELERATION__Y = eINSTANCE.getAcceleration_Y();
+
+		/**
+		 * The meta object literal for the '<em><b>Z</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACCELERATION__Z = eINSTANCE.getAcceleration_Z();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BeaconImpl <em>Beacon</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.BeaconImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBeacon()
+		 * @generated
+		 */
+		EClass BEACON = eINSTANCE.getBeacon();
+
+		/**
+		 * The meta object literal for the '<em><b>Distances</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BEACON__DISTANCES = eINSTANCE.getBeacon_Distances();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BEACON__TYPE = eINSTANCE.getBeacon_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BEACON__SENSOR_ID = eINSTANCE.getBeacon_SensorId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl <em>Position Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPositionEvent()
+		 * @generated
+		 */
+		EClass POSITION_EVENT = eINSTANCE.getPositionEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Placing</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference POSITION_EVENT__PLACING = eINSTANCE.getPositionEvent_Placing();
+
+		/**
+		 * The meta object literal for the '<em><b>Time Stamp</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POSITION_EVENT__TIME_STAMP = eINSTANCE.getPositionEvent_TimeStamp();
+
+		/**
+		 * The meta object literal for the '<em><b>LObject Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POSITION_EVENT__LOBJECT_ID = eINSTANCE.getPositionEvent_LObjectId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl <em>Tracking Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getTrackingRequest()
+		 * @generated
+		 */
+		EClass TRACKING_REQUEST = eINSTANCE.getTrackingRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl <em>Monitoring Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMonitoringRequest()
+		 * @generated
+		 */
+		EClass MONITORING_REQUEST = eINSTANCE.getMonitoringRequest();
+
+		/**
+		 * The meta object literal for the '<em><b>Frame Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__FRAME_ID = eINSTANCE.getMonitoringRequest_FrameId();
+
+		/**
+		 * The meta object literal for the '<em><b>Delta</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__DELTA = eINSTANCE.getMonitoringRequest_Delta();
+
+		/**
+		 * The meta object literal for the '<em><b>Update Frequency</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__UPDATE_FREQUENCY = eINSTANCE.getMonitoringRequest_UpdateFrequency();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__TYPE = eINSTANCE.getMonitoringRequest_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__ID = eINSTANCE.getMonitoringRequest_Id();
+
+		/**
+		 * The meta object literal for the '<em><b>Fusion Strategy</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__FUSION_STRATEGY = eINSTANCE.getMonitoringRequest_FusionStrategy();
+
+		/**
+		 * The meta object literal for the '<em><b>Exit Notification</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__EXIT_NOTIFICATION = eINSTANCE.getMonitoringRequest_ExitNotification();
+
+		/**
+		 * The meta object literal for the '<em><b>Properties</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__PROPERTIES = eINSTANCE.getMonitoringRequest_Properties();
+
+		/**
+		 * The meta object literal for the '<em><b>Monitoring Task Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__MONITORING_TASK_ID = eINSTANCE.getMonitoringRequest_MonitoringTaskId();
+
+		/**
+		 * The meta object literal for the '<em><b>Requestor Protocol</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__REQUESTOR_PROTOCOL = eINSTANCE.getMonitoringRequest_RequestorProtocol();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl <em>World Model Update Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelUpdateRequest()
+		 * @generated
+		 */
+		EClass WORLD_MODEL_UPDATE_REQUEST = eINSTANCE.getWorldModelUpdateRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl <em>Data Storage Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageRequest()
+		 * @generated
+		 */
+		EClass DATA_STORAGE_REQUEST = eINSTANCE.getDataStorageRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl <em>Event Filter Configuration</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEventFilterConfiguration()
+		 * @generated
+		 */
+		EClass EVENT_FILTER_CONFIGURATION = eINSTANCE.getEventFilterConfiguration();
+
+		/**
+		 * The meta object literal for the '<em><b>Position Ambiguity Strategy</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY = eINSTANCE
+				.getEventFilterConfiguration_PositionAmbiguityStrategy();
+
+		/**
+		 * The meta object literal for the '<em><b>Position Ambiguity Parameters</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS = eINSTANCE
+				.getEventFilterConfiguration_PositionAmbiguityParameters();
+
+		/**
+		 * The meta object literal for the '<em><b>Filter Criteria</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA = eINSTANCE.getEventFilterConfiguration_FilterCriteria();
+
+		/**
+		 * The meta object literal for the '<em><b>Eventfiltercondition</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION = eINSTANCE
+				.getEventFilterConfiguration_Eventfiltercondition();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl <em>World Model Query Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelQueryRequest()
+		 * @generated
+		 */
+		EClass WORLD_MODEL_QUERY_REQUEST = eINSTANCE.getWorldModelQueryRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl <em>Data Storage Query Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageQueryRequest()
+		 * @generated
+		 */
+		EClass DATA_STORAGE_QUERY_REQUEST = eINSTANCE.getDataStorageQueryRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl <em>Agent Registration Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAgentRegistrationRequest()
+		 * @generated
+		 */
+		EClass AGENT_REGISTRATION_REQUEST = eINSTANCE.getAgentRegistrationRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringTaskImpl <em>Monitoring Task</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringTaskImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMonitoringTask()
+		 * @generated
+		 */
+		EClass MONITORING_TASK = eINSTANCE.getMonitoringTask();
+
+		/**
+		 * The meta object literal for the '<em><b>Eventfilterconfiguration</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MONITORING_TASK__EVENTFILTERCONFIGURATION = eINSTANCE.getMonitoringTask_Eventfilterconfiguration();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingTaskImpl <em>Tracking Task</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingTaskImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getTrackingTask()
+		 * @generated
+		 */
+		EClass TRACKING_TASK = eINSTANCE.getTrackingTask();
+
+		/**
+		 * The meta object literal for the '<em><b>Eventfilterconfiguration</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRACKING_TASK__EVENTFILTERCONFIGURATION = eINSTANCE.getTrackingTask_Eventfilterconfiguration();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl <em>World Model</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModel()
+		 * @generated
+		 */
+		EClass WORLD_MODEL = eINSTANCE.getWorldModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference WORLD_MODEL__AGENT = eINSTANCE.getWorldModel_Agent();
+
+		/**
+		 * The meta object literal for the '<em><b>Zone Map</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference WORLD_MODEL__ZONE_MAP = eINSTANCE.getWorldModel_ZoneMap();
+
+		/**
+		 * The meta object literal for the '<em><b>Pois</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference WORLD_MODEL__POIS = eINSTANCE.getWorldModel_Pois();
+
+		/**
+		 * The meta object literal for the '<em><b>Reference System</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference WORLD_MODEL__REFERENCE_SYSTEM = eINSTANCE.getWorldModel_ReferenceSystem();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BarcodeImpl <em>Barcode</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.BarcodeImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBarcode()
+		 * @generated
+		 */
+		EClass BARCODE = eINSTANCE.getBarcode();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherProxImpl <em>Other Prox</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherProxImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOtherProx()
+		 * @generated
+		 */
+		EClass OTHER_PROX = eINSTANCE.getOtherProx();
+
+		/**
+		 * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute OTHER_PROX__DATA = eINSTANCE.getOtherProx_Data();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BluetoothImpl <em>Bluetooth</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.BluetoothImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBluetooth()
+		 * @generated
+		 */
+		EClass BLUETOOTH = eINSTANCE.getBluetooth();
+
+		/**
+		 * The meta object literal for the '<em><b>Rss</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BLUETOOTH__RSS = eINSTANCE.getBluetooth_Rss();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.UWBImpl <em>UWB</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.UWBImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getUWB()
+		 * @generated
+		 */
+		EClass UWB = eINSTANCE.getUWB();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl <em>Sensor Configuration Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getSensorConfigurationRequest()
+		 * @generated
+		 */
+		EClass SENSOR_CONFIGURATION_REQUEST = eINSTANCE.getSensorConfigurationRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherBeaconImpl <em>Other Beacon</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherBeaconImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOtherBeacon()
+		 * @generated
+		 */
+		EClass OTHER_BEACON = eINSTANCE.getOtherBeacon();
+
+		/**
+		 * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute OTHER_BEACON__DATA = eINSTANCE.getOtherBeacon_Data();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl <em>POI</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPOI()
+		 * @generated
+		 */
+		EClass POI = eINSTANCE.getPOI();
+
+		/**
+		 * The meta object literal for the '<em><b>Placing</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference POI__PLACING = eINSTANCE.getPOI_Placing();
+
+		/**
+		 * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POI__DESCRIPTION = eINSTANCE.getPOI_Description();
+
+		/**
+		 * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POI__DATA = eINSTANCE.getPOI_Data();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute POI__ID = eINSTANCE.getPOI_Id();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl <em>Event Filter Condition</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEventFilterCondition()
+		 * @generated
+		 */
+		EClass EVENT_FILTER_CONDITION = eINSTANCE.getEventFilterCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Time Condition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__TIME_CONDITION = eINSTANCE.getEventFilterCondition_TimeCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Accuracy Condition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__ACCURACY_CONDITION = eINSTANCE.getEventFilterCondition_AccuracyCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Position Condition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__POSITION_CONDITION = eINSTANCE.getEventFilterCondition_PositionCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Time Min Interval</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL = eINSTANCE.getEventFilterCondition_TimeMinInterval();
+
+		/**
+		 * The meta object literal for the '<em><b>Position Delta</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__POSITION_DELTA = eINSTANCE.getEventFilterCondition_PositionDelta();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Id Condition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION = eINSTANCE.getEventFilterCondition_SensorIdCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Filter Structure</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__FILTER_STRUCTURE = eINSTANCE.getEventFilterCondition_FilterStructure();
+
+		/**
+		 * The meta object literal for the '<em><b>Position Condition Cell</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL = eINSTANCE
+				.getEventFilterCondition_PositionConditionCell();
+
+		/**
+		 * The meta object literal for the '<em><b>Id Condition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__ID_CONDITION = eINSTANCE.getEventFilterCondition_IdCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Category Condition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__CATEGORY_CONDITION = eINSTANCE.getEventFilterCondition_CategoryCondition();
+
+		/**
+		 * The meta object literal for the '<em><b>Position Condition Cell Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID = eINSTANCE
+				.getEventFilterCondition_PositionConditionCellId();
+
+		/**
+		 * The meta object literal for the '<em>String List</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see java.util.List
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getStringList()
+		 * @generated
+		 */
+		EDataType STRING_LIST = eINSTANCE.getStringList();
+
+		/**
+		 * The meta object literal for the '<em>String Array</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getStringArray()
+		 * @generated
+		 */
+		EDataType STRING_ARRAY = eINSTANCE.getStringArray();
+
+		/**
+		 * The meta object literal for the '<em>Float Array3d</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getFloatArray3d()
+		 * @generated
+		 */
+		EDataType FLOAT_ARRAY3D = eINSTANCE.getFloatArray3d();
+
+		/**
+		 * The meta object literal for the '<em>Boolean List</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBooleanList()
+		 * @generated
+		 */
+		EDataType BOOLEAN_LIST = eINSTANCE.getBooleanList();
+
+		/**
+		 * The meta object literal for the '<em>Float Array</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getFloatArray()
+		 * @generated
+		 */
+		EDataType FLOAT_ARRAY = eINSTANCE.getFloatArray();
+
+	}
+
+} //IPos_DatamodelPackage
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/LocalizableObject.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/LocalizableObject.java
new file mode 100644
index 0000000000000000000000000000000000000000..d72ef65365d8a2cb336d740c3c87fd0701936a8f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/LocalizableObject.java
@@ -0,0 +1,113 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Localizable Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getLastPosUpdate <em>Last Pos Update</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getSensorType <em>Sensor Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getAgent <em>Agent</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getCurrentPlacing <em>Current Placing</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getLocalizableObject()
+ * @model
+ * @generated
+ */
+public interface LocalizableObject extends Entity {
+	/**
+	 * Returns the value of the '<em><b>Last Pos Update</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Last Pos Update</em>' attribute.
+	 * @see #setLastPosUpdate(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getLocalizableObject_LastPosUpdate()
+	 * @model
+	 * @generated
+	 */
+	String getLastPosUpdate();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getLastPosUpdate <em>Last Pos Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Last Pos Update</em>' attribute.
+	 * @see #getLastPosUpdate()
+	 * @generated
+	 */
+	void setLastPosUpdate(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sensor Type</em>' attribute.
+	 * @see #setSensorType(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getLocalizableObject_SensorType()
+	 * @model
+	 * @generated
+	 */
+	String getSensorType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getSensorType <em>Sensor Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Sensor Type</em>' attribute.
+	 * @see #getSensorType()
+	 * @generated
+	 */
+	void setSensorType(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Agent</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent</em>' reference.
+	 * @see #setAgent(Agent)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getLocalizableObject_Agent()
+	 * @model
+	 * @generated
+	 */
+	Agent getAgent();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getAgent <em>Agent</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent</em>' reference.
+	 * @see #getAgent()
+	 * @generated
+	 */
+	void setAgent(Agent value);
+
+	/**
+	 * Returns the value of the '<em><b>Current Placing</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Current Placing</em>' reference.
+	 * @see #setCurrentPlacing(Placing)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getLocalizableObject_CurrentPlacing()
+	 * @model
+	 * @generated
+	 */
+	Placing getCurrentPlacing();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject#getCurrentPlacing <em>Current Placing</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Current Placing</em>' reference.
+	 * @see #getCurrentPlacing()
+	 * @generated
+	 */
+	void setCurrentPlacing(Placing value);
+
+} // LocalizableObject
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MapType.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MapType.java
new file mode 100644
index 0000000000000000000000000000000000000000..5f66933b4d05b12cb1b848de5f283b48009365c1
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MapType.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Map Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMapType()
+ * @model
+ * @generated
+ */
+public interface MapType extends EObject {
+} // MapType
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..656e40d6a66e92f9a14d153ac18667c35bdaaa2f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringRequest.java
@@ -0,0 +1,255 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Monitoring Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameId <em>Frame Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta <em>Delta</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId <em>Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification <em>Exit Notification</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties <em>Properties</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest()
+ * @model
+ * @generated
+ */
+public interface MonitoringRequest extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Frame Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Frame Id</em>' attribute.
+	 * @see #setFrameId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_FrameId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getFrameId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameId <em>Frame Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Frame Id</em>' attribute.
+	 * @see #getFrameId()
+	 * @generated
+	 */
+	void setFrameId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Delta</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Delta</em>' attribute.
+	 * @see #setDelta(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Delta()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getDelta();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta <em>Delta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Delta</em>' attribute.
+	 * @see #getDelta()
+	 * @generated
+	 */
+	void setDelta(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Update Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Update Frequency</em>' attribute.
+	 * @see #setUpdateFrequency(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_UpdateFrequency()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getUpdateFrequency();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Update Frequency</em>' attribute.
+	 * @see #getUpdateFrequency()
+	 * @generated
+	 */
+	void setUpdateFrequency(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see #setType(List)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Type()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
+	 * @generated
+	 */
+	List<String> getType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#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(List<String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(List)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Id()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
+	 * @generated
+	 */
+	List<String> getId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(List<String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Fusion Strategy</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Fusion Strategy</em>' attribute.
+	 * @see #setFusionStrategy(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_FusionStrategy()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getFusionStrategy();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Fusion Strategy</em>' attribute.
+	 * @see #getFusionStrategy()
+	 * @generated
+	 */
+	void setFusionStrategy(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Exit Notification</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Exit Notification</em>' attribute.
+	 * @see #setExitNotification(boolean)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_ExitNotification()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
+	 * @generated
+	 */
+	boolean isExitNotification();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification <em>Exit Notification</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Exit Notification</em>' attribute.
+	 * @see #isExitNotification()
+	 * @generated
+	 */
+	void setExitNotification(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Properties</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Properties</em>' attribute.
+	 * @see #setProperties(List)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Properties()
+	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
+	 * @generated
+	 */
+	List<String> getProperties();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties <em>Properties</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Properties</em>' attribute.
+	 * @see #getProperties()
+	 * @generated
+	 */
+	void setProperties(List<String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Monitoring Task Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Monitoring Task Id</em>' attribute.
+	 * @see #setMonitoringTaskId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_MonitoringTaskId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getMonitoringTaskId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Monitoring Task Id</em>' attribute.
+	 * @see #getMonitoringTaskId()
+	 * @generated
+	 */
+	void setMonitoringTaskId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Requestor Protocol</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Requestor Protocol</em>' attribute.
+	 * @see #setRequestorProtocol(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_RequestorProtocol()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getRequestorProtocol();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Requestor Protocol</em>' attribute.
+	 * @see #getRequestorProtocol()
+	 * @generated
+	 */
+	void setRequestorProtocol(String value);
+
+} // MonitoringRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringTask.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringTask.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1339c449bd9db828f1a0dd5f2de5e9d61dcbe72
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringTask.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Monitoring Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringTask()
+ * @model
+ * @generated
+ */
+public interface MonitoringTask extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Eventfilterconfiguration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Eventfilterconfiguration</em>' reference.
+	 * @see #setEventfilterconfiguration(EventFilterConfiguration)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringTask_Eventfilterconfiguration()
+	 * @model required="true"
+	 * @generated
+	 */
+	EventFilterConfiguration getEventfilterconfiguration();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Eventfilterconfiguration</em>' reference.
+	 * @see #getEventfilterconfiguration()
+	 * @generated
+	 */
+	void setEventfilterconfiguration(EventFilterConfiguration value);
+
+} // MonitoringTask
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/NFC.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/NFC.java
new file mode 100644
index 0000000000000000000000000000000000000000..2460d854e49a1dae325bbae3087a64577ae8c13a
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/NFC.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>NFC</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.NFC#getTagData <em>Tag Data</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getNFC()
+ * @model
+ * @generated
+ */
+public interface NFC extends Proximity {
+	/**
+	 * Returns the value of the '<em><b>Tag Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Tag Data</em>' attribute.
+	 * @see #setTagData(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getNFC_TagData()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Object> getTagData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.NFC#getTagData <em>Tag Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Tag Data</em>' attribute.
+	 * @see #getTagData()
+	 * @generated
+	 */
+	void setTagData(Map<String, Object> value);
+
+} // NFC
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Orientation.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Orientation.java
new file mode 100644
index 0000000000000000000000000000000000000000..51ef82a9fefcab8e3670113ad3041480d13ca7f3
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Orientation.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Orientation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getOrientation()
+ * @model
+ * @generated
+ */
+public interface Orientation extends EObject {
+} // Orientation
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OtherBeacon.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OtherBeacon.java
new file mode 100644
index 0000000000000000000000000000000000000000..988f7d6f294c409ae56726a19f7f6558c810fdee
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OtherBeacon.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Other Beacon</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getOtherBeacon()
+ * @model
+ * @generated
+ */
+public interface OtherBeacon extends Beacon {
+	/**
+	 * Returns the value of the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Data</em>' attribute.
+	 * @see #setData(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getOtherBeacon_Data()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Object> getData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon#getData <em>Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Data</em>' attribute.
+	 * @see #getData()
+	 * @generated
+	 */
+	void setData(Map<String, Object> value);
+
+} // OtherBeacon
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OtherProx.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OtherProx.java
new file mode 100644
index 0000000000000000000000000000000000000000..9ce0bf7e2a8508584f380d027f533a49f7554c1b
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OtherProx.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Other Prox</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherProx#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getOtherProx()
+ * @model
+ * @generated
+ */
+public interface OtherProx extends Proximity {
+	/**
+	 * Returns the value of the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Data</em>' attribute.
+	 * @see #setData(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getOtherProx_Data()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Object> getData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherProx#getData <em>Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Data</em>' attribute.
+	 * @see #getData()
+	 * @generated
+	 */
+	void setData(Map<String, Object> value);
+
+} // OtherProx
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/POI.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/POI.java
new file mode 100644
index 0000000000000000000000000000000000000000..25040df3cdf2ed316645bb74918ef3bac4e2925b
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/POI.java
@@ -0,0 +1,117 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>POI</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getPlacing <em>Placing</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getDescription <em>Description</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getData <em>Data</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPOI()
+ * @model
+ * @generated
+ */
+public interface POI extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Placing</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Placing</em>' reference.
+	 * @see #setPlacing(Placing)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPOI_Placing()
+	 * @model required="true"
+	 * @generated
+	 */
+	Placing getPlacing();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getPlacing <em>Placing</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Placing</em>' reference.
+	 * @see #getPlacing()
+	 * @generated
+	 */
+	void setPlacing(Placing value);
+
+	/**
+	 * Returns the value of the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Description</em>' attribute.
+	 * @see #setDescription(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPOI_Description()
+	 * @model
+	 * @generated
+	 */
+	String getDescription();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getDescription <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Description</em>' attribute.
+	 * @see #getDescription()
+	 * @generated
+	 */
+	void setDescription(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Data</em>' attribute.
+	 * @see #setData(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPOI_Data()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, String> getData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getData <em>Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Data</em>' attribute.
+	 * @see #getData()
+	 * @generated
+	 */
+	void setData(Map<String, String> value);
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPOI_Id()
+	 * @model
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+} // POI
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Placing.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Placing.java
new file mode 100644
index 0000000000000000000000000000000000000000..18eedf86ad18897d63c188974dde5513cd6edbd5
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Placing.java
@@ -0,0 +1,69 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Placing</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing#getPosition <em>Position</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing#getOrientation <em>Orientation</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPlacing()
+ * @model
+ * @generated
+ */
+public interface Placing extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Position</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position</em>' reference.
+	 * @see #setPosition(Position)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPlacing_Position()
+	 * @model required="true"
+	 * @generated
+	 */
+	Position getPosition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing#getPosition <em>Position</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position</em>' reference.
+	 * @see #getPosition()
+	 * @generated
+	 */
+	void setPosition(Position value);
+
+	/**
+	 * Returns the value of the '<em><b>Orientation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Orientation</em>' reference.
+	 * @see #setOrientation(Orientation)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPlacing_Orientation()
+	 * @model required="true"
+	 * @generated
+	 */
+	Orientation getOrientation();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing#getOrientation <em>Orientation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Orientation</em>' reference.
+	 * @see #getOrientation()
+	 * @generated
+	 */
+	void setOrientation(Orientation value);
+
+} // Placing
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a6a812d6cae4ec7183566805674dbcf4ba79f3c
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Point</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint()
+ * @model
+ * @generated
+ */
+public interface Point extends EObject {
+} // Point
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point2D.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point2D.java
new file mode 100644
index 0000000000000000000000000000000000000000..69ce32896cdcb4b1d9b0c75d120a916071ea2fd9
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point2D.java
@@ -0,0 +1,67 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Point2 D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getY <em>Y</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint2D()
+ * @model
+ * @generated
+ */
+public interface Point2D extends Point {
+	/**
+	 * Returns the value of the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>X</em>' attribute.
+	 * @see #setX(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint2D_X()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getX();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getX <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>X</em>' attribute.
+	 * @see #getX()
+	 * @generated
+	 */
+	void setX(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Y</em>' attribute.
+	 * @see #setY(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint2D_Y()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getY();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D#getY <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Y</em>' attribute.
+	 * @see #getY()
+	 * @generated
+	 */
+	void setY(float value);
+
+} // Point2D
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point3D.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point3D.java
new file mode 100644
index 0000000000000000000000000000000000000000..5958948b2329010e693e0b0fcacabba599851da8
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Point3D.java
@@ -0,0 +1,90 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Point3 D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getZ <em>Z</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint3D()
+ * @model
+ * @generated
+ */
+public interface Point3D extends Point {
+	/**
+	 * Returns the value of the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>X</em>' attribute.
+	 * @see #setX(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint3D_X()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getX();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getX <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>X</em>' attribute.
+	 * @see #getX()
+	 * @generated
+	 */
+	void setX(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Y</em>' attribute.
+	 * @see #setY(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint3D_Y()
+	 * @model
+	 * @generated
+	 */
+	float getY();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getY <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Y</em>' attribute.
+	 * @see #getY()
+	 * @generated
+	 */
+	void setY(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Z</em>' attribute.
+	 * @see #setZ(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPoint3D_Z()
+	 * @model
+	 * @generated
+	 */
+	float getZ();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D#getZ <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Z</em>' attribute.
+	 * @see #getZ()
+	 * @generated
+	 */
+	void setZ(float value);
+
+} // Point3D
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Position.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Position.java
new file mode 100644
index 0000000000000000000000000000000000000000..b784864d369c6904614178da1b4969bca389654d
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Position.java
@@ -0,0 +1,92 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Position</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getAccuracy <em>Accuracy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getPoint <em>Point</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getReferenceSystem <em>Reference System</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPosition()
+ * @model
+ * @generated
+ */
+public interface Position extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Accuracy</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Accuracy</em>' reference.
+	 * @see #setAccuracy(Accuracy)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPosition_Accuracy()
+	 * @model
+	 * @generated
+	 */
+	Accuracy getAccuracy();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getAccuracy <em>Accuracy</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Accuracy</em>' reference.
+	 * @see #getAccuracy()
+	 * @generated
+	 */
+	void setAccuracy(Accuracy value);
+
+	/**
+	 * Returns the value of the '<em><b>Point</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Point</em>' reference.
+	 * @see #setPoint(Point)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPosition_Point()
+	 * @model required="true"
+	 * @generated
+	 */
+	Point getPoint();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getPoint <em>Point</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Point</em>' reference.
+	 * @see #getPoint()
+	 * @generated
+	 */
+	void setPoint(Point value);
+
+	/**
+	 * Returns the value of the '<em><b>Reference System</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Reference System</em>' reference.
+	 * @see #setReferenceSystem(ReferenceSystem)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPosition_ReferenceSystem()
+	 * @model required="true"
+	 * @generated
+	 */
+	ReferenceSystem getReferenceSystem();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position#getReferenceSystem <em>Reference System</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Reference System</em>' reference.
+	 * @see #getReferenceSystem()
+	 * @generated
+	 */
+	void setReferenceSystem(ReferenceSystem value);
+
+} // Position
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/PositionEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/PositionEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..1df2c2abfb76bdac48e4c289d81f48ed8bbbb436
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/PositionEvent.java
@@ -0,0 +1,92 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Position Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getPlacing <em>Placing</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getTimeStamp <em>Time Stamp</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getLObjectId <em>LObject Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPositionEvent()
+ * @model
+ * @generated
+ */
+public interface PositionEvent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Placing</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Placing</em>' reference.
+	 * @see #setPlacing(Placing)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPositionEvent_Placing()
+	 * @model required="true"
+	 * @generated
+	 */
+	Placing getPlacing();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getPlacing <em>Placing</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Placing</em>' reference.
+	 * @see #getPlacing()
+	 * @generated
+	 */
+	void setPlacing(Placing value);
+
+	/**
+	 * Returns the value of the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Time Stamp</em>' attribute.
+	 * @see #setTimeStamp(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPositionEvent_TimeStamp()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String" transient="true"
+	 * @generated
+	 */
+	String getTimeStamp();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getTimeStamp <em>Time Stamp</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Time Stamp</em>' attribute.
+	 * @see #getTimeStamp()
+	 * @generated
+	 */
+	void setTimeStamp(String value);
+
+	/**
+	 * Returns the value of the '<em><b>LObject Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>LObject Id</em>' attribute.
+	 * @see #setLObjectId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getPositionEvent_LObjectId()
+	 * @model
+	 * @generated
+	 */
+	String getLObjectId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent#getLObjectId <em>LObject Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>LObject Id</em>' attribute.
+	 * @see #getLObjectId()
+	 * @generated
+	 */
+	void setLObjectId(String value);
+
+} // PositionEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Proximity.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Proximity.java
new file mode 100644
index 0000000000000000000000000000000000000000..3947b0ec5aec0c92f5331769c0b003626396d888
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Proximity.java
@@ -0,0 +1,90 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Proximity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getTagId <em>Tag Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getScannerId <em>Scanner Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getProximity()
+ * @model
+ * @generated
+ */
+public interface Proximity extends RawdataEvent {
+	/**
+	 * Returns the value of the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Tag Id</em>' attribute.
+	 * @see #setTagId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getProximity_TagId()
+	 * @model
+	 * @generated
+	 */
+	String getTagId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getTagId <em>Tag Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Tag Id</em>' attribute.
+	 * @see #getTagId()
+	 * @generated
+	 */
+	void setTagId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see #setType(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getProximity_Type()
+	 * @model
+	 * @generated
+	 */
+	String getType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#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>Scanner Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Scanner Id</em>' attribute.
+	 * @see #setScannerId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getProximity_ScannerId()
+	 * @model
+	 * @generated
+	 */
+	String getScannerId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity#getScannerId <em>Scanner Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Scanner Id</em>' attribute.
+	 * @see #getScannerId()
+	 * @generated
+	 */
+	void setScannerId(String value);
+
+} // Proximity
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Quaternion.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Quaternion.java
new file mode 100644
index 0000000000000000000000000000000000000000..2cfa04b0ffb93470d44283f4baba2bbf1cc1fc0a
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Quaternion.java
@@ -0,0 +1,113 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Quaternion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getZ <em>Z</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getW <em>W</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getQuaternion()
+ * @model
+ * @generated
+ */
+public interface Quaternion extends Orientation {
+	/**
+	 * Returns the value of the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>X</em>' attribute.
+	 * @see #setX(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getQuaternion_X()
+	 * @model
+	 * @generated
+	 */
+	float getX();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getX <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>X</em>' attribute.
+	 * @see #getX()
+	 * @generated
+	 */
+	void setX(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Y</em>' attribute.
+	 * @see #setY(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getQuaternion_Y()
+	 * @model
+	 * @generated
+	 */
+	float getY();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getY <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Y</em>' attribute.
+	 * @see #getY()
+	 * @generated
+	 */
+	void setY(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Z</em>' attribute.
+	 * @see #setZ(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getQuaternion_Z()
+	 * @model
+	 * @generated
+	 */
+	float getZ();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getZ <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Z</em>' attribute.
+	 * @see #getZ()
+	 * @generated
+	 */
+	void setZ(float value);
+
+	/**
+	 * Returns the value of the '<em><b>W</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>W</em>' attribute.
+	 * @see #setW(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getQuaternion_W()
+	 * @model
+	 * @generated
+	 */
+	float getW();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion#getW <em>W</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>W</em>' attribute.
+	 * @see #getW()
+	 * @generated
+	 */
+	void setW(float value);
+
+} // Quaternion
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/RFID.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/RFID.java
new file mode 100644
index 0000000000000000000000000000000000000000..bc22347fa01889e218bd88a8afc178f92e0f8c2d
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/RFID.java
@@ -0,0 +1,44 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>RFID</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.RFID#getLocation <em>Location</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getRFID()
+ * @model
+ * @generated
+ */
+public interface RFID extends Proximity {
+	/**
+	 * Returns the value of the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Location</em>' attribute.
+	 * @see #setLocation(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getRFID_Location()
+	 * @model
+	 * @generated
+	 */
+	String getLocation();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.RFID#getLocation <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Location</em>' attribute.
+	 * @see #getLocation()
+	 * @generated
+	 */
+	void setLocation(String value);
+
+} // RFID
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/RawdataEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/RawdataEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..384eaf4a03b692ea7196ef6373e9a7e67ec77e0a
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/RawdataEvent.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rawdata Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent#getTimeStamp <em>Time Stamp</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getRawdataEvent()
+ * @model
+ * @generated
+ */
+public interface RawdataEvent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Time Stamp</em>' attribute.
+	 * @see #setTimeStamp(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getRawdataEvent_TimeStamp()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getTimeStamp();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent#getTimeStamp <em>Time Stamp</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Time Stamp</em>' attribute.
+	 * @see #getTimeStamp()
+	 * @generated
+	 */
+	void setTimeStamp(String value);
+
+} // RawdataEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/ReferenceSystem.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/ReferenceSystem.java
new file mode 100644
index 0000000000000000000000000000000000000000..449528a95ca8e9f1952afe73e210e0f6ae3f4fc0
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/ReferenceSystem.java
@@ -0,0 +1,92 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reference System</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getOrigin <em>Origin</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getName <em>Name</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getReferenceSystem()
+ * @model
+ * @generated
+ */
+public interface ReferenceSystem extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Origin</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Origin</em>' reference.
+	 * @see #setOrigin(Placing)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getReferenceSystem_Origin()
+	 * @model
+	 * @generated
+	 */
+	Placing getOrigin();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getOrigin <em>Origin</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Origin</em>' reference.
+	 * @see #getOrigin()
+	 * @generated
+	 */
+	void setOrigin(Placing value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getReferenceSystem_Name()
+	 * @model
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#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);
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getReferenceSystem_Id()
+	 * @model
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+} // ReferenceSystem
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/SensorConfigurationRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/SensorConfigurationRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf5138e30ca0ff886f4927f44f4e810eda31f197
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/SensorConfigurationRequest.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sensor Configuration Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getSensorConfigurationRequest()
+ * @model
+ * @generated
+ */
+public interface SensorConfigurationRequest extends EObject {
+} // SensorConfigurationRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Space.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Space.java
new file mode 100644
index 0000000000000000000000000000000000000000..50f91b531c225b7247ac1e176f66cf02675051cd
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Space.java
@@ -0,0 +1,115 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Space</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getZ <em>Z</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getCentrePoint <em>Centre Point</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getSpace()
+ * @model
+ * @generated
+ */
+public interface Space extends EObject {
+	/**
+	 * Returns the value of the '<em><b>X</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>X</em>' attribute.
+	 * @see #setX(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getSpace_X()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getX();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getX <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>X</em>' attribute.
+	 * @see #getX()
+	 * @generated
+	 */
+	void setX(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Y</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Y</em>' attribute.
+	 * @see #setY(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getSpace_Y()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getY();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getY <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Y</em>' attribute.
+	 * @see #getY()
+	 * @generated
+	 */
+	void setY(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Z</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Z</em>' attribute.
+	 * @see #setZ(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getSpace_Z()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
+	 * @generated
+	 */
+	float getZ();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getZ <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Z</em>' attribute.
+	 * @see #getZ()
+	 * @generated
+	 */
+	void setZ(float value);
+
+	/**
+	 * Returns the value of the '<em><b>Centre Point</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Centre Point</em>' reference.
+	 * @see #setCentrePoint(Placing)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getSpace_CentrePoint()
+	 * @model required="true"
+	 * @generated
+	 */
+	Placing getCentrePoint();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space#getCentrePoint <em>Centre Point</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Centre Point</em>' reference.
+	 * @see #getCentrePoint()
+	 * @generated
+	 */
+	void setCentrePoint(Placing value);
+
+} // Space
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ccad25d217c8b5581aec8e23d6980485c11cf36d
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingRequest.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tracking Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getTrackingRequest()
+ * @model
+ * @generated
+ */
+public interface TrackingRequest extends EObject {
+} // TrackingRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingTask.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingTask.java
new file mode 100644
index 0000000000000000000000000000000000000000..2366175ac8e6d16b8889f4e08ec1c4e7399dee56
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingTask.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tracking Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getTrackingTask()
+ * @model
+ * @generated
+ */
+public interface TrackingTask extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Eventfilterconfiguration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Eventfilterconfiguration</em>' reference.
+	 * @see #setEventfilterconfiguration(EventFilterConfiguration)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getTrackingTask_Eventfilterconfiguration()
+	 * @model required="true"
+	 * @generated
+	 */
+	EventFilterConfiguration getEventfilterconfiguration();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Eventfilterconfiguration</em>' reference.
+	 * @see #getEventfilterconfiguration()
+	 * @generated
+	 */
+	void setEventfilterconfiguration(EventFilterConfiguration value);
+
+} // TrackingTask
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/UWB.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/UWB.java
new file mode 100644
index 0000000000000000000000000000000000000000..ce56b537bd3be293eadaf62f996e55f55bb05347
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/UWB.java
@@ -0,0 +1,16 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UWB</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getUWB()
+ * @model
+ * @generated
+ */
+public interface UWB extends Beacon {
+} // UWB
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WGS84Point.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WGS84Point.java
new file mode 100644
index 0000000000000000000000000000000000000000..a229f7b6d394e059fe87247a9c06213a70730aff
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WGS84Point.java
@@ -0,0 +1,90 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>WGS84 Point</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLongitude <em>Longitude</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLatitude <em>Latitude</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getAltitude <em>Altitude</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWGS84Point()
+ * @model
+ * @generated
+ */
+public interface WGS84Point extends Point {
+	/**
+	 * Returns the value of the '<em><b>Longitude</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Longitude</em>' attribute.
+	 * @see #setLongitude(double)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWGS84Point_Longitude()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Double"
+	 * @generated
+	 */
+	double getLongitude();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLongitude <em>Longitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Longitude</em>' attribute.
+	 * @see #getLongitude()
+	 * @generated
+	 */
+	void setLongitude(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Latitude</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Latitude</em>' attribute.
+	 * @see #setLatitude(double)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWGS84Point_Latitude()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Double"
+	 * @generated
+	 */
+	double getLatitude();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getLatitude <em>Latitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Latitude</em>' attribute.
+	 * @see #getLatitude()
+	 * @generated
+	 */
+	void setLatitude(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Altitude</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Altitude</em>' attribute.
+	 * @see #setAltitude(double)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWGS84Point_Altitude()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Double"
+	 * @generated
+	 */
+	double getAltitude();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point#getAltitude <em>Altitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Altitude</em>' attribute.
+	 * @see #getAltitude()
+	 * @generated
+	 */
+	void setAltitude(double value);
+
+} // WGS84Point
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModel.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModel.java
new file mode 100644
index 0000000000000000000000000000000000000000..4fbe296f7c72b5416aaa81c26ad427f123de3167
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModel.java
@@ -0,0 +1,77 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>World Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getAgent <em>Agent</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getZoneMap <em>Zone Map</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getPois <em>Pois</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel#getReferenceSystem <em>Reference System</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModel()
+ * @model
+ * @generated
+ */
+public interface WorldModel extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Agent</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.Agent}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModel_Agent()
+	 * @model
+	 * @generated
+	 */
+	EList<Agent> getAgent();
+
+	/**
+	 * Returns the value of the '<em><b>Zone Map</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Zone Map</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModel_ZoneMap()
+	 * @model
+	 * @generated
+	 */
+	EList<ZoneMap> getZoneMap();
+
+	/**
+	 * Returns the value of the '<em><b>Pois</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.POI}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Pois</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModel_Pois()
+	 * @model
+	 * @generated
+	 */
+	EList<POI> getPois();
+
+	/**
+	 * Returns the value of the '<em><b>Reference System</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Reference System</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModel_ReferenceSystem()
+	 * @model
+	 * @generated
+	 */
+	EList<ReferenceSystem> getReferenceSystem();
+
+} // WorldModel
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelQueryRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelQueryRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ed30cdffbd34fd2ecaa0530df02909f57d6c09a5
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelQueryRequest.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>World Model Query Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModelQueryRequest()
+ * @model
+ * @generated
+ */
+public interface WorldModelQueryRequest extends EObject {
+} // WorldModelQueryRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelUpdateRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelUpdateRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..af3105797c20ad8e8870d47209f1281e90d67dee
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelUpdateRequest.java
@@ -0,0 +1,18 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>World Model Update Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModelUpdateRequest()
+ * @model
+ * @generated
+ */
+public interface WorldModelUpdateRequest extends EObject {
+} // WorldModelUpdateRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Zone.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Zone.java
new file mode 100644
index 0000000000000000000000000000000000000000..c854e4c93383a4d98ac45e0486ea15ad55b1c34f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Zone.java
@@ -0,0 +1,84 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Zone</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#getSpace <em>Space</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#getName <em>Name</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getZone()
+ * @model
+ * @generated
+ */
+public interface Zone extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Space</b></em>' containment reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.Space}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Space</em>' containment reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getZone_Space()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Space> getSpace();
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getZone_Name()
+	 * @model
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#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);
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getZone_Id()
+	 * @model
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+} // Zone
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/ZoneMap.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/ZoneMap.java
new file mode 100644
index 0000000000000000000000000000000000000000..e67d1b34288c8039276d0019af8183fa692a14d8
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/ZoneMap.java
@@ -0,0 +1,36 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Zone Map</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap#getZone <em>Zone</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getZoneMap()
+ * @model
+ * @generated
+ */
+public interface ZoneMap extends MapType {
+	/**
+	 * Returns the value of the '<em><b>Zone</b></em>' containment reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.Zone}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Zone</em>' containment reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getZoneMap_Zone()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Zone> getZone();
+
+} // ZoneMap
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AccelerationImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AccelerationImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..5bfa42b9a1811626739f66143d7f0da1a4969e29
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AccelerationImpl.java
@@ -0,0 +1,272 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Acceleration;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Acceleration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AccelerationImpl#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AccelerationImpl#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AccelerationImpl#getZ <em>Z</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AccelerationImpl extends MinimalEObjectImpl.Container implements Acceleration {
+	/**
+	 * The default value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float X_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected float x = X_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Y_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected float y = Y_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Z_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected float z = Z_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AccelerationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.ACCELERATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getX() {
+		return x;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setX(float newX) {
+		float oldX = x;
+		x = newX;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.ACCELERATION__X, oldX, x));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getY() {
+		return y;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setY(float newY) {
+		float oldY = y;
+		y = newY;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.ACCELERATION__Y, oldY, y));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getZ() {
+		return z;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setZ(float newZ) {
+		float oldZ = z;
+		z = newZ;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.ACCELERATION__Z, oldZ, z));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ACCELERATION__X:
+			return getX();
+		case IPos_DatamodelPackage.ACCELERATION__Y:
+			return getY();
+		case IPos_DatamodelPackage.ACCELERATION__Z:
+			return getZ();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ACCELERATION__X:
+			setX((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.ACCELERATION__Y:
+			setY((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.ACCELERATION__Z:
+			setZ((Float) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ACCELERATION__X:
+			setX(X_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.ACCELERATION__Y:
+			setY(Y_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.ACCELERATION__Z:
+			setZ(Z_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ACCELERATION__X:
+			return x != X_EDEFAULT;
+		case IPos_DatamodelPackage.ACCELERATION__Y:
+			return y != Y_EDEFAULT;
+		case IPos_DatamodelPackage.ACCELERATION__Z:
+			return z != Z_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (x: ");
+		result.append(x);
+		result.append(", y: ");
+		result.append(y);
+		result.append(", z: ");
+		result.append(z);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AccelerationImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AccuracyImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AccuracyImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..b537f25b9b997341d8b9b588020b3a1bc4d5ebee
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AccuracyImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Accuracy;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accuracy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AccuracyImpl extends MinimalEObjectImpl.Container implements Accuracy {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AccuracyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.ACCURACY;
+	}
+
+} //AccuracyImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..eb2dc584ad30946d54a55f9d9864d172c4a95606
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentImpl.java
@@ -0,0 +1,207 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Agent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Agent</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentImpl#getLObject <em>LObject</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentImpl#getAgentType <em>Agent Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AgentImpl extends EntityImpl implements Agent {
+	/**
+	 * The cached value of the '{@link #getLObject() <em>LObject</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLObject()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<LocalizableObject> lObject;
+
+	/**
+	 * The default value of the '{@link #getAgentType() <em>Agent Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String AGENT_TYPE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getAgentType() <em>Agent Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentType()
+	 * @generated
+	 * @ordered
+	 */
+	protected String agentType = AGENT_TYPE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AgentImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.AGENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<LocalizableObject> getLObject() {
+		if (lObject == null) {
+			lObject = new EObjectResolvingEList<LocalizableObject>(LocalizableObject.class, this,
+					IPos_DatamodelPackage.AGENT__LOBJECT);
+		}
+		return lObject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getAgentType() {
+		return agentType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgentType(String newAgentType) {
+		String oldAgentType = agentType;
+		agentType = newAgentType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.AGENT__AGENT_TYPE, oldAgentType,
+					agentType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.AGENT__LOBJECT:
+			return getLObject();
+		case IPos_DatamodelPackage.AGENT__AGENT_TYPE:
+			return getAgentType();
+		}
+		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 IPos_DatamodelPackage.AGENT__LOBJECT:
+			getLObject().clear();
+			getLObject().addAll((Collection<? extends LocalizableObject>) newValue);
+			return;
+		case IPos_DatamodelPackage.AGENT__AGENT_TYPE:
+			setAgentType((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.AGENT__LOBJECT:
+			getLObject().clear();
+			return;
+		case IPos_DatamodelPackage.AGENT__AGENT_TYPE:
+			setAgentType(AGENT_TYPE_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.AGENT__LOBJECT:
+			return lObject != null && !lObject.isEmpty();
+		case IPos_DatamodelPackage.AGENT__AGENT_TYPE:
+			return AGENT_TYPE_EDEFAULT == null ? agentType != null : !AGENT_TYPE_EDEFAULT.equals(agentType);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (agentType: ");
+		result.append(agentType);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AgentImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentRegistrationRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentRegistrationRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..6cdd6b82f25de7ca5c31963dcc7d921409e7b3da
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentRegistrationRequestImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Agent Registration Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AgentRegistrationRequestImpl extends MinimalEObjectImpl.Container implements AgentRegistrationRequest {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AgentRegistrationRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.AGENT_REGISTRATION_REQUEST;
+	}
+
+} //AgentRegistrationRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BarcodeImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BarcodeImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..28fac82137673766e33cc139471d5c8bd9942c54
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BarcodeImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Barcode;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Barcode</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class BarcodeImpl extends ProximityImpl implements Barcode {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BarcodeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.BARCODE;
+	}
+
+} //BarcodeImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BeaconImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BeaconImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..332d1f6c31c5a10ea6c634c5c84d465c66cbc3bd
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BeaconImpl.java
@@ -0,0 +1,266 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Beacon;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Beacon</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BeaconImpl#getDistances <em>Distances</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BeaconImpl#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BeaconImpl#getSensorId <em>Sensor Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BeaconImpl extends RawdataEventImpl implements Beacon {
+	/**
+	 * The cached value of the '{@link #getDistances() <em>Distances</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistances()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, Integer> distances;
+
+	/**
+	 * 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 #getSensorId() <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SENSOR_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSensorId() <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String sensorId = SENSOR_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BeaconImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.BEACON;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, Integer> getDistances() {
+		return distances;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDistances(Map<String, Integer> newDistances) {
+		Map<String, Integer> oldDistances = distances;
+		distances = newDistances;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.BEACON__DISTANCES, oldDistances,
+					distances));
+	}
+
+	/**
+	 * <!-- 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, IPos_DatamodelPackage.BEACON__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSensorId() {
+		return sensorId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSensorId(String newSensorId) {
+		String oldSensorId = sensorId;
+		sensorId = newSensorId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.BEACON__SENSOR_ID, oldSensorId,
+					sensorId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.BEACON__DISTANCES:
+			return getDistances();
+		case IPos_DatamodelPackage.BEACON__TYPE:
+			return getType();
+		case IPos_DatamodelPackage.BEACON__SENSOR_ID:
+			return getSensorId();
+		}
+		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 IPos_DatamodelPackage.BEACON__DISTANCES:
+			setDistances((Map<String, Integer>) newValue);
+			return;
+		case IPos_DatamodelPackage.BEACON__TYPE:
+			setType((String) newValue);
+			return;
+		case IPos_DatamodelPackage.BEACON__SENSOR_ID:
+			setSensorId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.BEACON__DISTANCES:
+			setDistances((Map<String, Integer>) null);
+			return;
+		case IPos_DatamodelPackage.BEACON__TYPE:
+			setType(TYPE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.BEACON__SENSOR_ID:
+			setSensorId(SENSOR_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.BEACON__DISTANCES:
+			return distances != null;
+		case IPos_DatamodelPackage.BEACON__TYPE:
+			return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+		case IPos_DatamodelPackage.BEACON__SENSOR_ID:
+			return SENSOR_ID_EDEFAULT == null ? sensorId != null : !SENSOR_ID_EDEFAULT.equals(sensorId);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (distances: ");
+		result.append(distances);
+		result.append(", type: ");
+		result.append(type);
+		result.append(", sensorId: ");
+		result.append(sensorId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //BeaconImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BluetoothImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BluetoothImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..5e060bca1a9a05d5d5f4252d813294656384d40f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/BluetoothImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bluetooth</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.BluetoothImpl#getRss <em>Rss</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BluetoothImpl extends BeaconImpl implements Bluetooth {
+	/**
+	 * The cached value of the '{@link #getRss() <em>Rss</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRss()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, Integer> rss;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BluetoothImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.BLUETOOTH;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, Integer> getRss() {
+		return rss;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRss(Map<String, Integer> newRss) {
+		Map<String, Integer> oldRss = rss;
+		rss = newRss;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.BLUETOOTH__RSS, oldRss, rss));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.BLUETOOTH__RSS:
+			return getRss();
+		}
+		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 IPos_DatamodelPackage.BLUETOOTH__RSS:
+			setRss((Map<String, Integer>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.BLUETOOTH__RSS:
+			setRss((Map<String, Integer>) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.BLUETOOTH__RSS:
+			return rss != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (rss: ");
+		result.append(rss);
+		result.append(')');
+		return result.toString();
+	}
+
+} //BluetoothImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..5ae52a5efe39d208fc982f227939081380e47045
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryRequestImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Storage Query Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container implements DataStorageQueryRequest {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataStorageQueryRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.DATA_STORAGE_QUERY_REQUEST;
+	}
+
+} //DataStorageQueryRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..44f57587b40cc8d70e6682f8f0420f1522a29050
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageRequestImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Storage Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataStorageRequestImpl extends MinimalEObjectImpl.Container implements DataStorageRequest {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataStorageRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.DATA_STORAGE_REQUEST;
+	}
+
+} //DataStorageRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EntityImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EntityImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..37975e3d209ea054c7dd6153182ae893eaaf55ca
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EntityImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Entity;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EntityImpl#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EntityImpl extends MinimalEObjectImpl.Container implements Entity {
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.ENTITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.ENTITY__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ENTITY__ID:
+			return getId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ENTITY__ID:
+			setId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ENTITY__ID:
+			setId(ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ENTITY__ID:
+			return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConditionImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConditionImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..7d28c6e1e1fe608c77d104f4114fb6489aca288f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConditionImpl.java
@@ -0,0 +1,734 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import java.util.ArrayList;
+import java.util.List;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Filter Condition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getTimeCondition <em>Time Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getAccuracyCondition <em>Accuracy Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getPositionCondition <em>Position Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getTimeMinInterval <em>Time Min Interval</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getPositionDelta <em>Position Delta</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getSensorIdCondition <em>Sensor Id Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getFilterStructure <em>Filter Structure</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getPositionConditionCell <em>Position Condition Cell</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getIdCondition <em>Id Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getCategoryCondition <em>Category Condition</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConditionImpl#getPositionConditionCellId <em>Position Condition Cell Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EventFilterConditionImpl extends MinimalEObjectImpl.Container implements EventFilterCondition {
+	/**
+	 * The default value of the '{@link #getTimeCondition() <em>Time Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final ArrayList<String[]> TIME_CONDITION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTimeCondition() <em>Time Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected ArrayList<String[]> timeCondition = TIME_CONDITION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAccuracyCondition() <em>Accuracy Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAccuracyCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float ACCURACY_CONDITION_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getAccuracyCondition() <em>Accuracy Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAccuracyCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected float accuracyCondition = ACCURACY_CONDITION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPositionCondition() <em>Position Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final ArrayList<Float[]> POSITION_CONDITION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPositionCondition() <em>Position Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected ArrayList<Float[]> positionCondition = POSITION_CONDITION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getTimeMinInterval() <em>Time Min Interval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeMinInterval()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int TIME_MIN_INTERVAL_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getTimeMinInterval() <em>Time Min Interval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeMinInterval()
+	 * @generated
+	 * @ordered
+	 */
+	protected int timeMinInterval = TIME_MIN_INTERVAL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPositionDelta() <em>Position Delta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionDelta()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float POSITION_DELTA_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getPositionDelta() <em>Position Delta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionDelta()
+	 * @generated
+	 * @ordered
+	 */
+	protected float positionDelta = POSITION_DELTA_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSensorIdCondition() <em>Sensor Id Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorIdCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final List<String> SENSOR_ID_CONDITION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSensorIdCondition() <em>Sensor Id Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorIdCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected List<String> sensorIdCondition = SENSOR_ID_CONDITION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFilterStructure() <em>Filter Structure</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFilterStructure()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean[] FILTER_STRUCTURE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFilterStructure() <em>Filter Structure</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFilterStructure()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean[] filterStructure = FILTER_STRUCTURE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPositionConditionCell() <em>Position Condition Cell</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionConditionCell()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final ArrayList<Float[][]> POSITION_CONDITION_CELL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPositionConditionCell() <em>Position Condition Cell</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionConditionCell()
+	 * @generated
+	 * @ordered
+	 */
+	protected ArrayList<Float[][]> positionConditionCell = POSITION_CONDITION_CELL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getIdCondition() <em>Id Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIdCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final List<String> ID_CONDITION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getIdCondition() <em>Id Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIdCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected List<String> idCondition = ID_CONDITION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCategoryCondition() <em>Category Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCategoryCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final List<String> CATEGORY_CONDITION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCategoryCondition() <em>Category Condition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCategoryCondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected List<String> categoryCondition = CATEGORY_CONDITION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPositionConditionCellId() <em>Position Condition Cell Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionConditionCellId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String POSITION_CONDITION_CELL_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPositionConditionCellId() <em>Position Condition Cell Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionConditionCellId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String positionConditionCellId = POSITION_CONDITION_CELL_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EventFilterConditionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.EVENT_FILTER_CONDITION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArrayList<String[]> getTimeCondition() {
+		return timeCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTimeCondition(ArrayList<String[]> newTimeCondition) {
+		ArrayList<String[]> oldTimeCondition = timeCondition;
+		timeCondition = newTimeCondition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_CONDITION, oldTimeCondition, timeCondition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getAccuracyCondition() {
+		return accuracyCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAccuracyCondition(float newAccuracyCondition) {
+		float oldAccuracyCondition = accuracyCondition;
+		accuracyCondition = newAccuracyCondition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ACCURACY_CONDITION, oldAccuracyCondition,
+					accuracyCondition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArrayList<Float[]> getPositionCondition() {
+		return positionCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPositionCondition(ArrayList<Float[]> newPositionCondition) {
+		ArrayList<Float[]> oldPositionCondition = positionCondition;
+		positionCondition = newPositionCondition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION, oldPositionCondition,
+					positionCondition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getTimeMinInterval() {
+		return timeMinInterval;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTimeMinInterval(int newTimeMinInterval) {
+		int oldTimeMinInterval = timeMinInterval;
+		timeMinInterval = newTimeMinInterval;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL, oldTimeMinInterval,
+					timeMinInterval));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getPositionDelta() {
+		return positionDelta;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPositionDelta(float newPositionDelta) {
+		float oldPositionDelta = positionDelta;
+		positionDelta = newPositionDelta;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_DELTA, oldPositionDelta, positionDelta));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<String> getSensorIdCondition() {
+		return sensorIdCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSensorIdCondition(List<String> newSensorIdCondition) {
+		List<String> oldSensorIdCondition = sensorIdCondition;
+		sensorIdCondition = newSensorIdCondition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION, oldSensorIdCondition,
+					sensorIdCondition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean[] getFilterStructure() {
+		return filterStructure;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFilterStructure(boolean[] newFilterStructure) {
+		boolean[] oldFilterStructure = filterStructure;
+		filterStructure = newFilterStructure;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__FILTER_STRUCTURE, oldFilterStructure,
+					filterStructure));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArrayList<Float[][]> getPositionConditionCell() {
+		return positionConditionCell;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPositionConditionCell(ArrayList<Float[][]> newPositionConditionCell) {
+		ArrayList<Float[][]> oldPositionConditionCell = positionConditionCell;
+		positionConditionCell = newPositionConditionCell;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL, oldPositionConditionCell,
+					positionConditionCell));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<String> getIdCondition() {
+		return idCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setIdCondition(List<String> newIdCondition) {
+		List<String> oldIdCondition = idCondition;
+		idCondition = newIdCondition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ID_CONDITION, oldIdCondition, idCondition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<String> getCategoryCondition() {
+		return categoryCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCategoryCondition(List<String> newCategoryCondition) {
+		List<String> oldCategoryCondition = categoryCondition;
+		categoryCondition = newCategoryCondition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__CATEGORY_CONDITION, oldCategoryCondition,
+					categoryCondition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPositionConditionCellId() {
+		return positionConditionCellId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPositionConditionCellId(String newPositionConditionCellId) {
+		String oldPositionConditionCellId = positionConditionCellId;
+		positionConditionCellId = newPositionConditionCellId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID,
+					oldPositionConditionCellId, positionConditionCellId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_CONDITION:
+			return getTimeCondition();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ACCURACY_CONDITION:
+			return getAccuracyCondition();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION:
+			return getPositionCondition();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL:
+			return getTimeMinInterval();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_DELTA:
+			return getPositionDelta();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION:
+			return getSensorIdCondition();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__FILTER_STRUCTURE:
+			return getFilterStructure();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL:
+			return getPositionConditionCell();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ID_CONDITION:
+			return getIdCondition();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__CATEGORY_CONDITION:
+			return getCategoryCondition();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID:
+			return getPositionConditionCellId();
+		}
+		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 IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_CONDITION:
+			setTimeCondition((ArrayList<String[]>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ACCURACY_CONDITION:
+			setAccuracyCondition((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION:
+			setPositionCondition((ArrayList<Float[]>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL:
+			setTimeMinInterval((Integer) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_DELTA:
+			setPositionDelta((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION:
+			setSensorIdCondition((List<String>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__FILTER_STRUCTURE:
+			setFilterStructure((boolean[]) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL:
+			setPositionConditionCell((ArrayList<Float[][]>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ID_CONDITION:
+			setIdCondition((List<String>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__CATEGORY_CONDITION:
+			setCategoryCondition((List<String>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID:
+			setPositionConditionCellId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_CONDITION:
+			setTimeCondition(TIME_CONDITION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ACCURACY_CONDITION:
+			setAccuracyCondition(ACCURACY_CONDITION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION:
+			setPositionCondition(POSITION_CONDITION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL:
+			setTimeMinInterval(TIME_MIN_INTERVAL_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_DELTA:
+			setPositionDelta(POSITION_DELTA_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION:
+			setSensorIdCondition(SENSOR_ID_CONDITION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__FILTER_STRUCTURE:
+			setFilterStructure(FILTER_STRUCTURE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL:
+			setPositionConditionCell(POSITION_CONDITION_CELL_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ID_CONDITION:
+			setIdCondition(ID_CONDITION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__CATEGORY_CONDITION:
+			setCategoryCondition(CATEGORY_CONDITION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID:
+			setPositionConditionCellId(POSITION_CONDITION_CELL_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_CONDITION:
+			return TIME_CONDITION_EDEFAULT == null ? timeCondition != null
+					: !TIME_CONDITION_EDEFAULT.equals(timeCondition);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ACCURACY_CONDITION:
+			return accuracyCondition != ACCURACY_CONDITION_EDEFAULT;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION:
+			return POSITION_CONDITION_EDEFAULT == null ? positionCondition != null
+					: !POSITION_CONDITION_EDEFAULT.equals(positionCondition);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL:
+			return timeMinInterval != TIME_MIN_INTERVAL_EDEFAULT;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_DELTA:
+			return positionDelta != POSITION_DELTA_EDEFAULT;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION:
+			return SENSOR_ID_CONDITION_EDEFAULT == null ? sensorIdCondition != null
+					: !SENSOR_ID_CONDITION_EDEFAULT.equals(sensorIdCondition);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__FILTER_STRUCTURE:
+			return FILTER_STRUCTURE_EDEFAULT == null ? filterStructure != null
+					: !FILTER_STRUCTURE_EDEFAULT.equals(filterStructure);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL:
+			return POSITION_CONDITION_CELL_EDEFAULT == null ? positionConditionCell != null
+					: !POSITION_CONDITION_CELL_EDEFAULT.equals(positionConditionCell);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__ID_CONDITION:
+			return ID_CONDITION_EDEFAULT == null ? idCondition != null : !ID_CONDITION_EDEFAULT.equals(idCondition);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__CATEGORY_CONDITION:
+			return CATEGORY_CONDITION_EDEFAULT == null ? categoryCondition != null
+					: !CATEGORY_CONDITION_EDEFAULT.equals(categoryCondition);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID:
+			return POSITION_CONDITION_CELL_ID_EDEFAULT == null ? positionConditionCellId != null
+					: !POSITION_CONDITION_CELL_ID_EDEFAULT.equals(positionConditionCellId);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (timeCondition: ");
+		result.append(timeCondition);
+		result.append(", accuracyCondition: ");
+		result.append(accuracyCondition);
+		result.append(", positionCondition: ");
+		result.append(positionCondition);
+		result.append(", timeMinInterval: ");
+		result.append(timeMinInterval);
+		result.append(", positionDelta: ");
+		result.append(positionDelta);
+		result.append(", sensorIdCondition: ");
+		result.append(sensorIdCondition);
+		result.append(", filterStructure: ");
+		result.append(filterStructure);
+		result.append(", positionConditionCell: ");
+		result.append(positionConditionCell);
+		result.append(", idCondition: ");
+		result.append(idCondition);
+		result.append(", categoryCondition: ");
+		result.append(categoryCondition);
+		result.append(", positionConditionCellId: ");
+		result.append(positionConditionCellId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EventFilterConditionImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConfigurationImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConfigurationImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..dff71e1af62b26c8a9a39ac1c68b592eda5cfd68
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConfigurationImpl.java
@@ -0,0 +1,304 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition;
+import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Filter Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl#getPositionAmbiguityStrategy <em>Position Ambiguity Strategy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl#getPositionAmbiguityParameters <em>Position Ambiguity Parameters</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl#getFilterCriteria <em>Filter Criteria</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl#getEventfiltercondition <em>Eventfiltercondition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EventFilterConfigurationImpl extends MinimalEObjectImpl.Container implements EventFilterConfiguration {
+	/**
+	 * The default value of the '{@link #getPositionAmbiguityStrategy() <em>Position Ambiguity Strategy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionAmbiguityStrategy()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String POSITION_AMBIGUITY_STRATEGY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPositionAmbiguityStrategy() <em>Position Ambiguity Strategy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionAmbiguityStrategy()
+	 * @generated
+	 * @ordered
+	 */
+	protected String positionAmbiguityStrategy = POSITION_AMBIGUITY_STRATEGY_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getPositionAmbiguityParameters() <em>Position Ambiguity Parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPositionAmbiguityParameters()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, String> positionAmbiguityParameters;
+
+	/**
+	 * The cached value of the '{@link #getFilterCriteria() <em>Filter Criteria</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFilterCriteria()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, EObject> filterCriteria;
+
+	/**
+	 * The cached value of the '{@link #getEventfiltercondition() <em>Eventfiltercondition</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventfiltercondition()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EventFilterCondition> eventfiltercondition;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EventFilterConfigurationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.EVENT_FILTER_CONFIGURATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPositionAmbiguityStrategy() {
+		return positionAmbiguityStrategy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPositionAmbiguityStrategy(String newPositionAmbiguityStrategy) {
+		String oldPositionAmbiguityStrategy = positionAmbiguityStrategy;
+		positionAmbiguityStrategy = newPositionAmbiguityStrategy;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY,
+					oldPositionAmbiguityStrategy, positionAmbiguityStrategy));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, String> getPositionAmbiguityParameters() {
+		return positionAmbiguityParameters;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPositionAmbiguityParameters(Map<String, String> newPositionAmbiguityParameters) {
+		Map<String, String> oldPositionAmbiguityParameters = positionAmbiguityParameters;
+		positionAmbiguityParameters = newPositionAmbiguityParameters;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS,
+					oldPositionAmbiguityParameters, positionAmbiguityParameters));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, EObject> getFilterCriteria() {
+		return filterCriteria;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFilterCriteria(Map<String, EObject> newFilterCriteria) {
+		Map<String, EObject> oldFilterCriteria = filterCriteria;
+		filterCriteria = newFilterCriteria;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA, oldFilterCriteria,
+					filterCriteria));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EventFilterCondition> getEventfiltercondition() {
+		if (eventfiltercondition == null) {
+			eventfiltercondition = new EObjectResolvingEList<EventFilterCondition>(EventFilterCondition.class, this,
+					IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION);
+		}
+		return eventfiltercondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY:
+			return getPositionAmbiguityStrategy();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS:
+			return getPositionAmbiguityParameters();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA:
+			return getFilterCriteria();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION:
+			return getEventfiltercondition();
+		}
+		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 IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY:
+			setPositionAmbiguityStrategy((String) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS:
+			setPositionAmbiguityParameters((Map<String, String>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA:
+			setFilterCriteria((Map<String, EObject>) newValue);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION:
+			getEventfiltercondition().clear();
+			getEventfiltercondition().addAll((Collection<? extends EventFilterCondition>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY:
+			setPositionAmbiguityStrategy(POSITION_AMBIGUITY_STRATEGY_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS:
+			setPositionAmbiguityParameters((Map<String, String>) null);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA:
+			setFilterCriteria((Map<String, EObject>) null);
+			return;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION:
+			getEventfiltercondition().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY:
+			return POSITION_AMBIGUITY_STRATEGY_EDEFAULT == null ? positionAmbiguityStrategy != null
+					: !POSITION_AMBIGUITY_STRATEGY_EDEFAULT.equals(positionAmbiguityStrategy);
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS:
+			return positionAmbiguityParameters != null;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA:
+			return filterCriteria != null;
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION:
+			return eventfiltercondition != null && !eventfiltercondition.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (positionAmbiguityStrategy: ");
+		result.append(positionAmbiguityStrategy);
+		result.append(", positionAmbiguityParameters: ");
+		result.append(positionAmbiguityParameters);
+		result.append(", filterCriteria: ");
+		result.append(filterCriteria);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EventFilterConfigurationImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/GaussianImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/GaussianImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e068054305f85e5231cd22c1914d3ab59b9cec7b
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/GaussianImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Gaussian;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gaussian</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.GaussianImpl#getConfidenceInterval <em>Confidence Interval</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GaussianImpl extends AccuracyImpl implements Gaussian {
+	/**
+	 * The default value of the '{@link #getConfidenceInterval() <em>Confidence Interval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConfidenceInterval()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float CONFIDENCE_INTERVAL_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getConfidenceInterval() <em>Confidence Interval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConfidenceInterval()
+	 * @generated
+	 * @ordered
+	 */
+	protected float confidenceInterval = CONFIDENCE_INTERVAL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected GaussianImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.GAUSSIAN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getConfidenceInterval() {
+		return confidenceInterval;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setConfidenceInterval(float newConfidenceInterval) {
+		float oldConfidenceInterval = confidenceInterval;
+		confidenceInterval = newConfidenceInterval;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.GAUSSIAN__CONFIDENCE_INTERVAL,
+					oldConfidenceInterval, confidenceInterval));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.GAUSSIAN__CONFIDENCE_INTERVAL:
+			return getConfidenceInterval();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.GAUSSIAN__CONFIDENCE_INTERVAL:
+			setConfidenceInterval((Float) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.GAUSSIAN__CONFIDENCE_INTERVAL:
+			setConfidenceInterval(CONFIDENCE_INTERVAL_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.GAUSSIAN__CONFIDENCE_INTERVAL:
+			return confidenceInterval != CONFIDENCE_INTERVAL_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (confidenceInterval: ");
+		result.append(confidenceInterval);
+		result.append(')');
+		return result.toString();
+	}
+
+} //GaussianImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IMUImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IMUImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..774e5906e891669260432083438691ad30ddaf6d
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IMUImpl.java
@@ -0,0 +1,293 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Acceleration;
+import ipos.project.DataModellntegration.iPos_Datamodel.IMU;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Quaternion;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IMU</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.IMUImpl#getAngularrate <em>Angularrate</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.IMUImpl#getAcceleration <em>Acceleration</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.IMUImpl#getSensorId <em>Sensor Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IMUImpl extends RawdataEventImpl implements IMU {
+	/**
+	 * The cached value of the '{@link #getAngularrate() <em>Angularrate</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAngularrate()
+	 * @generated
+	 * @ordered
+	 */
+	protected Quaternion angularrate;
+
+	/**
+	 * The cached value of the '{@link #getAcceleration() <em>Acceleration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAcceleration()
+	 * @generated
+	 * @ordered
+	 */
+	protected Acceleration acceleration;
+
+	/**
+	 * The default value of the '{@link #getSensorId() <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SENSOR_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSensorId() <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String sensorId = SENSOR_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMUImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.IMU;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Quaternion getAngularrate() {
+		if (angularrate != null && angularrate.eIsProxy()) {
+			InternalEObject oldAngularrate = (InternalEObject) angularrate;
+			angularrate = (Quaternion) eResolveProxy(oldAngularrate);
+			if (angularrate != oldAngularrate) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, IPos_DatamodelPackage.IMU__ANGULARRATE,
+							oldAngularrate, angularrate));
+			}
+		}
+		return angularrate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Quaternion basicGetAngularrate() {
+		return angularrate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAngularrate(Quaternion newAngularrate) {
+		Quaternion oldAngularrate = angularrate;
+		angularrate = newAngularrate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.IMU__ANGULARRATE,
+					oldAngularrate, angularrate));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Acceleration getAcceleration() {
+		if (acceleration != null && acceleration.eIsProxy()) {
+			InternalEObject oldAcceleration = (InternalEObject) acceleration;
+			acceleration = (Acceleration) eResolveProxy(oldAcceleration);
+			if (acceleration != oldAcceleration) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, IPos_DatamodelPackage.IMU__ACCELERATION,
+							oldAcceleration, acceleration));
+			}
+		}
+		return acceleration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Acceleration basicGetAcceleration() {
+		return acceleration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAcceleration(Acceleration newAcceleration) {
+		Acceleration oldAcceleration = acceleration;
+		acceleration = newAcceleration;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.IMU__ACCELERATION,
+					oldAcceleration, acceleration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSensorId() {
+		return sensorId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSensorId(String newSensorId) {
+		String oldSensorId = sensorId;
+		sensorId = newSensorId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.IMU__SENSOR_ID, oldSensorId,
+					sensorId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.IMU__ANGULARRATE:
+			if (resolve)
+				return getAngularrate();
+			return basicGetAngularrate();
+		case IPos_DatamodelPackage.IMU__ACCELERATION:
+			if (resolve)
+				return getAcceleration();
+			return basicGetAcceleration();
+		case IPos_DatamodelPackage.IMU__SENSOR_ID:
+			return getSensorId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.IMU__ANGULARRATE:
+			setAngularrate((Quaternion) newValue);
+			return;
+		case IPos_DatamodelPackage.IMU__ACCELERATION:
+			setAcceleration((Acceleration) newValue);
+			return;
+		case IPos_DatamodelPackage.IMU__SENSOR_ID:
+			setSensorId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.IMU__ANGULARRATE:
+			setAngularrate((Quaternion) null);
+			return;
+		case IPos_DatamodelPackage.IMU__ACCELERATION:
+			setAcceleration((Acceleration) null);
+			return;
+		case IPos_DatamodelPackage.IMU__SENSOR_ID:
+			setSensorId(SENSOR_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.IMU__ANGULARRATE:
+			return angularrate != null;
+		case IPos_DatamodelPackage.IMU__ACCELERATION:
+			return acceleration != null;
+		case IPos_DatamodelPackage.IMU__SENSOR_ID:
+			return SENSOR_ID_EDEFAULT == null ? sensorId != null : !SENSOR_ID_EDEFAULT.equals(sensorId);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (sensorId: ");
+		result.append(sensorId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IMUImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelFactoryImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelFactoryImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..247cecdcdbdcb66acc37f0e515f81d9f3dea1a4b
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelFactoryImpl.java
@@ -0,0 +1,768 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IPos_DatamodelFactoryImpl extends EFactoryImpl implements IPos_DatamodelFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static IPos_DatamodelFactory init() {
+		try {
+			IPos_DatamodelFactory theIPos_DatamodelFactory = (IPos_DatamodelFactory) EPackage.Registry.INSTANCE
+					.getEFactory(IPos_DatamodelPackage.eNS_URI);
+			if (theIPos_DatamodelFactory != null) {
+				return theIPos_DatamodelFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new IPos_DatamodelFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPos_DatamodelFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case IPos_DatamodelPackage.AGENT:
+			return createAgent();
+		case IPos_DatamodelPackage.ENTITY:
+			return createEntity();
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT:
+			return createLocalizableObject();
+		case IPos_DatamodelPackage.PLACING:
+			return createPlacing();
+		case IPos_DatamodelPackage.POSITION:
+			return createPosition();
+		case IPos_DatamodelPackage.ORIENTATION:
+			return createOrientation();
+		case IPos_DatamodelPackage.WGS84_POINT:
+			return createWGS84Point();
+		case IPos_DatamodelPackage.ACCURACY:
+			return createAccuracy();
+		case IPos_DatamodelPackage.POINT2_D:
+			return createPoint2D();
+		case IPos_DatamodelPackage.POINT3_D:
+			return createPoint3D();
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM:
+			return createReferenceSystem();
+		case IPos_DatamodelPackage.ZONE:
+			return createZone();
+		case IPos_DatamodelPackage.ZONE_MAP:
+			return createZoneMap();
+		case IPos_DatamodelPackage.SPACE:
+			return createSpace();
+		case IPos_DatamodelPackage.MAP_TYPE:
+			return createMapType();
+		case IPos_DatamodelPackage.QUATERNION:
+			return createQuaternion();
+		case IPos_DatamodelPackage.GAUSSIAN:
+			return createGaussian();
+		case IPos_DatamodelPackage.POINT:
+			return createPoint();
+		case IPos_DatamodelPackage.RAWDATA_EVENT:
+			return createRawdataEvent();
+		case IPos_DatamodelPackage.PROXIMITY:
+			return createProximity();
+		case IPos_DatamodelPackage.RFID:
+			return createRFID();
+		case IPos_DatamodelPackage.NFC:
+			return createNFC();
+		case IPos_DatamodelPackage.IMU:
+			return createIMU();
+		case IPos_DatamodelPackage.ACCELERATION:
+			return createAcceleration();
+		case IPos_DatamodelPackage.BEACON:
+			return createBeacon();
+		case IPos_DatamodelPackage.POSITION_EVENT:
+			return createPositionEvent();
+		case IPos_DatamodelPackage.TRACKING_REQUEST:
+			return createTrackingRequest();
+		case IPos_DatamodelPackage.MONITORING_REQUEST:
+			return createMonitoringRequest();
+		case IPos_DatamodelPackage.WORLD_MODEL_UPDATE_REQUEST:
+			return createWorldModelUpdateRequest();
+		case IPos_DatamodelPackage.DATA_STORAGE_REQUEST:
+			return createDataStorageRequest();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION:
+			return createEventFilterConfiguration();
+		case IPos_DatamodelPackage.WORLD_MODEL_QUERY_REQUEST:
+			return createWorldModelQueryRequest();
+		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST:
+			return createDataStorageQueryRequest();
+		case IPos_DatamodelPackage.AGENT_REGISTRATION_REQUEST:
+			return createAgentRegistrationRequest();
+		case IPos_DatamodelPackage.MONITORING_TASK:
+			return createMonitoringTask();
+		case IPos_DatamodelPackage.TRACKING_TASK:
+			return createTrackingTask();
+		case IPos_DatamodelPackage.WORLD_MODEL:
+			return createWorldModel();
+		case IPos_DatamodelPackage.BARCODE:
+			return createBarcode();
+		case IPos_DatamodelPackage.OTHER_PROX:
+			return createOtherProx();
+		case IPos_DatamodelPackage.BLUETOOTH:
+			return createBluetooth();
+		case IPos_DatamodelPackage.UWB:
+			return createUWB();
+		case IPos_DatamodelPackage.SENSOR_CONFIGURATION_REQUEST:
+			return createSensorConfigurationRequest();
+		case IPos_DatamodelPackage.OTHER_BEACON:
+			return createOtherBeacon();
+		case IPos_DatamodelPackage.POI:
+			return createPOI();
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION:
+			return createEventFilterCondition();
+		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 IPos_DatamodelPackage.STRING_LIST:
+			return createStringListFromString(eDataType, initialValue);
+		case IPos_DatamodelPackage.STRING_ARRAY:
+			return createStringArrayFromString(eDataType, initialValue);
+		case IPos_DatamodelPackage.FLOAT_ARRAY3D:
+			return createFloatArray3dFromString(eDataType, initialValue);
+		case IPos_DatamodelPackage.BOOLEAN_LIST:
+			return createBooleanListFromString(eDataType, initialValue);
+		case IPos_DatamodelPackage.FLOAT_ARRAY:
+			return createFloatArrayFromString(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 IPos_DatamodelPackage.STRING_LIST:
+			return convertStringListToString(eDataType, instanceValue);
+		case IPos_DatamodelPackage.STRING_ARRAY:
+			return convertStringArrayToString(eDataType, instanceValue);
+		case IPos_DatamodelPackage.FLOAT_ARRAY3D:
+			return convertFloatArray3dToString(eDataType, instanceValue);
+		case IPos_DatamodelPackage.BOOLEAN_LIST:
+			return convertBooleanListToString(eDataType, instanceValue);
+		case IPos_DatamodelPackage.FLOAT_ARRAY:
+			return convertFloatArrayToString(eDataType, instanceValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Agent createAgent() {
+		AgentImpl agent = new AgentImpl();
+		return agent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Entity createEntity() {
+		EntityImpl entity = new EntityImpl();
+		return entity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LocalizableObject createLocalizableObject() {
+		LocalizableObjectImpl localizableObject = new LocalizableObjectImpl();
+		return localizableObject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing createPlacing() {
+		PlacingImpl placing = new PlacingImpl();
+		return placing;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Position createPosition() {
+		PositionImpl position = new PositionImpl();
+		return position;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Orientation createOrientation() {
+		OrientationImpl orientation = new OrientationImpl();
+		return orientation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WGS84Point createWGS84Point() {
+		WGS84PointImpl wgs84Point = new WGS84PointImpl();
+		return wgs84Point;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Accuracy createAccuracy() {
+		AccuracyImpl accuracy = new AccuracyImpl();
+		return accuracy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Point2D createPoint2D() {
+		Point2DImpl point2D = new Point2DImpl();
+		return point2D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Point3D createPoint3D() {
+		Point3DImpl point3D = new Point3DImpl();
+		return point3D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReferenceSystem createReferenceSystem() {
+		ReferenceSystemImpl referenceSystem = new ReferenceSystemImpl();
+		return referenceSystem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Zone createZone() {
+		ZoneImpl zone = new ZoneImpl();
+		return zone;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ZoneMap createZoneMap() {
+		ZoneMapImpl zoneMap = new ZoneMapImpl();
+		return zoneMap;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Space createSpace() {
+		SpaceImpl space = new SpaceImpl();
+		return space;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MapType createMapType() {
+		MapTypeImpl mapType = new MapTypeImpl();
+		return mapType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Quaternion createQuaternion() {
+		QuaternionImpl quaternion = new QuaternionImpl();
+		return quaternion;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Gaussian createGaussian() {
+		GaussianImpl gaussian = new GaussianImpl();
+		return gaussian;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Point createPoint() {
+		PointImpl point = new PointImpl();
+		return point;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RawdataEvent createRawdataEvent() {
+		RawdataEventImpl rawdataEvent = new RawdataEventImpl();
+		return rawdataEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Proximity createProximity() {
+		ProximityImpl proximity = new ProximityImpl();
+		return proximity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RFID createRFID() {
+		RFIDImpl rfid = new RFIDImpl();
+		return rfid;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NFC createNFC() {
+		NFCImpl nfc = new NFCImpl();
+		return nfc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IMU createIMU() {
+		IMUImpl imu = new IMUImpl();
+		return imu;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Acceleration createAcceleration() {
+		AccelerationImpl acceleration = new AccelerationImpl();
+		return acceleration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Beacon createBeacon() {
+		BeaconImpl beacon = new BeaconImpl();
+		return beacon;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PositionEvent createPositionEvent() {
+		PositionEventImpl positionEvent = new PositionEventImpl();
+		return positionEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TrackingRequest createTrackingRequest() {
+		TrackingRequestImpl trackingRequest = new TrackingRequestImpl();
+		return trackingRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoringRequest createMonitoringRequest() {
+		MonitoringRequestImpl monitoringRequest = new MonitoringRequestImpl();
+		return monitoringRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorldModelUpdateRequest createWorldModelUpdateRequest() {
+		WorldModelUpdateRequestImpl worldModelUpdateRequest = new WorldModelUpdateRequestImpl();
+		return worldModelUpdateRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataStorageRequest createDataStorageRequest() {
+		DataStorageRequestImpl dataStorageRequest = new DataStorageRequestImpl();
+		return dataStorageRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EventFilterConfiguration createEventFilterConfiguration() {
+		EventFilterConfigurationImpl eventFilterConfiguration = new EventFilterConfigurationImpl();
+		return eventFilterConfiguration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorldModelQueryRequest createWorldModelQueryRequest() {
+		WorldModelQueryRequestImpl worldModelQueryRequest = new WorldModelQueryRequestImpl();
+		return worldModelQueryRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataStorageQueryRequest createDataStorageQueryRequest() {
+		DataStorageQueryRequestImpl dataStorageQueryRequest = new DataStorageQueryRequestImpl();
+		return dataStorageQueryRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentRegistrationRequest createAgentRegistrationRequest() {
+		AgentRegistrationRequestImpl agentRegistrationRequest = new AgentRegistrationRequestImpl();
+		return agentRegistrationRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoringTask createMonitoringTask() {
+		MonitoringTaskImpl monitoringTask = new MonitoringTaskImpl();
+		return monitoringTask;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TrackingTask createTrackingTask() {
+		TrackingTaskImpl trackingTask = new TrackingTaskImpl();
+		return trackingTask;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorldModel createWorldModel() {
+		WorldModelImpl worldModel = new WorldModelImpl();
+		return worldModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Barcode createBarcode() {
+		BarcodeImpl barcode = new BarcodeImpl();
+		return barcode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OtherProx createOtherProx() {
+		OtherProxImpl otherProx = new OtherProxImpl();
+		return otherProx;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Bluetooth createBluetooth() {
+		BluetoothImpl bluetooth = new BluetoothImpl();
+		return bluetooth;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UWB createUWB() {
+		UWBImpl uwb = new UWBImpl();
+		return uwb;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SensorConfigurationRequest createSensorConfigurationRequest() {
+		SensorConfigurationRequestImpl sensorConfigurationRequest = new SensorConfigurationRequestImpl();
+		return sensorConfigurationRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OtherBeacon createOtherBeacon() {
+		OtherBeaconImpl otherBeacon = new OtherBeaconImpl();
+		return otherBeacon;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public POI createPOI() {
+		POIImpl poi = new POIImpl();
+		return poi;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EventFilterCondition createEventFilterCondition() {
+		EventFilterConditionImpl eventFilterCondition = new EventFilterConditionImpl();
+		return eventFilterCondition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	public List<String> createStringListFromString(EDataType eDataType, String initialValue) {
+		return (List<String>) super.createFromString(initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertStringListToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	public ArrayList<String[]> createStringArrayFromString(EDataType eDataType, String initialValue) {
+		return (ArrayList<String[]>) super.createFromString(initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertStringArrayToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	public ArrayList<Float[][]> createFloatArray3dFromString(EDataType eDataType, String initialValue) {
+		return (ArrayList<Float[][]>) super.createFromString(initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertFloatArray3dToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean[] createBooleanListFromString(EDataType eDataType, String initialValue) {
+		return (boolean[]) super.createFromString(initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertBooleanListToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	public ArrayList<Float[]> createFloatArrayFromString(EDataType eDataType, String initialValue) {
+		return (ArrayList<Float[]>) super.createFromString(initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertFloatArrayToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPos_DatamodelPackage getIPos_DatamodelPackage() {
+		return (IPos_DatamodelPackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static IPos_DatamodelPackage getPackage() {
+		return IPos_DatamodelPackage.eINSTANCE;
+	}
+
+} //IPos_DatamodelFactoryImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelPackageImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..7067fb69b6ff6efd6fc31f49f87e87fe41ecf4db
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelPackageImpl.java
@@ -0,0 +1,2459 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Acceleration;
+import ipos.project.DataModellntegration.iPos_Datamodel.Accuracy;
+import ipos.project.DataModellntegration.iPos_Datamodel.Agent;
+import ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.Barcode;
+import ipos.project.DataModellntegration.iPos_Datamodel.Beacon;
+import ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth;
+import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.Entity;
+import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition;
+import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration;
+import ipos.project.DataModellntegration.iPos_Datamodel.Gaussian;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject;
+import ipos.project.DataModellntegration.iPos_Datamodel.MapType;
+import ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask;
+import ipos.project.DataModellntegration.iPos_Datamodel.Orientation;
+import ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon;
+import ipos.project.DataModellntegration.iPos_Datamodel.OtherProx;
+import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
+import ipos.project.DataModellntegration.iPos_Datamodel.Point;
+import ipos.project.DataModellntegration.iPos_Datamodel.Point2D;
+import ipos.project.DataModellntegration.iPos_Datamodel.Point3D;
+import ipos.project.DataModellntegration.iPos_Datamodel.Position;
+import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.Proximity;
+import ipos.project.DataModellntegration.iPos_Datamodel.Quaternion;
+import ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem;
+import ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.Space;
+import ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask;
+import ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point;
+import ipos.project.DataModellntegration.iPos_Datamodel.WorldModel;
+import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.Zone;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_DatamodelPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass agentEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass localizableObjectEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass placingEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass positionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass orientationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass wgs84PointEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass accuracyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass point2DEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass point3DEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass referenceSystemEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass zoneEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass zoneMapEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass spaceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass mapTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass quaternionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass gaussianEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass pointEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass rawdataEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass proximityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass rfidEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass nfcEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass imuEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass accelerationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass beaconEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass positionEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass trackingRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass monitoringRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass worldModelUpdateRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataStorageRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass eventFilterConfigurationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass worldModelQueryRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataStorageQueryRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass agentRegistrationRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass monitoringTaskEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass trackingTaskEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass worldModelEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass barcodeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass otherProxEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass bluetoothEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass uwbEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass sensorConfigurationRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass otherBeaconEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass poiEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass eventFilterConditionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType stringListEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType stringArrayEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType floatArray3dEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType booleanListEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType floatArrayEDataType = 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 ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private IPos_DatamodelPackageImpl() {
+		super(eNS_URI, IPos_DatamodelFactory.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 IPos_DatamodelPackage#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 IPos_DatamodelPackage init() {
+		if (isInited)
+			return (IPos_DatamodelPackage) EPackage.Registry.INSTANCE.getEPackage(IPos_DatamodelPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredIPos_DatamodelPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		IPos_DatamodelPackageImpl theIPos_DatamodelPackage = registeredIPos_DatamodelPackage instanceof IPos_DatamodelPackageImpl
+				? (IPos_DatamodelPackageImpl) registeredIPos_DatamodelPackage
+				: new IPos_DatamodelPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theIPos_DatamodelPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theIPos_DatamodelPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theIPos_DatamodelPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(IPos_DatamodelPackage.eNS_URI, theIPos_DatamodelPackage);
+		return theIPos_DatamodelPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAgent() {
+		return agentEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgent_LObject() {
+		return (EReference) agentEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAgent_AgentType() {
+		return (EAttribute) agentEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntity() {
+		return entityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntity_Id() {
+		return (EAttribute) entityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getLocalizableObject() {
+		return localizableObjectEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLocalizableObject_LastPosUpdate() {
+		return (EAttribute) localizableObjectEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLocalizableObject_SensorType() {
+		return (EAttribute) localizableObjectEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLocalizableObject_Agent() {
+		return (EReference) localizableObjectEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLocalizableObject_CurrentPlacing() {
+		return (EReference) localizableObjectEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPlacing() {
+		return placingEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPlacing_Position() {
+		return (EReference) placingEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPlacing_Orientation() {
+		return (EReference) placingEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPosition() {
+		return positionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPosition_Accuracy() {
+		return (EReference) positionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPosition_Point() {
+		return (EReference) positionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPosition_ReferenceSystem() {
+		return (EReference) positionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getOrientation() {
+		return orientationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getWGS84Point() {
+		return wgs84PointEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getWGS84Point_Longitude() {
+		return (EAttribute) wgs84PointEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getWGS84Point_Latitude() {
+		return (EAttribute) wgs84PointEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getWGS84Point_Altitude() {
+		return (EAttribute) wgs84PointEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAccuracy() {
+		return accuracyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPoint2D() {
+		return point2DEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPoint2D_X() {
+		return (EAttribute) point2DEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPoint2D_Y() {
+		return (EAttribute) point2DEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPoint3D() {
+		return point3DEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPoint3D_X() {
+		return (EAttribute) point3DEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPoint3D_Y() {
+		return (EAttribute) point3DEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPoint3D_Z() {
+		return (EAttribute) point3DEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getReferenceSystem() {
+		return referenceSystemEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getReferenceSystem_Origin() {
+		return (EReference) referenceSystemEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getReferenceSystem_Name() {
+		return (EAttribute) referenceSystemEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getReferenceSystem_Id() {
+		return (EAttribute) referenceSystemEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getZone() {
+		return zoneEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getZone_Space() {
+		return (EReference) zoneEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getZone_Name() {
+		return (EAttribute) zoneEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getZone_Id() {
+		return (EAttribute) zoneEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getZoneMap() {
+		return zoneMapEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getZoneMap_Zone() {
+		return (EReference) zoneMapEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSpace() {
+		return spaceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSpace_X() {
+		return (EAttribute) spaceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSpace_Y() {
+		return (EAttribute) spaceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSpace_Z() {
+		return (EAttribute) spaceEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSpace_CentrePoint() {
+		return (EReference) spaceEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMapType() {
+		return mapTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getQuaternion() {
+		return quaternionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getQuaternion_X() {
+		return (EAttribute) quaternionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getQuaternion_Y() {
+		return (EAttribute) quaternionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getQuaternion_Z() {
+		return (EAttribute) quaternionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getQuaternion_W() {
+		return (EAttribute) quaternionEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getGaussian() {
+		return gaussianEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getGaussian_ConfidenceInterval() {
+		return (EAttribute) gaussianEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPoint() {
+		return pointEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRawdataEvent() {
+		return rawdataEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRawdataEvent_TimeStamp() {
+		return (EAttribute) rawdataEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getProximity() {
+		return proximityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProximity_TagId() {
+		return (EAttribute) proximityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProximity_Type() {
+		return (EAttribute) proximityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getProximity_ScannerId() {
+		return (EAttribute) proximityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRFID() {
+		return rfidEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRFID_Location() {
+		return (EAttribute) rfidEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getNFC() {
+		return nfcEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getNFC_TagData() {
+		return (EAttribute) nfcEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIMU() {
+		return imuEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIMU_Angularrate() {
+		return (EReference) imuEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIMU_Acceleration() {
+		return (EReference) imuEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIMU_SensorId() {
+		return (EAttribute) imuEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAcceleration() {
+		return accelerationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAcceleration_X() {
+		return (EAttribute) accelerationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAcceleration_Y() {
+		return (EAttribute) accelerationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAcceleration_Z() {
+		return (EAttribute) accelerationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getBeacon() {
+		return beaconEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getBeacon_Distances() {
+		return (EAttribute) beaconEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getBeacon_Type() {
+		return (EAttribute) beaconEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getBeacon_SensorId() {
+		return (EAttribute) beaconEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPositionEvent() {
+		return positionEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPositionEvent_Placing() {
+		return (EReference) positionEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPositionEvent_TimeStamp() {
+		return (EAttribute) positionEventEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPositionEvent_LObjectId() {
+		return (EAttribute) positionEventEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTrackingRequest() {
+		return trackingRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMonitoringRequest() {
+		return monitoringRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_FrameId() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Delta() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_UpdateFrequency() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Type() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Id() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_FusionStrategy() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_ExitNotification() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Properties() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_MonitoringTaskId() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_RequestorProtocol() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getWorldModelUpdateRequest() {
+		return worldModelUpdateRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDataStorageRequest() {
+		return dataStorageRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEventFilterConfiguration() {
+		return eventFilterConfigurationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterConfiguration_PositionAmbiguityStrategy() {
+		return (EAttribute) eventFilterConfigurationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterConfiguration_PositionAmbiguityParameters() {
+		return (EAttribute) eventFilterConfigurationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterConfiguration_FilterCriteria() {
+		return (EAttribute) eventFilterConfigurationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEventFilterConfiguration_Eventfiltercondition() {
+		return (EReference) eventFilterConfigurationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getWorldModelQueryRequest() {
+		return worldModelQueryRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDataStorageQueryRequest() {
+		return dataStorageQueryRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAgentRegistrationRequest() {
+		return agentRegistrationRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMonitoringTask() {
+		return monitoringTaskEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getMonitoringTask_Eventfilterconfiguration() {
+		return (EReference) monitoringTaskEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTrackingTask() {
+		return trackingTaskEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTrackingTask_Eventfilterconfiguration() {
+		return (EReference) trackingTaskEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getWorldModel() {
+		return worldModelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getWorldModel_Agent() {
+		return (EReference) worldModelEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getWorldModel_ZoneMap() {
+		return (EReference) worldModelEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getWorldModel_Pois() {
+		return (EReference) worldModelEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getWorldModel_ReferenceSystem() {
+		return (EReference) worldModelEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getBarcode() {
+		return barcodeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getOtherProx() {
+		return otherProxEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getOtherProx_Data() {
+		return (EAttribute) otherProxEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getBluetooth() {
+		return bluetoothEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getBluetooth_Rss() {
+		return (EAttribute) bluetoothEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getUWB() {
+		return uwbEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSensorConfigurationRequest() {
+		return sensorConfigurationRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getOtherBeacon() {
+		return otherBeaconEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getOtherBeacon_Data() {
+		return (EAttribute) otherBeaconEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPOI() {
+		return poiEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPOI_Placing() {
+		return (EReference) poiEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPOI_Description() {
+		return (EAttribute) poiEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPOI_Data() {
+		return (EAttribute) poiEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPOI_Id() {
+		return (EAttribute) poiEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEventFilterCondition() {
+		return eventFilterConditionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_TimeCondition() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_AccuracyCondition() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_PositionCondition() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_TimeMinInterval() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_PositionDelta() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_SensorIdCondition() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_FilterStructure() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_PositionConditionCell() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_IdCondition() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_CategoryCondition() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEventFilterCondition_PositionConditionCellId() {
+		return (EAttribute) eventFilterConditionEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getStringList() {
+		return stringListEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getStringArray() {
+		return stringArrayEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getFloatArray3d() {
+		return floatArray3dEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getBooleanList() {
+		return booleanListEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getFloatArray() {
+		return floatArrayEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPos_DatamodelFactory getIPos_DatamodelFactory() {
+		return (IPos_DatamodelFactory) 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
+		agentEClass = createEClass(AGENT);
+		createEReference(agentEClass, AGENT__LOBJECT);
+		createEAttribute(agentEClass, AGENT__AGENT_TYPE);
+
+		entityEClass = createEClass(ENTITY);
+		createEAttribute(entityEClass, ENTITY__ID);
+
+		localizableObjectEClass = createEClass(LOCALIZABLE_OBJECT);
+		createEAttribute(localizableObjectEClass, LOCALIZABLE_OBJECT__LAST_POS_UPDATE);
+		createEAttribute(localizableObjectEClass, LOCALIZABLE_OBJECT__SENSOR_TYPE);
+		createEReference(localizableObjectEClass, LOCALIZABLE_OBJECT__AGENT);
+		createEReference(localizableObjectEClass, LOCALIZABLE_OBJECT__CURRENT_PLACING);
+
+		placingEClass = createEClass(PLACING);
+		createEReference(placingEClass, PLACING__POSITION);
+		createEReference(placingEClass, PLACING__ORIENTATION);
+
+		positionEClass = createEClass(POSITION);
+		createEReference(positionEClass, POSITION__ACCURACY);
+		createEReference(positionEClass, POSITION__POINT);
+		createEReference(positionEClass, POSITION__REFERENCE_SYSTEM);
+
+		orientationEClass = createEClass(ORIENTATION);
+
+		wgs84PointEClass = createEClass(WGS84_POINT);
+		createEAttribute(wgs84PointEClass, WGS84_POINT__LONGITUDE);
+		createEAttribute(wgs84PointEClass, WGS84_POINT__LATITUDE);
+		createEAttribute(wgs84PointEClass, WGS84_POINT__ALTITUDE);
+
+		accuracyEClass = createEClass(ACCURACY);
+
+		point2DEClass = createEClass(POINT2_D);
+		createEAttribute(point2DEClass, POINT2_D__X);
+		createEAttribute(point2DEClass, POINT2_D__Y);
+
+		point3DEClass = createEClass(POINT3_D);
+		createEAttribute(point3DEClass, POINT3_D__X);
+		createEAttribute(point3DEClass, POINT3_D__Y);
+		createEAttribute(point3DEClass, POINT3_D__Z);
+
+		referenceSystemEClass = createEClass(REFERENCE_SYSTEM);
+		createEReference(referenceSystemEClass, REFERENCE_SYSTEM__ORIGIN);
+		createEAttribute(referenceSystemEClass, REFERENCE_SYSTEM__NAME);
+		createEAttribute(referenceSystemEClass, REFERENCE_SYSTEM__ID);
+
+		zoneEClass = createEClass(ZONE);
+		createEReference(zoneEClass, ZONE__SPACE);
+		createEAttribute(zoneEClass, ZONE__NAME);
+		createEAttribute(zoneEClass, ZONE__ID);
+
+		zoneMapEClass = createEClass(ZONE_MAP);
+		createEReference(zoneMapEClass, ZONE_MAP__ZONE);
+
+		spaceEClass = createEClass(SPACE);
+		createEAttribute(spaceEClass, SPACE__X);
+		createEAttribute(spaceEClass, SPACE__Y);
+		createEAttribute(spaceEClass, SPACE__Z);
+		createEReference(spaceEClass, SPACE__CENTRE_POINT);
+
+		mapTypeEClass = createEClass(MAP_TYPE);
+
+		quaternionEClass = createEClass(QUATERNION);
+		createEAttribute(quaternionEClass, QUATERNION__X);
+		createEAttribute(quaternionEClass, QUATERNION__Y);
+		createEAttribute(quaternionEClass, QUATERNION__Z);
+		createEAttribute(quaternionEClass, QUATERNION__W);
+
+		gaussianEClass = createEClass(GAUSSIAN);
+		createEAttribute(gaussianEClass, GAUSSIAN__CONFIDENCE_INTERVAL);
+
+		pointEClass = createEClass(POINT);
+
+		rawdataEventEClass = createEClass(RAWDATA_EVENT);
+		createEAttribute(rawdataEventEClass, RAWDATA_EVENT__TIME_STAMP);
+
+		proximityEClass = createEClass(PROXIMITY);
+		createEAttribute(proximityEClass, PROXIMITY__TAG_ID);
+		createEAttribute(proximityEClass, PROXIMITY__TYPE);
+		createEAttribute(proximityEClass, PROXIMITY__SCANNER_ID);
+
+		rfidEClass = createEClass(RFID);
+		createEAttribute(rfidEClass, RFID__LOCATION);
+
+		nfcEClass = createEClass(NFC);
+		createEAttribute(nfcEClass, NFC__TAG_DATA);
+
+		imuEClass = createEClass(IMU);
+		createEReference(imuEClass, IMU__ANGULARRATE);
+		createEReference(imuEClass, IMU__ACCELERATION);
+		createEAttribute(imuEClass, IMU__SENSOR_ID);
+
+		accelerationEClass = createEClass(ACCELERATION);
+		createEAttribute(accelerationEClass, ACCELERATION__X);
+		createEAttribute(accelerationEClass, ACCELERATION__Y);
+		createEAttribute(accelerationEClass, ACCELERATION__Z);
+
+		beaconEClass = createEClass(BEACON);
+		createEAttribute(beaconEClass, BEACON__DISTANCES);
+		createEAttribute(beaconEClass, BEACON__TYPE);
+		createEAttribute(beaconEClass, BEACON__SENSOR_ID);
+
+		positionEventEClass = createEClass(POSITION_EVENT);
+		createEReference(positionEventEClass, POSITION_EVENT__PLACING);
+		createEAttribute(positionEventEClass, POSITION_EVENT__TIME_STAMP);
+		createEAttribute(positionEventEClass, POSITION_EVENT__LOBJECT_ID);
+
+		trackingRequestEClass = createEClass(TRACKING_REQUEST);
+
+		monitoringRequestEClass = createEClass(MONITORING_REQUEST);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__FRAME_ID);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__DELTA);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__UPDATE_FREQUENCY);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__TYPE);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__ID);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__FUSION_STRATEGY);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__EXIT_NOTIFICATION);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__PROPERTIES);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__MONITORING_TASK_ID);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__REQUESTOR_PROTOCOL);
+
+		worldModelUpdateRequestEClass = createEClass(WORLD_MODEL_UPDATE_REQUEST);
+
+		dataStorageRequestEClass = createEClass(DATA_STORAGE_REQUEST);
+
+		eventFilterConfigurationEClass = createEClass(EVENT_FILTER_CONFIGURATION);
+		createEAttribute(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY);
+		createEAttribute(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS);
+		createEAttribute(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA);
+		createEReference(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION);
+
+		worldModelQueryRequestEClass = createEClass(WORLD_MODEL_QUERY_REQUEST);
+
+		dataStorageQueryRequestEClass = createEClass(DATA_STORAGE_QUERY_REQUEST);
+
+		agentRegistrationRequestEClass = createEClass(AGENT_REGISTRATION_REQUEST);
+
+		monitoringTaskEClass = createEClass(MONITORING_TASK);
+		createEReference(monitoringTaskEClass, MONITORING_TASK__EVENTFILTERCONFIGURATION);
+
+		trackingTaskEClass = createEClass(TRACKING_TASK);
+		createEReference(trackingTaskEClass, TRACKING_TASK__EVENTFILTERCONFIGURATION);
+
+		worldModelEClass = createEClass(WORLD_MODEL);
+		createEReference(worldModelEClass, WORLD_MODEL__AGENT);
+		createEReference(worldModelEClass, WORLD_MODEL__ZONE_MAP);
+		createEReference(worldModelEClass, WORLD_MODEL__POIS);
+		createEReference(worldModelEClass, WORLD_MODEL__REFERENCE_SYSTEM);
+
+		barcodeEClass = createEClass(BARCODE);
+
+		otherProxEClass = createEClass(OTHER_PROX);
+		createEAttribute(otherProxEClass, OTHER_PROX__DATA);
+
+		bluetoothEClass = createEClass(BLUETOOTH);
+		createEAttribute(bluetoothEClass, BLUETOOTH__RSS);
+
+		uwbEClass = createEClass(UWB);
+
+		sensorConfigurationRequestEClass = createEClass(SENSOR_CONFIGURATION_REQUEST);
+
+		otherBeaconEClass = createEClass(OTHER_BEACON);
+		createEAttribute(otherBeaconEClass, OTHER_BEACON__DATA);
+
+		poiEClass = createEClass(POI);
+		createEReference(poiEClass, POI__PLACING);
+		createEAttribute(poiEClass, POI__DESCRIPTION);
+		createEAttribute(poiEClass, POI__DATA);
+		createEAttribute(poiEClass, POI__ID);
+
+		eventFilterConditionEClass = createEClass(EVENT_FILTER_CONDITION);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__TIME_CONDITION);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__ACCURACY_CONDITION);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__POSITION_CONDITION);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__TIME_MIN_INTERVAL);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__POSITION_DELTA);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__SENSOR_ID_CONDITION);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__FILTER_STRUCTURE);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__ID_CONDITION);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__CATEGORY_CONDITION);
+		createEAttribute(eventFilterConditionEClass, EVENT_FILTER_CONDITION__POSITION_CONDITION_CELL_ID);
+
+		// Create data types
+		stringListEDataType = createEDataType(STRING_LIST);
+		stringArrayEDataType = createEDataType(STRING_ARRAY);
+		floatArray3dEDataType = createEDataType(FLOAT_ARRAY3D);
+		booleanListEDataType = createEDataType(BOOLEAN_LIST);
+		floatArrayEDataType = createEDataType(FLOAT_ARRAY);
+	}
+
+	/**
+	 * <!-- 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);
+
+		// Obtain other dependent packages
+		XMLTypePackage theXMLTypePackage = (XMLTypePackage) EPackage.Registry.INSTANCE
+				.getEPackage(XMLTypePackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		agentEClass.getESuperTypes().add(this.getEntity());
+		localizableObjectEClass.getESuperTypes().add(this.getEntity());
+		wgs84PointEClass.getESuperTypes().add(this.getPoint());
+		point2DEClass.getESuperTypes().add(this.getPoint());
+		point3DEClass.getESuperTypes().add(this.getPoint());
+		zoneMapEClass.getESuperTypes().add(this.getMapType());
+		quaternionEClass.getESuperTypes().add(this.getOrientation());
+		gaussianEClass.getESuperTypes().add(this.getAccuracy());
+		proximityEClass.getESuperTypes().add(this.getRawdataEvent());
+		rfidEClass.getESuperTypes().add(this.getProximity());
+		nfcEClass.getESuperTypes().add(this.getProximity());
+		imuEClass.getESuperTypes().add(this.getRawdataEvent());
+		beaconEClass.getESuperTypes().add(this.getRawdataEvent());
+		barcodeEClass.getESuperTypes().add(this.getProximity());
+		otherProxEClass.getESuperTypes().add(this.getProximity());
+		bluetoothEClass.getESuperTypes().add(this.getBeacon());
+		uwbEClass.getESuperTypes().add(this.getBeacon());
+		otherBeaconEClass.getESuperTypes().add(this.getBeacon());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(agentEClass, Agent.class, "Agent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAgent_LObject(), this.getLocalizableObject(), null, "lObject", null, 0, -1, Agent.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getAgent_AgentType(), ecorePackage.getEString(), "agentType", null, 0, 1, Agent.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityEClass, Entity.class, "Entity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntity_Id(), ecorePackage.getEString(), "id", null, 0, 1, Entity.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(localizableObjectEClass, LocalizableObject.class, "LocalizableObject", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getLocalizableObject_LastPosUpdate(), ecorePackage.getEString(), "lastPosUpdate", null, 0, 1,
+				LocalizableObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLocalizableObject_SensorType(), ecorePackage.getEString(), "sensorType", null, 0, 1,
+				LocalizableObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEReference(getLocalizableObject_Agent(), this.getAgent(), null, "agent", null, 0, 1,
+				LocalizableObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getLocalizableObject_CurrentPlacing(), this.getPlacing(), null, "currentPlacing", null, 0, 1,
+				LocalizableObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(placingEClass, Placing.class, "Placing", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPlacing_Position(), this.getPosition(), null, "position", null, 1, 1, Placing.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPlacing_Orientation(), this.getOrientation(), null, "orientation", null, 1, 1, Placing.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(positionEClass, Position.class, "Position", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPosition_Accuracy(), this.getAccuracy(), null, "accuracy", null, 0, 1, Position.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPosition_Point(), this.getPoint(), null, "point", null, 1, 1, Position.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				IS_ORDERED);
+		initEReference(getPosition_ReferenceSystem(), this.getReferenceSystem(), null, "referenceSystem", null, 1, 1,
+				Position.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(orientationEClass, Orientation.class, "Orientation", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(wgs84PointEClass, WGS84Point.class, "WGS84Point", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getWGS84Point_Longitude(), theXMLTypePackage.getDouble(), "longitude", null, 0, 1,
+				WGS84Point.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWGS84Point_Latitude(), theXMLTypePackage.getDouble(), "latitude", null, 0, 1,
+				WGS84Point.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWGS84Point_Altitude(), theXMLTypePackage.getDouble(), "altitude", null, 0, 1,
+				WGS84Point.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(accuracyEClass, Accuracy.class, "Accuracy", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(point2DEClass, Point2D.class, "Point2D", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPoint2D_X(), theXMLTypePackage.getFloat(), "x", null, 0, 1, Point2D.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPoint2D_Y(), theXMLTypePackage.getFloat(), "y", null, 0, 1, Point2D.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(point3DEClass, Point3D.class, "Point3D", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPoint3D_X(), theXMLTypePackage.getFloat(), "x", null, 0, 1, Point3D.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPoint3D_Y(), ecorePackage.getEFloat(), "y", null, 0, 1, Point3D.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPoint3D_Z(), ecorePackage.getEFloat(), "z", null, 0, 1, Point3D.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(referenceSystemEClass, ReferenceSystem.class, "ReferenceSystem", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getReferenceSystem_Origin(), this.getPlacing(), null, "origin", null, 0, 1,
+				ReferenceSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getReferenceSystem_Name(), ecorePackage.getEString(), "name", null, 0, 1, ReferenceSystem.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getReferenceSystem_Id(), ecorePackage.getEString(), "id", null, 0, 1, ReferenceSystem.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(zoneEClass, Zone.class, "Zone", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getZone_Space(), this.getSpace(), null, "space", null, 0, -1, Zone.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				IS_ORDERED);
+		initEAttribute(getZone_Name(), ecorePackage.getEString(), "name", null, 0, 1, Zone.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getZone_Id(), ecorePackage.getEString(), "id", null, 0, 1, Zone.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(zoneMapEClass, ZoneMap.class, "ZoneMap", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getZoneMap_Zone(), this.getZone(), null, "zone", null, 0, -1, ZoneMap.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				IS_ORDERED);
+
+		initEClass(spaceEClass, Space.class, "Space", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getSpace_X(), theXMLTypePackage.getFloat(), "x", null, 0, 1, Space.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getSpace_Y(), theXMLTypePackage.getFloat(), "y", null, 0, 1, Space.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getSpace_Z(), theXMLTypePackage.getFloat(), "z", null, 0, 1, Space.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getSpace_CentrePoint(), this.getPlacing(), null, "centrePoint", null, 1, 1, Space.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(mapTypeEClass, MapType.class, "MapType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(quaternionEClass, Quaternion.class, "Quaternion", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getQuaternion_X(), ecorePackage.getEFloat(), "x", null, 0, 1, Quaternion.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getQuaternion_Y(), ecorePackage.getEFloat(), "y", null, 0, 1, Quaternion.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getQuaternion_Z(), ecorePackage.getEFloat(), "z", null, 0, 1, Quaternion.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getQuaternion_W(), ecorePackage.getEFloat(), "w", null, 0, 1, Quaternion.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(gaussianEClass, Gaussian.class, "Gaussian", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getGaussian_ConfidenceInterval(), ecorePackage.getEFloat(), "confidenceInterval", "0.0", 0, 1,
+				Gaussian.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(pointEClass, Point.class, "Point", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(rawdataEventEClass, RawdataEvent.class, "RawdataEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getRawdataEvent_TimeStamp(), theXMLTypePackage.getString(), "timeStamp", null, 0, 1,
+				RawdataEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(proximityEClass, Proximity.class, "Proximity", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getProximity_TagId(), ecorePackage.getEString(), "tagId", null, 0, 1, Proximity.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getProximity_Type(), ecorePackage.getEString(), "type", null, 0, 1, Proximity.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getProximity_ScannerId(), ecorePackage.getEString(), "scannerId", null, 0, 1, Proximity.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(rfidEClass, ipos.project.DataModellntegration.iPos_Datamodel.RFID.class, "RFID", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getRFID_Location(), ecorePackage.getEString(), "location", null, 0, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.RFID.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(nfcEClass, ipos.project.DataModellntegration.iPos_Datamodel.NFC.class, "NFC", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		EGenericType g1 = createEGenericType(ecorePackage.getEMap());
+		EGenericType g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEJavaObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getNFC_TagData(), g1, "tagData", null, 0, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.NFC.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(imuEClass, ipos.project.DataModellntegration.iPos_Datamodel.IMU.class, "IMU", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getIMU_Angularrate(), this.getQuaternion(), null, "angularrate", null, 1, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.IMU.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getIMU_Acceleration(), this.getAcceleration(), null, "acceleration", null, 1, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.IMU.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIMU_SensorId(), theXMLTypePackage.getString(), "sensorId", null, 0, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.IMU.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(accelerationEClass, Acceleration.class, "Acceleration", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getAcceleration_X(), theXMLTypePackage.getFloat(), "x", null, 0, 1, Acceleration.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getAcceleration_Y(), theXMLTypePackage.getFloat(), "y", null, 0, 1, Acceleration.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getAcceleration_Z(), theXMLTypePackage.getFloat(), "z", null, 0, 1, Acceleration.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(beaconEClass, Beacon.class, "Beacon", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEIntegerObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getBeacon_Distances(), g1, "distances", null, 0, 1, Beacon.class, IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getBeacon_Type(), ecorePackage.getEString(), "type", null, 0, 1, Beacon.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getBeacon_SensorId(), theXMLTypePackage.getString(), "sensorId", null, 0, 1, Beacon.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(positionEventEClass, PositionEvent.class, "PositionEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPositionEvent_Placing(), this.getPlacing(), null, "placing", null, 1, 1, PositionEvent.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPositionEvent_TimeStamp(), theXMLTypePackage.getString(), "timeStamp", null, 0, 1,
+				PositionEvent.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPositionEvent_LObjectId(), ecorePackage.getEString(), "lObjectId", null, 0, 1,
+				PositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(trackingRequestEClass, TrackingRequest.class, "TrackingRequest", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(monitoringRequestEClass, MonitoringRequest.class, "MonitoringRequest", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMonitoringRequest_FrameId(), theXMLTypePackage.getString(), "frameId", null, 0, 1,
+				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Delta(), theXMLTypePackage.getFloat(), "delta", null, 0, 1,
+				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_UpdateFrequency(), theXMLTypePackage.getFloat(), "updateFrequency", null, 0,
+				1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Type(), this.getStringList(), "type", null, 0, 1, MonitoringRequest.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Id(), this.getStringList(), "id", null, 0, 1, MonitoringRequest.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_FusionStrategy(), theXMLTypePackage.getString(), "fusionStrategy", null, 0,
+				1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_ExitNotification(), theXMLTypePackage.getBoolean(), "exitNotification",
+				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Properties(), this.getStringList(), "properties", null, 0, 1,
+				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_MonitoringTaskId(), theXMLTypePackage.getString(), "monitoringTaskId", null,
+				0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_RequestorProtocol(), theXMLTypePackage.getString(), "requestorProtocol",
+				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(worldModelUpdateRequestEClass, WorldModelUpdateRequest.class, "WorldModelUpdateRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(dataStorageRequestEClass, DataStorageRequest.class, "DataStorageRequest", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(eventFilterConfigurationEClass, EventFilterConfiguration.class, "EventFilterConfiguration",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEventFilterConfiguration_PositionAmbiguityStrategy(), ecorePackage.getEString(),
+				"positionAmbiguityStrategy", null, 0, 1, EventFilterConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getEventFilterConfiguration_PositionAmbiguityParameters(), g1, "positionAmbiguityParameters",
+				null, 0, 1, EventFilterConfiguration.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
+				!IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getEventFilterConfiguration_FilterCriteria(), g1, "filterCriteria", null, 0, 1,
+				EventFilterConfiguration.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEventFilterConfiguration_Eventfiltercondition(), this.getEventFilterCondition(), null,
+				"eventfiltercondition", null, 0, -1, EventFilterConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(worldModelQueryRequestEClass, WorldModelQueryRequest.class, "WorldModelQueryRequest", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(dataStorageQueryRequestEClass, DataStorageQueryRequest.class, "DataStorageQueryRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(agentRegistrationRequestEClass, AgentRegistrationRequest.class, "AgentRegistrationRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(monitoringTaskEClass, MonitoringTask.class, "MonitoringTask", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getMonitoringTask_Eventfilterconfiguration(), this.getEventFilterConfiguration(), null,
+				"eventfilterconfiguration", null, 1, 1, MonitoringTask.class, !IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(trackingTaskEClass, TrackingTask.class, "TrackingTask", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTrackingTask_Eventfilterconfiguration(), this.getEventFilterConfiguration(), null,
+				"eventfilterconfiguration", null, 1, 1, TrackingTask.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(worldModelEClass, WorldModel.class, "WorldModel", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getWorldModel_Agent(), this.getAgent(), null, "agent", null, 0, -1, WorldModel.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getWorldModel_ZoneMap(), this.getZoneMap(), null, "zoneMap", null, 0, -1, WorldModel.class,
+				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getWorldModel_Pois(), this.getPOI(), null, "pois", null, 0, -1, WorldModel.class, !IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				IS_ORDERED);
+		initEReference(getWorldModel_ReferenceSystem(), this.getReferenceSystem(), null, "referenceSystem", null, 0, -1,
+				WorldModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(barcodeEClass, Barcode.class, "Barcode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(otherProxEClass, OtherProx.class, "OtherProx", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEJavaObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getOtherProx_Data(), g1, "data", null, 0, 1, OtherProx.class, IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(bluetoothEClass, Bluetooth.class, "Bluetooth", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(theXMLTypePackage.getIntObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getBluetooth_Rss(), g1, "rss", null, 0, 1, Bluetooth.class, IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(uwbEClass, ipos.project.DataModellntegration.iPos_Datamodel.UWB.class, "UWB", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(sensorConfigurationRequestEClass, SensorConfigurationRequest.class, "SensorConfigurationRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(otherBeaconEClass, OtherBeacon.class, "OtherBeacon", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEJavaObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getOtherBeacon_Data(), g1, "data", null, 0, 1, OtherBeacon.class, IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(poiEClass, ipos.project.DataModellntegration.iPos_Datamodel.POI.class, "POI", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPOI_Placing(), this.getPlacing(), null, "placing", null, 1, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.POI.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPOI_Description(), ecorePackage.getEString(), "description", null, 0, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.POI.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getPOI_Data(), g1, "data", null, 0, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.POI.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPOI_Id(), ecorePackage.getEString(), "id", null, 0, 1,
+				ipos.project.DataModellntegration.iPos_Datamodel.POI.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(eventFilterConditionEClass, EventFilterCondition.class, "EventFilterCondition", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEventFilterCondition_TimeCondition(), this.getStringArray(), "timeCondition", null, 0, 1,
+				EventFilterCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_AccuracyCondition(), theXMLTypePackage.getFloat(), "accuracyCondition",
+				null, 0, 1, EventFilterCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
+				!IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_PositionCondition(), this.getFloatArray(), "positionCondition", null, 0,
+				1, EventFilterCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_TimeMinInterval(), theXMLTypePackage.getInt(), "timeMinInterval", null,
+				0, 1, EventFilterCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_PositionDelta(), theXMLTypePackage.getFloat(), "positionDelta", null, 0,
+				1, EventFilterCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_SensorIdCondition(), this.getStringList(), "sensorIdCondition", null, 0,
+				1, EventFilterCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_FilterStructure(), this.getBooleanList(), "filterStructure", null, 0, 1,
+				EventFilterCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_PositionConditionCell(), this.getFloatArray3d(), "positionConditionCell",
+				null, 0, 1, EventFilterCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
+				!IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_IdCondition(), this.getStringList(), "idCondition", null, 0, 1,
+				EventFilterCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_CategoryCondition(), this.getStringList(), "categoryCondition", null, 0,
+				1, EventFilterCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEventFilterCondition_PositionConditionCellId(), theXMLTypePackage.getString(),
+				"positionConditionCellId", null, 0, 1, EventFilterCondition.class, !IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Initialize data types
+		initEDataType(stringListEDataType, List.class, "StringList", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS,
+				"java.util.List<java.lang.String>");
+		initEDataType(stringArrayEDataType, ArrayList.class, "StringArray", IS_SERIALIZABLE,
+				!IS_GENERATED_INSTANCE_CLASS, "java.util.ArrayList<java.lang.String[]>");
+		initEDataType(floatArray3dEDataType, ArrayList.class, "FloatArray3d", IS_SERIALIZABLE,
+				!IS_GENERATED_INSTANCE_CLASS, "java.util.ArrayList<java.lang.Float[][]>");
+		initEDataType(booleanListEDataType, boolean[].class, "BooleanList", IS_SERIALIZABLE,
+				!IS_GENERATED_INSTANCE_CLASS);
+		initEDataType(floatArrayEDataType, ArrayList.class, "FloatArray", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS,
+				"java.util.ArrayList<java.lang.Float[]>");
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} //IPos_DatamodelPackageImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/LocalizableObjectImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/LocalizableObjectImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..21269c50e2db7e186816440ba225726622126d83
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/LocalizableObjectImpl.java
@@ -0,0 +1,350 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Agent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject;
+import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Localizable Object</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl#getLastPosUpdate <em>Last Pos Update</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl#getSensorType <em>Sensor Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl#getAgent <em>Agent</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.LocalizableObjectImpl#getCurrentPlacing <em>Current Placing</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LocalizableObjectImpl extends EntityImpl implements LocalizableObject {
+	/**
+	 * The default value of the '{@link #getLastPosUpdate() <em>Last Pos Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLastPosUpdate()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LAST_POS_UPDATE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLastPosUpdate() <em>Last Pos Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLastPosUpdate()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lastPosUpdate = LAST_POS_UPDATE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSensorType() <em>Sensor Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SENSOR_TYPE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSensorType() <em>Sensor Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorType()
+	 * @generated
+	 * @ordered
+	 */
+	protected String sensorType = SENSOR_TYPE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getAgent() <em>Agent</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgent()
+	 * @generated
+	 * @ordered
+	 */
+	protected Agent agent;
+
+	/**
+	 * The cached value of the '{@link #getCurrentPlacing() <em>Current Placing</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCurrentPlacing()
+	 * @generated
+	 * @ordered
+	 */
+	protected Placing currentPlacing;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LocalizableObjectImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.LOCALIZABLE_OBJECT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLastPosUpdate() {
+		return lastPosUpdate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLastPosUpdate(String newLastPosUpdate) {
+		String oldLastPosUpdate = lastPosUpdate;
+		lastPosUpdate = newLastPosUpdate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.LOCALIZABLE_OBJECT__LAST_POS_UPDATE, oldLastPosUpdate, lastPosUpdate));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSensorType() {
+		return sensorType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSensorType(String newSensorType) {
+		String oldSensorType = sensorType;
+		sensorType = newSensorType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.LOCALIZABLE_OBJECT__SENSOR_TYPE,
+					oldSensorType, sensorType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Agent getAgent() {
+		if (agent != null && agent.eIsProxy()) {
+			InternalEObject oldAgent = (InternalEObject) agent;
+			agent = (Agent) eResolveProxy(oldAgent);
+			if (agent != oldAgent) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.LOCALIZABLE_OBJECT__AGENT, oldAgent, agent));
+			}
+		}
+		return agent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Agent basicGetAgent() {
+		return agent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgent(Agent newAgent) {
+		Agent oldAgent = agent;
+		agent = newAgent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.LOCALIZABLE_OBJECT__AGENT,
+					oldAgent, agent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing getCurrentPlacing() {
+		if (currentPlacing != null && currentPlacing.eIsProxy()) {
+			InternalEObject oldCurrentPlacing = (InternalEObject) currentPlacing;
+			currentPlacing = (Placing) eResolveProxy(oldCurrentPlacing);
+			if (currentPlacing != oldCurrentPlacing) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.LOCALIZABLE_OBJECT__CURRENT_PLACING, oldCurrentPlacing,
+							currentPlacing));
+			}
+		}
+		return currentPlacing;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing basicGetCurrentPlacing() {
+		return currentPlacing;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentPlacing(Placing newCurrentPlacing) {
+		Placing oldCurrentPlacing = currentPlacing;
+		currentPlacing = newCurrentPlacing;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.LOCALIZABLE_OBJECT__CURRENT_PLACING, oldCurrentPlacing, currentPlacing));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__LAST_POS_UPDATE:
+			return getLastPosUpdate();
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__SENSOR_TYPE:
+			return getSensorType();
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__AGENT:
+			if (resolve)
+				return getAgent();
+			return basicGetAgent();
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__CURRENT_PLACING:
+			if (resolve)
+				return getCurrentPlacing();
+			return basicGetCurrentPlacing();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__LAST_POS_UPDATE:
+			setLastPosUpdate((String) newValue);
+			return;
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__SENSOR_TYPE:
+			setSensorType((String) newValue);
+			return;
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__AGENT:
+			setAgent((Agent) newValue);
+			return;
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__CURRENT_PLACING:
+			setCurrentPlacing((Placing) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__LAST_POS_UPDATE:
+			setLastPosUpdate(LAST_POS_UPDATE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__SENSOR_TYPE:
+			setSensorType(SENSOR_TYPE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__AGENT:
+			setAgent((Agent) null);
+			return;
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__CURRENT_PLACING:
+			setCurrentPlacing((Placing) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__LAST_POS_UPDATE:
+			return LAST_POS_UPDATE_EDEFAULT == null ? lastPosUpdate != null
+					: !LAST_POS_UPDATE_EDEFAULT.equals(lastPosUpdate);
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__SENSOR_TYPE:
+			return SENSOR_TYPE_EDEFAULT == null ? sensorType != null : !SENSOR_TYPE_EDEFAULT.equals(sensorType);
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__AGENT:
+			return agent != null;
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT__CURRENT_PLACING:
+			return currentPlacing != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (lastPosUpdate: ");
+		result.append(lastPosUpdate);
+		result.append(", sensorType: ");
+		result.append(sensorType);
+		result.append(')');
+		return result.toString();
+	}
+
+} //LocalizableObjectImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MapTypeImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MapTypeImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..39ba56cae261556eab4d1732ea756b32c790a624
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MapTypeImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.MapType;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Map Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class MapTypeImpl extends MinimalEObjectImpl.Container implements MapType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MapTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.MAP_TYPE;
+	}
+
+} //MapTypeImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..81c05f5ef2bd7f51f7f87e12c7b232ede675eb27
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringRequestImpl.java
@@ -0,0 +1,669 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest;
+
+import java.util.List;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Monitoring Request</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getFrameId <em>Frame Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getDelta <em>Delta</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getUpdateFrequency <em>Update Frequency</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getId <em>Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getFusionStrategy <em>Fusion Strategy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#isExitNotification <em>Exit Notification</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getProperties <em>Properties</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getMonitoringTaskId <em>Monitoring Task Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getRequestorProtocol <em>Requestor Protocol</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implements MonitoringRequest {
+	/**
+	 * The default value of the '{@link #getFrameId() <em>Frame Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFrameId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FRAME_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFrameId() <em>Frame Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFrameId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String frameId = FRAME_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDelta() <em>Delta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDelta()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float DELTA_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getDelta() <em>Delta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDelta()
+	 * @generated
+	 * @ordered
+	 */
+	protected float delta = DELTA_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getUpdateFrequency() <em>Update Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpdateFrequency()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float UPDATE_FREQUENCY_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getUpdateFrequency() <em>Update Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpdateFrequency()
+	 * @generated
+	 * @ordered
+	 */
+	protected float updateFrequency = UPDATE_FREQUENCY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final List<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 List<String> type = TYPE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final List<String> ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected List<String> id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFusionStrategy() <em>Fusion Strategy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFusionStrategy()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FUSION_STRATEGY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFusionStrategy() <em>Fusion Strategy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFusionStrategy()
+	 * @generated
+	 * @ordered
+	 */
+	protected String fusionStrategy = FUSION_STRATEGY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isExitNotification() <em>Exit Notification</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isExitNotification()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean EXIT_NOTIFICATION_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isExitNotification() <em>Exit Notification</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isExitNotification()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean exitNotification = EXIT_NOTIFICATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProperties() <em>Properties</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperties()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final List<String> PROPERTIES_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperties()
+	 * @generated
+	 * @ordered
+	 */
+	protected List<String> properties = PROPERTIES_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMonitoringTaskId() <em>Monitoring Task Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringTaskId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MONITORING_TASK_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMonitoringTaskId() <em>Monitoring Task Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonitoringTaskId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String monitoringTaskId = MONITORING_TASK_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRequestorProtocol() <em>Requestor Protocol</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRequestorProtocol()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REQUESTOR_PROTOCOL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRequestorProtocol() <em>Requestor Protocol</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRequestorProtocol()
+	 * @generated
+	 * @ordered
+	 */
+	protected String requestorProtocol = REQUESTOR_PROTOCOL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MonitoringRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.MONITORING_REQUEST;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFrameId() {
+		return frameId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFrameId(String newFrameId) {
+		String oldFrameId = frameId;
+		frameId = newFrameId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_ID,
+					oldFrameId, frameId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getDelta() {
+		return delta;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDelta(float newDelta) {
+		float oldDelta = delta;
+		delta = newDelta;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__DELTA,
+					oldDelta, delta));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getUpdateFrequency() {
+		return updateFrequency;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUpdateFrequency(float newUpdateFrequency) {
+		float oldUpdateFrequency = updateFrequency;
+		updateFrequency = newUpdateFrequency;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY, oldUpdateFrequency, updateFrequency));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<String> getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(List<String> newType) {
+		List<String> oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__TYPE,
+					oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<String> getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(List<String> newId) {
+		List<String> oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__ID, oldId,
+					id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFusionStrategy() {
+		return fusionStrategy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFusionStrategy(String newFusionStrategy) {
+		String oldFusionStrategy = fusionStrategy;
+		fusionStrategy = newFusionStrategy;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY, oldFusionStrategy, fusionStrategy));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isExitNotification() {
+		return exitNotification;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setExitNotification(boolean newExitNotification) {
+		boolean oldExitNotification = exitNotification;
+		exitNotification = newExitNotification;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION, oldExitNotification,
+					exitNotification));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<String> getProperties() {
+		return properties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProperties(List<String> newProperties) {
+		List<String> oldProperties = properties;
+		properties = newProperties;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES,
+					oldProperties, properties));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getMonitoringTaskId() {
+		return monitoringTaskId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonitoringTaskId(String newMonitoringTaskId) {
+		String oldMonitoringTaskId = monitoringTaskId;
+		monitoringTaskId = newMonitoringTaskId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID, oldMonitoringTaskId,
+					monitoringTaskId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRequestorProtocol() {
+		return requestorProtocol;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRequestorProtocol(String newRequestorProtocol) {
+		String oldRequestorProtocol = requestorProtocol;
+		requestorProtocol = newRequestorProtocol;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL, oldRequestorProtocol,
+					requestorProtocol));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_ID:
+			return getFrameId();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+			return getDelta();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+			return getUpdateFrequency();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+			return getType();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+			return getId();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+			return getFusionStrategy();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+			return isExitNotification();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+			return getProperties();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+			return getMonitoringTaskId();
+		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+			return getRequestorProtocol();
+		}
+		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 IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_ID:
+			setFrameId((String) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+			setDelta((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+			setUpdateFrequency((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+			setType((List<String>) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+			setId((List<String>) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+			setFusionStrategy((String) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+			setExitNotification((Boolean) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+			setProperties((List<String>) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+			setMonitoringTaskId((String) newValue);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+			setRequestorProtocol((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_ID:
+			setFrameId(FRAME_ID_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+			setDelta(DELTA_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+			setUpdateFrequency(UPDATE_FREQUENCY_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+			setType(TYPE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+			setId(ID_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+			setFusionStrategy(FUSION_STRATEGY_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+			setExitNotification(EXIT_NOTIFICATION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+			setProperties(PROPERTIES_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+			setMonitoringTaskId(MONITORING_TASK_ID_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+			setRequestorProtocol(REQUESTOR_PROTOCOL_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_ID:
+			return FRAME_ID_EDEFAULT == null ? frameId != null : !FRAME_ID_EDEFAULT.equals(frameId);
+		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+			return delta != DELTA_EDEFAULT;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+			return updateFrequency != UPDATE_FREQUENCY_EDEFAULT;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+			return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+			return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+			return FUSION_STRATEGY_EDEFAULT == null ? fusionStrategy != null
+					: !FUSION_STRATEGY_EDEFAULT.equals(fusionStrategy);
+		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+			return exitNotification != EXIT_NOTIFICATION_EDEFAULT;
+		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+			return PROPERTIES_EDEFAULT == null ? properties != null : !PROPERTIES_EDEFAULT.equals(properties);
+		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+			return MONITORING_TASK_ID_EDEFAULT == null ? monitoringTaskId != null
+					: !MONITORING_TASK_ID_EDEFAULT.equals(monitoringTaskId);
+		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+			return REQUESTOR_PROTOCOL_EDEFAULT == null ? requestorProtocol != null
+					: !REQUESTOR_PROTOCOL_EDEFAULT.equals(requestorProtocol);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (frameId: ");
+		result.append(frameId);
+		result.append(", delta: ");
+		result.append(delta);
+		result.append(", updateFrequency: ");
+		result.append(updateFrequency);
+		result.append(", type: ");
+		result.append(type);
+		result.append(", id: ");
+		result.append(id);
+		result.append(", fusionStrategy: ");
+		result.append(fusionStrategy);
+		result.append(", exitNotification: ");
+		result.append(exitNotification);
+		result.append(", properties: ");
+		result.append(properties);
+		result.append(", monitoringTaskId: ");
+		result.append(monitoringTaskId);
+		result.append(", requestorProtocol: ");
+		result.append(requestorProtocol);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MonitoringRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringTaskImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringTaskImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..abfc60c4c8e6bc49ec9337a2225e407eaa948102
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringTaskImpl.java
@@ -0,0 +1,162 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Monitoring Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringTaskImpl#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MonitoringTaskImpl extends MinimalEObjectImpl.Container implements MonitoringTask {
+	/**
+	 * The cached value of the '{@link #getEventfilterconfiguration() <em>Eventfilterconfiguration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventfilterconfiguration()
+	 * @generated
+	 * @ordered
+	 */
+	protected EventFilterConfiguration eventfilterconfiguration;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MonitoringTaskImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.MONITORING_TASK;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EventFilterConfiguration getEventfilterconfiguration() {
+		if (eventfilterconfiguration != null && eventfilterconfiguration.eIsProxy()) {
+			InternalEObject oldEventfilterconfiguration = (InternalEObject) eventfilterconfiguration;
+			eventfilterconfiguration = (EventFilterConfiguration) eResolveProxy(oldEventfilterconfiguration);
+			if (eventfilterconfiguration != oldEventfilterconfiguration) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.MONITORING_TASK__EVENTFILTERCONFIGURATION,
+							oldEventfilterconfiguration, eventfilterconfiguration));
+			}
+		}
+		return eventfilterconfiguration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EventFilterConfiguration basicGetEventfilterconfiguration() {
+		return eventfilterconfiguration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEventfilterconfiguration(EventFilterConfiguration newEventfilterconfiguration) {
+		EventFilterConfiguration oldEventfilterconfiguration = eventfilterconfiguration;
+		eventfilterconfiguration = newEventfilterconfiguration;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.MONITORING_TASK__EVENTFILTERCONFIGURATION, oldEventfilterconfiguration,
+					eventfilterconfiguration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.MONITORING_TASK__EVENTFILTERCONFIGURATION:
+			if (resolve)
+				return getEventfilterconfiguration();
+			return basicGetEventfilterconfiguration();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.MONITORING_TASK__EVENTFILTERCONFIGURATION:
+			setEventfilterconfiguration((EventFilterConfiguration) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.MONITORING_TASK__EVENTFILTERCONFIGURATION:
+			setEventfilterconfiguration((EventFilterConfiguration) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.MONITORING_TASK__EVENTFILTERCONFIGURATION:
+			return eventfilterconfiguration != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //MonitoringTaskImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/NFCImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/NFCImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..02dd20a3ca3b0737f38bfc0fbb051e6d76eaa081
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/NFCImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.NFC;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>NFC</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.NFCImpl#getTagData <em>Tag Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NFCImpl extends ProximityImpl implements NFC {
+	/**
+	 * The cached value of the '{@link #getTagData() <em>Tag Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTagData()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, Object> tagData;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NFCImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.NFC;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, Object> getTagData() {
+		return tagData;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTagData(Map<String, Object> newTagData) {
+		Map<String, Object> oldTagData = tagData;
+		tagData = newTagData;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.NFC__TAG_DATA, oldTagData,
+					tagData));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.NFC__TAG_DATA:
+			return getTagData();
+		}
+		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 IPos_DatamodelPackage.NFC__TAG_DATA:
+			setTagData((Map<String, Object>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.NFC__TAG_DATA:
+			setTagData((Map<String, Object>) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.NFC__TAG_DATA:
+			return tagData != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (tagData: ");
+		result.append(tagData);
+		result.append(')');
+		return result.toString();
+	}
+
+} //NFCImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OrientationImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OrientationImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..36d0e088f8ddf3c37d52390a4ce4aa96914b6ba6
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OrientationImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Orientation;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Orientation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class OrientationImpl extends MinimalEObjectImpl.Container implements Orientation {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OrientationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.ORIENTATION;
+	}
+
+} //OrientationImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OtherBeaconImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OtherBeaconImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..d9731e044e68622bee9bb387c5d7fe8e0dfd5066
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OtherBeaconImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Other Beacon</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherBeaconImpl#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OtherBeaconImpl extends BeaconImpl implements OtherBeacon {
+	/**
+	 * The cached value of the '{@link #getData() <em>Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getData()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, Object> data;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OtherBeaconImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.OTHER_BEACON;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, Object> getData() {
+		return data;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setData(Map<String, Object> newData) {
+		Map<String, Object> oldData = data;
+		data = newData;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.OTHER_BEACON__DATA, oldData,
+					data));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.OTHER_BEACON__DATA:
+			return getData();
+		}
+		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 IPos_DatamodelPackage.OTHER_BEACON__DATA:
+			setData((Map<String, Object>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.OTHER_BEACON__DATA:
+			setData((Map<String, Object>) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.OTHER_BEACON__DATA:
+			return data != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (data: ");
+		result.append(data);
+		result.append(')');
+		return result.toString();
+	}
+
+} //OtherBeaconImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OtherProxImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OtherProxImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..564bb22feabbcab1dec7032faf29e54197ec478c
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/OtherProxImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.OtherProx;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Other Prox</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherProxImpl#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OtherProxImpl extends ProximityImpl implements OtherProx {
+	/**
+	 * The cached value of the '{@link #getData() <em>Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getData()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, Object> data;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OtherProxImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.OTHER_PROX;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, Object> getData() {
+		return data;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setData(Map<String, Object> newData) {
+		Map<String, Object> oldData = data;
+		data = newData;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.OTHER_PROX__DATA, oldData,
+					data));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.OTHER_PROX__DATA:
+			return getData();
+		}
+		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 IPos_DatamodelPackage.OTHER_PROX__DATA:
+			setData((Map<String, Object>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.OTHER_PROX__DATA:
+			setData((Map<String, Object>) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.OTHER_PROX__DATA:
+			return data != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (data: ");
+		result.append(data);
+		result.append(')');
+		return result.toString();
+	}
+
+} //OtherProxImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/POIImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/POIImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..9b2e20ab0a0008f76668c5bf3b432773661e7a01
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/POIImpl.java
@@ -0,0 +1,331 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.POI;
+import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
+
+import java.util.Map;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>POI</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl#getPlacing <em>Placing</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl#getDescription <em>Description</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl#getData <em>Data</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.POIImpl#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class POIImpl extends MinimalEObjectImpl.Container implements POI {
+	/**
+	 * The cached value of the '{@link #getPlacing() <em>Placing</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPlacing()
+	 * @generated
+	 * @ordered
+	 */
+	protected Placing placing;
+
+	/**
+	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected String description = DESCRIPTION_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getData() <em>Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getData()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, String> data;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected POIImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.POI;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing getPlacing() {
+		if (placing != null && placing.eIsProxy()) {
+			InternalEObject oldPlacing = (InternalEObject) placing;
+			placing = (Placing) eResolveProxy(oldPlacing);
+			if (placing != oldPlacing) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, IPos_DatamodelPackage.POI__PLACING,
+							oldPlacing, placing));
+			}
+		}
+		return placing;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing basicGetPlacing() {
+		return placing;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPlacing(Placing newPlacing) {
+		Placing oldPlacing = placing;
+		placing = newPlacing;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POI__PLACING, oldPlacing,
+					placing));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDescription(String newDescription) {
+		String oldDescription = description;
+		description = newDescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POI__DESCRIPTION,
+					oldDescription, description));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, String> getData() {
+		return data;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setData(Map<String, String> newData) {
+		Map<String, String> oldData = data;
+		data = newData;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POI__DATA, oldData, data));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POI__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POI__PLACING:
+			if (resolve)
+				return getPlacing();
+			return basicGetPlacing();
+		case IPos_DatamodelPackage.POI__DESCRIPTION:
+			return getDescription();
+		case IPos_DatamodelPackage.POI__DATA:
+			return getData();
+		case IPos_DatamodelPackage.POI__ID:
+			return getId();
+		}
+		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 IPos_DatamodelPackage.POI__PLACING:
+			setPlacing((Placing) newValue);
+			return;
+		case IPos_DatamodelPackage.POI__DESCRIPTION:
+			setDescription((String) newValue);
+			return;
+		case IPos_DatamodelPackage.POI__DATA:
+			setData((Map<String, String>) newValue);
+			return;
+		case IPos_DatamodelPackage.POI__ID:
+			setId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POI__PLACING:
+			setPlacing((Placing) null);
+			return;
+		case IPos_DatamodelPackage.POI__DESCRIPTION:
+			setDescription(DESCRIPTION_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.POI__DATA:
+			setData((Map<String, String>) null);
+			return;
+		case IPos_DatamodelPackage.POI__ID:
+			setId(ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POI__PLACING:
+			return placing != null;
+		case IPos_DatamodelPackage.POI__DESCRIPTION:
+			return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+		case IPos_DatamodelPackage.POI__DATA:
+			return data != null;
+		case IPos_DatamodelPackage.POI__ID:
+			return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (description: ");
+		result.append(description);
+		result.append(", data: ");
+		result.append(data);
+		result.append(", id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //POIImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PlacingImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PlacingImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..bea7fad65df80238e586e92372830ae7549c7d00
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PlacingImpl.java
@@ -0,0 +1,224 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Orientation;
+import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
+import ipos.project.DataModellntegration.iPos_Datamodel.Position;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Placing</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PlacingImpl#getPosition <em>Position</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PlacingImpl#getOrientation <em>Orientation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PlacingImpl extends MinimalEObjectImpl.Container implements Placing {
+	/**
+	 * The cached value of the '{@link #getPosition() <em>Position</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPosition()
+	 * @generated
+	 * @ordered
+	 */
+	protected Position position;
+
+	/**
+	 * The cached value of the '{@link #getOrientation() <em>Orientation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrientation()
+	 * @generated
+	 * @ordered
+	 */
+	protected Orientation orientation;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PlacingImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.PLACING;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Position getPosition() {
+		if (position != null && position.eIsProxy()) {
+			InternalEObject oldPosition = (InternalEObject) position;
+			position = (Position) eResolveProxy(oldPosition);
+			if (position != oldPosition) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, IPos_DatamodelPackage.PLACING__POSITION,
+							oldPosition, position));
+			}
+		}
+		return position;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Position basicGetPosition() {
+		return position;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPosition(Position newPosition) {
+		Position oldPosition = position;
+		position = newPosition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.PLACING__POSITION, oldPosition,
+					position));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Orientation getOrientation() {
+		if (orientation != null && orientation.eIsProxy()) {
+			InternalEObject oldOrientation = (InternalEObject) orientation;
+			orientation = (Orientation) eResolveProxy(oldOrientation);
+			if (orientation != oldOrientation) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.PLACING__ORIENTATION, oldOrientation, orientation));
+			}
+		}
+		return orientation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Orientation basicGetOrientation() {
+		return orientation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOrientation(Orientation newOrientation) {
+		Orientation oldOrientation = orientation;
+		orientation = newOrientation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.PLACING__ORIENTATION,
+					oldOrientation, orientation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PLACING__POSITION:
+			if (resolve)
+				return getPosition();
+			return basicGetPosition();
+		case IPos_DatamodelPackage.PLACING__ORIENTATION:
+			if (resolve)
+				return getOrientation();
+			return basicGetOrientation();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PLACING__POSITION:
+			setPosition((Position) newValue);
+			return;
+		case IPos_DatamodelPackage.PLACING__ORIENTATION:
+			setOrientation((Orientation) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PLACING__POSITION:
+			setPosition((Position) null);
+			return;
+		case IPos_DatamodelPackage.PLACING__ORIENTATION:
+			setOrientation((Orientation) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PLACING__POSITION:
+			return position != null;
+		case IPos_DatamodelPackage.PLACING__ORIENTATION:
+			return orientation != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PlacingImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/Point2DImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/Point2DImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..0516ea7f7a4725c8f99bc7c70912a10175706e9e
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/Point2DImpl.java
@@ -0,0 +1,217 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Point2D;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Point2 D</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point2DImpl#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point2DImpl#getY <em>Y</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class Point2DImpl extends PointImpl implements Point2D {
+	/**
+	 * The default value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float X_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected float x = X_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Y_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected float y = Y_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Point2DImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.POINT2_D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getX() {
+		return x;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setX(float newX) {
+		float oldX = x;
+		x = newX;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POINT2_D__X, oldX, x));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getY() {
+		return y;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setY(float newY) {
+		float oldY = y;
+		y = newY;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POINT2_D__Y, oldY, y));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT2_D__X:
+			return getX();
+		case IPos_DatamodelPackage.POINT2_D__Y:
+			return getY();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT2_D__X:
+			setX((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.POINT2_D__Y:
+			setY((Float) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT2_D__X:
+			setX(X_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.POINT2_D__Y:
+			setY(Y_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT2_D__X:
+			return x != X_EDEFAULT;
+		case IPos_DatamodelPackage.POINT2_D__Y:
+			return y != Y_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (x: ");
+		result.append(x);
+		result.append(", y: ");
+		result.append(y);
+		result.append(')');
+		return result.toString();
+	}
+
+} //Point2DImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/Point3DImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/Point3DImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..6f0fa560c23fcd74c837e794b056e77cd25a6c5c
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/Point3DImpl.java
@@ -0,0 +1,271 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Point3D;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Point3 D</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point3DImpl#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point3DImpl#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.Point3DImpl#getZ <em>Z</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class Point3DImpl extends PointImpl implements Point3D {
+	/**
+	 * The default value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float X_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected float x = X_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Y_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected float y = Y_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Z_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected float z = Z_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Point3DImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.POINT3_D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getX() {
+		return x;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setX(float newX) {
+		float oldX = x;
+		x = newX;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POINT3_D__X, oldX, x));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getY() {
+		return y;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setY(float newY) {
+		float oldY = y;
+		y = newY;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POINT3_D__Y, oldY, y));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getZ() {
+		return z;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setZ(float newZ) {
+		float oldZ = z;
+		z = newZ;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POINT3_D__Z, oldZ, z));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT3_D__X:
+			return getX();
+		case IPos_DatamodelPackage.POINT3_D__Y:
+			return getY();
+		case IPos_DatamodelPackage.POINT3_D__Z:
+			return getZ();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT3_D__X:
+			setX((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.POINT3_D__Y:
+			setY((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.POINT3_D__Z:
+			setZ((Float) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT3_D__X:
+			setX(X_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.POINT3_D__Y:
+			setY(Y_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.POINT3_D__Z:
+			setZ(Z_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POINT3_D__X:
+			return x != X_EDEFAULT;
+		case IPos_DatamodelPackage.POINT3_D__Y:
+			return y != Y_EDEFAULT;
+		case IPos_DatamodelPackage.POINT3_D__Z:
+			return z != Z_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (x: ");
+		result.append(x);
+		result.append(", y: ");
+		result.append(y);
+		result.append(", z: ");
+		result.append(z);
+		result.append(')');
+		return result.toString();
+	}
+
+} //Point3DImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PointImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PointImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e314e8a750015f9498cff08d7aca2296e8e5dad4
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PointImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Point;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Point</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PointImpl extends MinimalEObjectImpl.Container implements Point {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PointImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.POINT;
+	}
+
+} //PointImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionEventImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d25ef8f3cf84fd84cf35c801f9eb6f1a32ed879
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionEventImpl.java
@@ -0,0 +1,285 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
+import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Position Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl#getPlacing <em>Placing</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl#getTimeStamp <em>Time Stamp</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl#getLObjectId <em>LObject Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PositionEventImpl extends MinimalEObjectImpl.Container implements PositionEvent {
+	/**
+	 * The cached value of the '{@link #getPlacing() <em>Placing</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPlacing()
+	 * @generated
+	 * @ordered
+	 */
+	protected Placing placing;
+
+	/**
+	 * The default value of the '{@link #getTimeStamp() <em>Time Stamp</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeStamp()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TIME_STAMP_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTimeStamp() <em>Time Stamp</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeStamp()
+	 * @generated
+	 * @ordered
+	 */
+	protected String timeStamp = TIME_STAMP_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLObjectId() <em>LObject Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLObjectId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LOBJECT_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLObjectId() <em>LObject Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLObjectId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lObjectId = LOBJECT_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PositionEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.POSITION_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing getPlacing() {
+		if (placing != null && placing.eIsProxy()) {
+			InternalEObject oldPlacing = (InternalEObject) placing;
+			placing = (Placing) eResolveProxy(oldPlacing);
+			if (placing != oldPlacing) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.POSITION_EVENT__PLACING, oldPlacing, placing));
+			}
+		}
+		return placing;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing basicGetPlacing() {
+		return placing;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPlacing(Placing newPlacing) {
+		Placing oldPlacing = placing;
+		placing = newPlacing;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POSITION_EVENT__PLACING,
+					oldPlacing, placing));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTimeStamp() {
+		return timeStamp;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTimeStamp(String newTimeStamp) {
+		String oldTimeStamp = timeStamp;
+		timeStamp = newTimeStamp;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POSITION_EVENT__TIME_STAMP,
+					oldTimeStamp, timeStamp));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLObjectId() {
+		return lObjectId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLObjectId(String newLObjectId) {
+		String oldLObjectId = lObjectId;
+		lObjectId = newLObjectId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POSITION_EVENT__LOBJECT_ID,
+					oldLObjectId, lObjectId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION_EVENT__PLACING:
+			if (resolve)
+				return getPlacing();
+			return basicGetPlacing();
+		case IPos_DatamodelPackage.POSITION_EVENT__TIME_STAMP:
+			return getTimeStamp();
+		case IPos_DatamodelPackage.POSITION_EVENT__LOBJECT_ID:
+			return getLObjectId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION_EVENT__PLACING:
+			setPlacing((Placing) newValue);
+			return;
+		case IPos_DatamodelPackage.POSITION_EVENT__TIME_STAMP:
+			setTimeStamp((String) newValue);
+			return;
+		case IPos_DatamodelPackage.POSITION_EVENT__LOBJECT_ID:
+			setLObjectId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION_EVENT__PLACING:
+			setPlacing((Placing) null);
+			return;
+		case IPos_DatamodelPackage.POSITION_EVENT__TIME_STAMP:
+			setTimeStamp(TIME_STAMP_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.POSITION_EVENT__LOBJECT_ID:
+			setLObjectId(LOBJECT_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION_EVENT__PLACING:
+			return placing != null;
+		case IPos_DatamodelPackage.POSITION_EVENT__TIME_STAMP:
+			return TIME_STAMP_EDEFAULT == null ? timeStamp != null : !TIME_STAMP_EDEFAULT.equals(timeStamp);
+		case IPos_DatamodelPackage.POSITION_EVENT__LOBJECT_ID:
+			return LOBJECT_ID_EDEFAULT == null ? lObjectId != null : !LOBJECT_ID_EDEFAULT.equals(lObjectId);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (timeStamp: ");
+		result.append(timeStamp);
+		result.append(", lObjectId: ");
+		result.append(lObjectId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PositionEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e98eb26df56479dfcac5d1df0f187749634bea9a
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionImpl.java
@@ -0,0 +1,288 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Accuracy;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Point;
+import ipos.project.DataModellntegration.iPos_Datamodel.Position;
+import ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Position</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionImpl#getAccuracy <em>Accuracy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionImpl#getPoint <em>Point</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionImpl#getReferenceSystem <em>Reference System</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PositionImpl extends MinimalEObjectImpl.Container implements Position {
+	/**
+	 * The cached value of the '{@link #getAccuracy() <em>Accuracy</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAccuracy()
+	 * @generated
+	 * @ordered
+	 */
+	protected Accuracy accuracy;
+
+	/**
+	 * The cached value of the '{@link #getPoint() <em>Point</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected Point point;
+
+	/**
+	 * The cached value of the '{@link #getReferenceSystem() <em>Reference System</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReferenceSystem()
+	 * @generated
+	 * @ordered
+	 */
+	protected ReferenceSystem referenceSystem;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PositionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.POSITION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Accuracy getAccuracy() {
+		if (accuracy != null && accuracy.eIsProxy()) {
+			InternalEObject oldAccuracy = (InternalEObject) accuracy;
+			accuracy = (Accuracy) eResolveProxy(oldAccuracy);
+			if (accuracy != oldAccuracy) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, IPos_DatamodelPackage.POSITION__ACCURACY,
+							oldAccuracy, accuracy));
+			}
+		}
+		return accuracy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Accuracy basicGetAccuracy() {
+		return accuracy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAccuracy(Accuracy newAccuracy) {
+		Accuracy oldAccuracy = accuracy;
+		accuracy = newAccuracy;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POSITION__ACCURACY, oldAccuracy,
+					accuracy));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Point getPoint() {
+		if (point != null && point.eIsProxy()) {
+			InternalEObject oldPoint = (InternalEObject) point;
+			point = (Point) eResolveProxy(oldPoint);
+			if (point != oldPoint) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, IPos_DatamodelPackage.POSITION__POINT,
+							oldPoint, point));
+			}
+		}
+		return point;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Point basicGetPoint() {
+		return point;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPoint(Point newPoint) {
+		Point oldPoint = point;
+		point = newPoint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POSITION__POINT, oldPoint,
+					point));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReferenceSystem getReferenceSystem() {
+		if (referenceSystem != null && referenceSystem.eIsProxy()) {
+			InternalEObject oldReferenceSystem = (InternalEObject) referenceSystem;
+			referenceSystem = (ReferenceSystem) eResolveProxy(oldReferenceSystem);
+			if (referenceSystem != oldReferenceSystem) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.POSITION__REFERENCE_SYSTEM, oldReferenceSystem, referenceSystem));
+			}
+		}
+		return referenceSystem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReferenceSystem basicGetReferenceSystem() {
+		return referenceSystem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setReferenceSystem(ReferenceSystem newReferenceSystem) {
+		ReferenceSystem oldReferenceSystem = referenceSystem;
+		referenceSystem = newReferenceSystem;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.POSITION__REFERENCE_SYSTEM,
+					oldReferenceSystem, referenceSystem));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION__ACCURACY:
+			if (resolve)
+				return getAccuracy();
+			return basicGetAccuracy();
+		case IPos_DatamodelPackage.POSITION__POINT:
+			if (resolve)
+				return getPoint();
+			return basicGetPoint();
+		case IPos_DatamodelPackage.POSITION__REFERENCE_SYSTEM:
+			if (resolve)
+				return getReferenceSystem();
+			return basicGetReferenceSystem();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION__ACCURACY:
+			setAccuracy((Accuracy) newValue);
+			return;
+		case IPos_DatamodelPackage.POSITION__POINT:
+			setPoint((Point) newValue);
+			return;
+		case IPos_DatamodelPackage.POSITION__REFERENCE_SYSTEM:
+			setReferenceSystem((ReferenceSystem) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION__ACCURACY:
+			setAccuracy((Accuracy) null);
+			return;
+		case IPos_DatamodelPackage.POSITION__POINT:
+			setPoint((Point) null);
+			return;
+		case IPos_DatamodelPackage.POSITION__REFERENCE_SYSTEM:
+			setReferenceSystem((ReferenceSystem) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.POSITION__ACCURACY:
+			return accuracy != null;
+		case IPos_DatamodelPackage.POSITION__POINT:
+			return point != null;
+		case IPos_DatamodelPackage.POSITION__REFERENCE_SYSTEM:
+			return referenceSystem != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PositionImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ProximityImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ProximityImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..33583af94f682e045b70a044a294b2c1d2791cd6
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ProximityImpl.java
@@ -0,0 +1,274 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Proximity;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Proximity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ProximityImpl#getTagId <em>Tag Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ProximityImpl#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ProximityImpl#getScannerId <em>Scanner Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProximityImpl extends RawdataEventImpl implements Proximity {
+	/**
+	 * The default value of the '{@link #getTagId() <em>Tag Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTagId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TAG_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTagId() <em>Tag Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTagId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String tagId = TAG_ID_EDEFAULT;
+
+	/**
+	 * 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 #getScannerId() <em>Scanner Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScannerId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SCANNER_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getScannerId() <em>Scanner Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScannerId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String scannerId = SCANNER_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProximityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.PROXIMITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTagId() {
+		return tagId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTagId(String newTagId) {
+		String oldTagId = tagId;
+		tagId = newTagId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.PROXIMITY__TAG_ID, oldTagId,
+					tagId));
+	}
+
+	/**
+	 * <!-- 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, IPos_DatamodelPackage.PROXIMITY__TYPE, oldType,
+					type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getScannerId() {
+		return scannerId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setScannerId(String newScannerId) {
+		String oldScannerId = scannerId;
+		scannerId = newScannerId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.PROXIMITY__SCANNER_ID,
+					oldScannerId, scannerId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PROXIMITY__TAG_ID:
+			return getTagId();
+		case IPos_DatamodelPackage.PROXIMITY__TYPE:
+			return getType();
+		case IPos_DatamodelPackage.PROXIMITY__SCANNER_ID:
+			return getScannerId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PROXIMITY__TAG_ID:
+			setTagId((String) newValue);
+			return;
+		case IPos_DatamodelPackage.PROXIMITY__TYPE:
+			setType((String) newValue);
+			return;
+		case IPos_DatamodelPackage.PROXIMITY__SCANNER_ID:
+			setScannerId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PROXIMITY__TAG_ID:
+			setTagId(TAG_ID_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.PROXIMITY__TYPE:
+			setType(TYPE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.PROXIMITY__SCANNER_ID:
+			setScannerId(SCANNER_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.PROXIMITY__TAG_ID:
+			return TAG_ID_EDEFAULT == null ? tagId != null : !TAG_ID_EDEFAULT.equals(tagId);
+		case IPos_DatamodelPackage.PROXIMITY__TYPE:
+			return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+		case IPos_DatamodelPackage.PROXIMITY__SCANNER_ID:
+			return SCANNER_ID_EDEFAULT == null ? scannerId != null : !SCANNER_ID_EDEFAULT.equals(scannerId);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (tagId: ");
+		result.append(tagId);
+		result.append(", type: ");
+		result.append(type);
+		result.append(", scannerId: ");
+		result.append(scannerId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ProximityImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/QuaternionImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/QuaternionImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..9aa9dabcdf13169c7cafad3d9d83da0e3e2cedaf
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/QuaternionImpl.java
@@ -0,0 +1,325 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Quaternion;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Quaternion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl#getZ <em>Z</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.QuaternionImpl#getW <em>W</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class QuaternionImpl extends OrientationImpl implements Quaternion {
+	/**
+	 * The default value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float X_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected float x = X_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Y_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected float y = Y_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Z_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected float z = Z_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getW() <em>W</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getW()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float W_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getW() <em>W</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getW()
+	 * @generated
+	 * @ordered
+	 */
+	protected float w = W_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected QuaternionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.QUATERNION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getX() {
+		return x;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setX(float newX) {
+		float oldX = x;
+		x = newX;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.QUATERNION__X, oldX, x));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getY() {
+		return y;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setY(float newY) {
+		float oldY = y;
+		y = newY;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.QUATERNION__Y, oldY, y));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getZ() {
+		return z;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setZ(float newZ) {
+		float oldZ = z;
+		z = newZ;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.QUATERNION__Z, oldZ, z));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getW() {
+		return w;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setW(float newW) {
+		float oldW = w;
+		w = newW;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.QUATERNION__W, oldW, w));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.QUATERNION__X:
+			return getX();
+		case IPos_DatamodelPackage.QUATERNION__Y:
+			return getY();
+		case IPos_DatamodelPackage.QUATERNION__Z:
+			return getZ();
+		case IPos_DatamodelPackage.QUATERNION__W:
+			return getW();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.QUATERNION__X:
+			setX((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.QUATERNION__Y:
+			setY((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.QUATERNION__Z:
+			setZ((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.QUATERNION__W:
+			setW((Float) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.QUATERNION__X:
+			setX(X_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.QUATERNION__Y:
+			setY(Y_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.QUATERNION__Z:
+			setZ(Z_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.QUATERNION__W:
+			setW(W_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.QUATERNION__X:
+			return x != X_EDEFAULT;
+		case IPos_DatamodelPackage.QUATERNION__Y:
+			return y != Y_EDEFAULT;
+		case IPos_DatamodelPackage.QUATERNION__Z:
+			return z != Z_EDEFAULT;
+		case IPos_DatamodelPackage.QUATERNION__W:
+			return w != W_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (x: ");
+		result.append(x);
+		result.append(", y: ");
+		result.append(y);
+		result.append(", z: ");
+		result.append(z);
+		result.append(", w: ");
+		result.append(w);
+		result.append(')');
+		return result.toString();
+	}
+
+} //QuaternionImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/RFIDImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/RFIDImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..01387fa17591fce5bbc33ad910710261456ae074
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/RFIDImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.RFID;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>RFID</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.RFIDImpl#getLocation <em>Location</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RFIDImpl extends ProximityImpl implements RFID {
+	/**
+	 * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LOCATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String location = LOCATION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RFIDImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.RFID;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLocation() {
+		return location;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLocation(String newLocation) {
+		String oldLocation = location;
+		location = newLocation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.RFID__LOCATION, oldLocation,
+					location));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RFID__LOCATION:
+			return getLocation();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RFID__LOCATION:
+			setLocation((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RFID__LOCATION:
+			setLocation(LOCATION_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RFID__LOCATION:
+			return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (location: ");
+		result.append(location);
+		result.append(')');
+		return result.toString();
+	}
+
+} //RFIDImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/RawdataEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/RawdataEventImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e0b7832135b6a2ea18766707a6e8dbc45af38b1c
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/RawdataEventImpl.java
@@ -0,0 +1,165 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rawdata Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.RawdataEventImpl#getTimeStamp <em>Time Stamp</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RawdataEventImpl extends MinimalEObjectImpl.Container implements RawdataEvent {
+	/**
+	 * The default value of the '{@link #getTimeStamp() <em>Time Stamp</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeStamp()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TIME_STAMP_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTimeStamp() <em>Time Stamp</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTimeStamp()
+	 * @generated
+	 * @ordered
+	 */
+	protected String timeStamp = TIME_STAMP_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RawdataEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.RAWDATA_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTimeStamp() {
+		return timeStamp;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTimeStamp(String newTimeStamp) {
+		String oldTimeStamp = timeStamp;
+		timeStamp = newTimeStamp;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.RAWDATA_EVENT__TIME_STAMP,
+					oldTimeStamp, timeStamp));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RAWDATA_EVENT__TIME_STAMP:
+			return getTimeStamp();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RAWDATA_EVENT__TIME_STAMP:
+			setTimeStamp((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RAWDATA_EVENT__TIME_STAMP:
+			setTimeStamp(TIME_STAMP_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.RAWDATA_EVENT__TIME_STAMP:
+			return TIME_STAMP_EDEFAULT == null ? timeStamp != null : !TIME_STAMP_EDEFAULT.equals(timeStamp);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (timeStamp: ");
+		result.append(timeStamp);
+		result.append(')');
+		return result.toString();
+	}
+
+} //RawdataEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ReferenceSystemImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ReferenceSystemImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e465976fa256af5ce83872a7a065e85598474308
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ReferenceSystemImpl.java
@@ -0,0 +1,285 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
+import ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reference System</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ReferenceSystemImpl#getOrigin <em>Origin</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ReferenceSystemImpl#getName <em>Name</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ReferenceSystemImpl#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReferenceSystemImpl extends MinimalEObjectImpl.Container implements ReferenceSystem {
+	/**
+	 * The cached value of the '{@link #getOrigin() <em>Origin</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrigin()
+	 * @generated
+	 * @ordered
+	 */
+	protected Placing origin;
+
+	/**
+	 * 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;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReferenceSystemImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.REFERENCE_SYSTEM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing getOrigin() {
+		if (origin != null && origin.eIsProxy()) {
+			InternalEObject oldOrigin = (InternalEObject) origin;
+			origin = (Placing) eResolveProxy(oldOrigin);
+			if (origin != oldOrigin) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.REFERENCE_SYSTEM__ORIGIN, oldOrigin, origin));
+			}
+		}
+		return origin;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing basicGetOrigin() {
+		return origin;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOrigin(Placing newOrigin) {
+		Placing oldOrigin = origin;
+		origin = newOrigin;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.REFERENCE_SYSTEM__ORIGIN,
+					oldOrigin, origin));
+	}
+
+	/**
+	 * <!-- 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, IPos_DatamodelPackage.REFERENCE_SYSTEM__NAME, oldName,
+					name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.REFERENCE_SYSTEM__ID, oldId,
+					id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ORIGIN:
+			if (resolve)
+				return getOrigin();
+			return basicGetOrigin();
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__NAME:
+			return getName();
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ID:
+			return getId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ORIGIN:
+			setOrigin((Placing) newValue);
+			return;
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__NAME:
+			setName((String) newValue);
+			return;
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ID:
+			setId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ORIGIN:
+			setOrigin((Placing) null);
+			return;
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__NAME:
+			setName(NAME_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ID:
+			setId(ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ORIGIN:
+			return origin != null;
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__NAME:
+			return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM__ID:
+			return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(", id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ReferenceSystemImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SensorConfigurationRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SensorConfigurationRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..275929b028ad5ed5d994d2b61aaed70a823fc395
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SensorConfigurationRequestImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sensor Configuration Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SensorConfigurationRequestImpl extends MinimalEObjectImpl.Container implements SensorConfigurationRequest {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SensorConfigurationRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.SENSOR_CONFIGURATION_REQUEST;
+	}
+
+} //SensorConfigurationRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SpaceImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SpaceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e402c02c8bd234e2954c6a502bcfa3faae2238d0
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SpaceImpl.java
@@ -0,0 +1,337 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
+import ipos.project.DataModellntegration.iPos_Datamodel.Space;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Space</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl#getX <em>X</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl#getY <em>Y</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl#getZ <em>Z</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SpaceImpl#getCentrePoint <em>Centre Point</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SpaceImpl extends MinimalEObjectImpl.Container implements Space {
+	/**
+	 * The default value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float X_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getX() <em>X</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getX()
+	 * @generated
+	 * @ordered
+	 */
+	protected float x = X_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Y_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getY() <em>Y</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getY()
+	 * @generated
+	 * @ordered
+	 */
+	protected float y = Y_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float Z_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getZ() <em>Z</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZ()
+	 * @generated
+	 * @ordered
+	 */
+	protected float z = Z_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getCentrePoint() <em>Centre Point</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCentrePoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected Placing centrePoint;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SpaceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.SPACE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getX() {
+		return x;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setX(float newX) {
+		float oldX = x;
+		x = newX;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.SPACE__X, oldX, x));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getY() {
+		return y;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setY(float newY) {
+		float oldY = y;
+		y = newY;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.SPACE__Y, oldY, y));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getZ() {
+		return z;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setZ(float newZ) {
+		float oldZ = z;
+		z = newZ;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.SPACE__Z, oldZ, z));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing getCentrePoint() {
+		if (centrePoint != null && centrePoint.eIsProxy()) {
+			InternalEObject oldCentrePoint = (InternalEObject) centrePoint;
+			centrePoint = (Placing) eResolveProxy(oldCentrePoint);
+			if (centrePoint != oldCentrePoint) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, IPos_DatamodelPackage.SPACE__CENTRE_POINT,
+							oldCentrePoint, centrePoint));
+			}
+		}
+		return centrePoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Placing basicGetCentrePoint() {
+		return centrePoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCentrePoint(Placing newCentrePoint) {
+		Placing oldCentrePoint = centrePoint;
+		centrePoint = newCentrePoint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.SPACE__CENTRE_POINT,
+					oldCentrePoint, centrePoint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.SPACE__X:
+			return getX();
+		case IPos_DatamodelPackage.SPACE__Y:
+			return getY();
+		case IPos_DatamodelPackage.SPACE__Z:
+			return getZ();
+		case IPos_DatamodelPackage.SPACE__CENTRE_POINT:
+			if (resolve)
+				return getCentrePoint();
+			return basicGetCentrePoint();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.SPACE__X:
+			setX((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.SPACE__Y:
+			setY((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.SPACE__Z:
+			setZ((Float) newValue);
+			return;
+		case IPos_DatamodelPackage.SPACE__CENTRE_POINT:
+			setCentrePoint((Placing) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.SPACE__X:
+			setX(X_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.SPACE__Y:
+			setY(Y_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.SPACE__Z:
+			setZ(Z_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.SPACE__CENTRE_POINT:
+			setCentrePoint((Placing) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.SPACE__X:
+			return x != X_EDEFAULT;
+		case IPos_DatamodelPackage.SPACE__Y:
+			return y != Y_EDEFAULT;
+		case IPos_DatamodelPackage.SPACE__Z:
+			return z != Z_EDEFAULT;
+		case IPos_DatamodelPackage.SPACE__CENTRE_POINT:
+			return centrePoint != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (x: ");
+		result.append(x);
+		result.append(", y: ");
+		result.append(y);
+		result.append(", z: ");
+		result.append(z);
+		result.append(')');
+		return result.toString();
+	}
+
+} //SpaceImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e1c27083e26ff381de01bd2c1effdf4955f316b9
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingRequestImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tracking Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class TrackingRequestImpl extends MinimalEObjectImpl.Container implements TrackingRequest {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TrackingRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.TRACKING_REQUEST;
+	}
+
+} //TrackingRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingTaskImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingTaskImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..8c0c2a73662e2101f9182218eff5023856fe0494
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingTaskImpl.java
@@ -0,0 +1,162 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tracking Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingTaskImpl#getEventfilterconfiguration <em>Eventfilterconfiguration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TrackingTaskImpl extends MinimalEObjectImpl.Container implements TrackingTask {
+	/**
+	 * The cached value of the '{@link #getEventfilterconfiguration() <em>Eventfilterconfiguration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventfilterconfiguration()
+	 * @generated
+	 * @ordered
+	 */
+	protected EventFilterConfiguration eventfilterconfiguration;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TrackingTaskImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.TRACKING_TASK;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EventFilterConfiguration getEventfilterconfiguration() {
+		if (eventfilterconfiguration != null && eventfilterconfiguration.eIsProxy()) {
+			InternalEObject oldEventfilterconfiguration = (InternalEObject) eventfilterconfiguration;
+			eventfilterconfiguration = (EventFilterConfiguration) eResolveProxy(oldEventfilterconfiguration);
+			if (eventfilterconfiguration != oldEventfilterconfiguration) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPos_DatamodelPackage.TRACKING_TASK__EVENTFILTERCONFIGURATION, oldEventfilterconfiguration,
+							eventfilterconfiguration));
+			}
+		}
+		return eventfilterconfiguration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EventFilterConfiguration basicGetEventfilterconfiguration() {
+		return eventfilterconfiguration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEventfilterconfiguration(EventFilterConfiguration newEventfilterconfiguration) {
+		EventFilterConfiguration oldEventfilterconfiguration = eventfilterconfiguration;
+		eventfilterconfiguration = newEventfilterconfiguration;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPos_DatamodelPackage.TRACKING_TASK__EVENTFILTERCONFIGURATION, oldEventfilterconfiguration,
+					eventfilterconfiguration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.TRACKING_TASK__EVENTFILTERCONFIGURATION:
+			if (resolve)
+				return getEventfilterconfiguration();
+			return basicGetEventfilterconfiguration();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.TRACKING_TASK__EVENTFILTERCONFIGURATION:
+			setEventfilterconfiguration((EventFilterConfiguration) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.TRACKING_TASK__EVENTFILTERCONFIGURATION:
+			setEventfilterconfiguration((EventFilterConfiguration) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.TRACKING_TASK__EVENTFILTERCONFIGURATION:
+			return eventfilterconfiguration != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //TrackingTaskImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/UWBImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/UWBImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..ee56f5f38439d5216105b4febdaf5a51fd389b64
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/UWBImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.UWB;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UWB</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UWBImpl extends BeaconImpl implements UWB {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UWBImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.UWB;
+	}
+
+} //UWBImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WGS84PointImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WGS84PointImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..e140f5c22d1277f0c52036062ae2300ce4e36291
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WGS84PointImpl.java
@@ -0,0 +1,274 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>WGS84 Point</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WGS84PointImpl#getLongitude <em>Longitude</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WGS84PointImpl#getLatitude <em>Latitude</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WGS84PointImpl#getAltitude <em>Altitude</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class WGS84PointImpl extends PointImpl implements WGS84Point {
+	/**
+	 * The default value of the '{@link #getLongitude() <em>Longitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLongitude()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double LONGITUDE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getLongitude() <em>Longitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLongitude()
+	 * @generated
+	 * @ordered
+	 */
+	protected double longitude = LONGITUDE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLatitude() <em>Latitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLatitude()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double LATITUDE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getLatitude() <em>Latitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLatitude()
+	 * @generated
+	 * @ordered
+	 */
+	protected double latitude = LATITUDE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAltitude() <em>Altitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAltitude()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double ALTITUDE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getAltitude() <em>Altitude</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAltitude()
+	 * @generated
+	 * @ordered
+	 */
+	protected double altitude = ALTITUDE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected WGS84PointImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.WGS84_POINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getLongitude() {
+		return longitude;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLongitude(double newLongitude) {
+		double oldLongitude = longitude;
+		longitude = newLongitude;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.WGS84_POINT__LONGITUDE,
+					oldLongitude, longitude));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getLatitude() {
+		return latitude;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLatitude(double newLatitude) {
+		double oldLatitude = latitude;
+		latitude = newLatitude;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.WGS84_POINT__LATITUDE,
+					oldLatitude, latitude));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getAltitude() {
+		return altitude;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAltitude(double newAltitude) {
+		double oldAltitude = altitude;
+		altitude = newAltitude;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.WGS84_POINT__ALTITUDE,
+					oldAltitude, altitude));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.WGS84_POINT__LONGITUDE:
+			return getLongitude();
+		case IPos_DatamodelPackage.WGS84_POINT__LATITUDE:
+			return getLatitude();
+		case IPos_DatamodelPackage.WGS84_POINT__ALTITUDE:
+			return getAltitude();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.WGS84_POINT__LONGITUDE:
+			setLongitude((Double) newValue);
+			return;
+		case IPos_DatamodelPackage.WGS84_POINT__LATITUDE:
+			setLatitude((Double) newValue);
+			return;
+		case IPos_DatamodelPackage.WGS84_POINT__ALTITUDE:
+			setAltitude((Double) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.WGS84_POINT__LONGITUDE:
+			setLongitude(LONGITUDE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.WGS84_POINT__LATITUDE:
+			setLatitude(LATITUDE_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.WGS84_POINT__ALTITUDE:
+			setAltitude(ALTITUDE_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.WGS84_POINT__LONGITUDE:
+			return longitude != LONGITUDE_EDEFAULT;
+		case IPos_DatamodelPackage.WGS84_POINT__LATITUDE:
+			return latitude != LATITUDE_EDEFAULT;
+		case IPos_DatamodelPackage.WGS84_POINT__ALTITUDE:
+			return altitude != ALTITUDE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (longitude: ");
+		result.append(longitude);
+		result.append(", latitude: ");
+		result.append(latitude);
+		result.append(", altitude: ");
+		result.append(altitude);
+		result.append(')');
+		return result.toString();
+	}
+
+} //WGS84PointImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..94fa6e2a417fc5c56491b514e71c66e285787f66
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelImpl.java
@@ -0,0 +1,241 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Agent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.POI;
+import ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem;
+import ipos.project.DataModellntegration.iPos_Datamodel.WorldModel;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>World Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl#getAgent <em>Agent</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl#getZoneMap <em>Zone Map</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl#getPois <em>Pois</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelImpl#getReferenceSystem <em>Reference System</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class WorldModelImpl extends MinimalEObjectImpl.Container implements WorldModel {
+	/**
+	 * The cached value of the '{@link #getAgent() <em>Agent</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Agent> agent;
+
+	/**
+	 * The cached value of the '{@link #getZoneMap() <em>Zone Map</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZoneMap()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ZoneMap> zoneMap;
+
+	/**
+	 * The cached value of the '{@link #getPois() <em>Pois</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPois()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<POI> pois;
+
+	/**
+	 * The cached value of the '{@link #getReferenceSystem() <em>Reference System</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReferenceSystem()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ReferenceSystem> referenceSystem;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected WorldModelImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.WORLD_MODEL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Agent> getAgent() {
+		if (agent == null) {
+			agent = new EObjectResolvingEList<Agent>(Agent.class, this, IPos_DatamodelPackage.WORLD_MODEL__AGENT);
+		}
+		return agent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ZoneMap> getZoneMap() {
+		if (zoneMap == null) {
+			zoneMap = new EObjectResolvingEList<ZoneMap>(ZoneMap.class, this,
+					IPos_DatamodelPackage.WORLD_MODEL__ZONE_MAP);
+		}
+		return zoneMap;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<POI> getPois() {
+		if (pois == null) {
+			pois = new EObjectResolvingEList<POI>(POI.class, this, IPos_DatamodelPackage.WORLD_MODEL__POIS);
+		}
+		return pois;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ReferenceSystem> getReferenceSystem() {
+		if (referenceSystem == null) {
+			referenceSystem = new EObjectResolvingEList<ReferenceSystem>(ReferenceSystem.class, this,
+					IPos_DatamodelPackage.WORLD_MODEL__REFERENCE_SYSTEM);
+		}
+		return referenceSystem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.WORLD_MODEL__AGENT:
+			return getAgent();
+		case IPos_DatamodelPackage.WORLD_MODEL__ZONE_MAP:
+			return getZoneMap();
+		case IPos_DatamodelPackage.WORLD_MODEL__POIS:
+			return getPois();
+		case IPos_DatamodelPackage.WORLD_MODEL__REFERENCE_SYSTEM:
+			return getReferenceSystem();
+		}
+		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 IPos_DatamodelPackage.WORLD_MODEL__AGENT:
+			getAgent().clear();
+			getAgent().addAll((Collection<? extends Agent>) newValue);
+			return;
+		case IPos_DatamodelPackage.WORLD_MODEL__ZONE_MAP:
+			getZoneMap().clear();
+			getZoneMap().addAll((Collection<? extends ZoneMap>) newValue);
+			return;
+		case IPos_DatamodelPackage.WORLD_MODEL__POIS:
+			getPois().clear();
+			getPois().addAll((Collection<? extends POI>) newValue);
+			return;
+		case IPos_DatamodelPackage.WORLD_MODEL__REFERENCE_SYSTEM:
+			getReferenceSystem().clear();
+			getReferenceSystem().addAll((Collection<? extends ReferenceSystem>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.WORLD_MODEL__AGENT:
+			getAgent().clear();
+			return;
+		case IPos_DatamodelPackage.WORLD_MODEL__ZONE_MAP:
+			getZoneMap().clear();
+			return;
+		case IPos_DatamodelPackage.WORLD_MODEL__POIS:
+			getPois().clear();
+			return;
+		case IPos_DatamodelPackage.WORLD_MODEL__REFERENCE_SYSTEM:
+			getReferenceSystem().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.WORLD_MODEL__AGENT:
+			return agent != null && !agent.isEmpty();
+		case IPos_DatamodelPackage.WORLD_MODEL__ZONE_MAP:
+			return zoneMap != null && !zoneMap.isEmpty();
+		case IPos_DatamodelPackage.WORLD_MODEL__POIS:
+			return pois != null && !pois.isEmpty();
+		case IPos_DatamodelPackage.WORLD_MODEL__REFERENCE_SYSTEM:
+			return referenceSystem != null && !referenceSystem.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //WorldModelImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelQueryRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelQueryRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..74618cb0f51a1d62460355dcec5eefbfb409facc
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelQueryRequestImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>World Model Query Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class WorldModelQueryRequestImpl extends MinimalEObjectImpl.Container implements WorldModelQueryRequest {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected WorldModelQueryRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.WORLD_MODEL_QUERY_REQUEST;
+	}
+
+} //WorldModelQueryRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelUpdateRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelUpdateRequestImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..510b2ef29e08986971947582fa0bbbc9ebfc0095
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelUpdateRequestImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>World Model Update Request</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class WorldModelUpdateRequestImpl extends MinimalEObjectImpl.Container implements WorldModelUpdateRequest {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected WorldModelUpdateRequestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.WORLD_MODEL_UPDATE_REQUEST;
+	}
+
+} //WorldModelUpdateRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ZoneImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ZoneImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..72987b7c19692ba9b6464b0507f90b5e5e25daa5
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ZoneImpl.java
@@ -0,0 +1,277 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Space;
+import ipos.project.DataModellntegration.iPos_Datamodel.Zone;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Zone</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneImpl#getSpace <em>Space</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneImpl#getName <em>Name</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneImpl#getId <em>Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ZoneImpl extends MinimalEObjectImpl.Container implements Zone {
+	/**
+	 * The cached value of the '{@link #getSpace() <em>Space</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSpace()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Space> space;
+
+	/**
+	 * 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;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ZoneImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.ZONE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Space> getSpace() {
+		if (space == null) {
+			space = new EObjectContainmentEList<Space>(Space.class, this, IPos_DatamodelPackage.ZONE__SPACE);
+		}
+		return space;
+	}
+
+	/**
+	 * <!-- 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, IPos_DatamodelPackage.ZONE__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.ZONE__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ZONE__SPACE:
+			return ((InternalEList<?>) getSpace()).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 IPos_DatamodelPackage.ZONE__SPACE:
+			return getSpace();
+		case IPos_DatamodelPackage.ZONE__NAME:
+			return getName();
+		case IPos_DatamodelPackage.ZONE__ID:
+			return getId();
+		}
+		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 IPos_DatamodelPackage.ZONE__SPACE:
+			getSpace().clear();
+			getSpace().addAll((Collection<? extends Space>) newValue);
+			return;
+		case IPos_DatamodelPackage.ZONE__NAME:
+			setName((String) newValue);
+			return;
+		case IPos_DatamodelPackage.ZONE__ID:
+			setId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ZONE__SPACE:
+			getSpace().clear();
+			return;
+		case IPos_DatamodelPackage.ZONE__NAME:
+			setName(NAME_EDEFAULT);
+			return;
+		case IPos_DatamodelPackage.ZONE__ID:
+			setId(ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ZONE__SPACE:
+			return space != null && !space.isEmpty();
+		case IPos_DatamodelPackage.ZONE__NAME:
+			return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		case IPos_DatamodelPackage.ZONE__ID:
+			return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(", id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ZoneImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ZoneMapImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ZoneMapImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..98fc65302c8009fe67ce21ac6ea0dceca42af568
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/ZoneMapImpl.java
@@ -0,0 +1,150 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Zone;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Zone Map</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.ZoneMapImpl#getZone <em>Zone</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ZoneMapImpl extends MapTypeImpl implements ZoneMap {
+	/**
+	 * The cached value of the '{@link #getZone() <em>Zone</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZone()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Zone> zone;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ZoneMapImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPos_DatamodelPackage.Literals.ZONE_MAP;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Zone> getZone() {
+		if (zone == null) {
+			zone = new EObjectContainmentEList<Zone>(Zone.class, this, IPos_DatamodelPackage.ZONE_MAP__ZONE);
+		}
+		return zone;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ZONE_MAP__ZONE:
+			return ((InternalEList<?>) getZone()).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 IPos_DatamodelPackage.ZONE_MAP__ZONE:
+			return getZone();
+		}
+		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 IPos_DatamodelPackage.ZONE_MAP__ZONE:
+			getZone().clear();
+			getZone().addAll((Collection<? extends Zone>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ZONE_MAP__ZONE:
+			getZone().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPos_DatamodelPackage.ZONE_MAP__ZONE:
+			return zone != null && !zone.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ZoneMapImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelAdapterFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..18217b406eebd240c8e74f7c88bba827ac7619c1
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelAdapterFactory.java
@@ -0,0 +1,955 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.*;
+
+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;
+
+/**
+ * <!-- 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 ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage
+ * @generated
+ */
+public class IPos_DatamodelAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static IPos_DatamodelPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPos_DatamodelAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = IPos_DatamodelPackage.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 IPos_DatamodelSwitch<Adapter> modelSwitch = new IPos_DatamodelSwitch<Adapter>() {
+		@Override
+		public Adapter caseAgent(Agent object) {
+			return createAgentAdapter();
+		}
+
+		@Override
+		public Adapter caseEntity(Entity object) {
+			return createEntityAdapter();
+		}
+
+		@Override
+		public Adapter caseLocalizableObject(LocalizableObject object) {
+			return createLocalizableObjectAdapter();
+		}
+
+		@Override
+		public Adapter casePlacing(Placing object) {
+			return createPlacingAdapter();
+		}
+
+		@Override
+		public Adapter casePosition(Position object) {
+			return createPositionAdapter();
+		}
+
+		@Override
+		public Adapter caseOrientation(Orientation object) {
+			return createOrientationAdapter();
+		}
+
+		@Override
+		public Adapter caseWGS84Point(WGS84Point object) {
+			return createWGS84PointAdapter();
+		}
+
+		@Override
+		public Adapter caseAccuracy(Accuracy object) {
+			return createAccuracyAdapter();
+		}
+
+		@Override
+		public Adapter casePoint2D(Point2D object) {
+			return createPoint2DAdapter();
+		}
+
+		@Override
+		public Adapter casePoint3D(Point3D object) {
+			return createPoint3DAdapter();
+		}
+
+		@Override
+		public Adapter caseReferenceSystem(ReferenceSystem object) {
+			return createReferenceSystemAdapter();
+		}
+
+		@Override
+		public Adapter caseZone(Zone object) {
+			return createZoneAdapter();
+		}
+
+		@Override
+		public Adapter caseZoneMap(ZoneMap object) {
+			return createZoneMapAdapter();
+		}
+
+		@Override
+		public Adapter caseSpace(Space object) {
+			return createSpaceAdapter();
+		}
+
+		@Override
+		public Adapter caseMapType(MapType object) {
+			return createMapTypeAdapter();
+		}
+
+		@Override
+		public Adapter caseQuaternion(Quaternion object) {
+			return createQuaternionAdapter();
+		}
+
+		@Override
+		public Adapter caseGaussian(Gaussian object) {
+			return createGaussianAdapter();
+		}
+
+		@Override
+		public Adapter casePoint(Point object) {
+			return createPointAdapter();
+		}
+
+		@Override
+		public Adapter caseRawdataEvent(RawdataEvent object) {
+			return createRawdataEventAdapter();
+		}
+
+		@Override
+		public Adapter caseProximity(Proximity object) {
+			return createProximityAdapter();
+		}
+
+		@Override
+		public Adapter caseRFID(RFID object) {
+			return createRFIDAdapter();
+		}
+
+		@Override
+		public Adapter caseNFC(NFC object) {
+			return createNFCAdapter();
+		}
+
+		@Override
+		public Adapter caseIMU(IMU object) {
+			return createIMUAdapter();
+		}
+
+		@Override
+		public Adapter caseAcceleration(Acceleration object) {
+			return createAccelerationAdapter();
+		}
+
+		@Override
+		public Adapter caseBeacon(Beacon object) {
+			return createBeaconAdapter();
+		}
+
+		@Override
+		public Adapter casePositionEvent(PositionEvent object) {
+			return createPositionEventAdapter();
+		}
+
+		@Override
+		public Adapter caseTrackingRequest(TrackingRequest object) {
+			return createTrackingRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseMonitoringRequest(MonitoringRequest object) {
+			return createMonitoringRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseWorldModelUpdateRequest(WorldModelUpdateRequest object) {
+			return createWorldModelUpdateRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseDataStorageRequest(DataStorageRequest object) {
+			return createDataStorageRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseEventFilterConfiguration(EventFilterConfiguration object) {
+			return createEventFilterConfigurationAdapter();
+		}
+
+		@Override
+		public Adapter caseWorldModelQueryRequest(WorldModelQueryRequest object) {
+			return createWorldModelQueryRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseDataStorageQueryRequest(DataStorageQueryRequest object) {
+			return createDataStorageQueryRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseAgentRegistrationRequest(AgentRegistrationRequest object) {
+			return createAgentRegistrationRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseMonitoringTask(MonitoringTask object) {
+			return createMonitoringTaskAdapter();
+		}
+
+		@Override
+		public Adapter caseTrackingTask(TrackingTask object) {
+			return createTrackingTaskAdapter();
+		}
+
+		@Override
+		public Adapter caseWorldModel(WorldModel object) {
+			return createWorldModelAdapter();
+		}
+
+		@Override
+		public Adapter caseBarcode(Barcode object) {
+			return createBarcodeAdapter();
+		}
+
+		@Override
+		public Adapter caseOtherProx(OtherProx object) {
+			return createOtherProxAdapter();
+		}
+
+		@Override
+		public Adapter caseBluetooth(Bluetooth object) {
+			return createBluetoothAdapter();
+		}
+
+		@Override
+		public Adapter caseUWB(UWB object) {
+			return createUWBAdapter();
+		}
+
+		@Override
+		public Adapter caseSensorConfigurationRequest(SensorConfigurationRequest object) {
+			return createSensorConfigurationRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseOtherBeacon(OtherBeacon object) {
+			return createOtherBeaconAdapter();
+		}
+
+		@Override
+		public Adapter casePOI(POI object) {
+			return createPOIAdapter();
+		}
+
+		@Override
+		public Adapter caseEventFilterCondition(EventFilterCondition object) {
+			return createEventFilterConditionAdapter();
+		}
+
+		@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 ipos.project.DataModellntegration.iPos_Datamodel.Agent <em>Agent</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 ipos.project.DataModellntegration.iPos_Datamodel.Agent
+	 * @generated
+	 */
+	public Adapter createAgentAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Entity <em>Entity</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 ipos.project.DataModellntegration.iPos_Datamodel.Entity
+	 * @generated
+	 */
+	public Adapter createEntityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject <em>Localizable Object</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 ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject
+	 * @generated
+	 */
+	public Adapter createLocalizableObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Placing <em>Placing</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 ipos.project.DataModellntegration.iPos_Datamodel.Placing
+	 * @generated
+	 */
+	public Adapter createPlacingAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Position <em>Position</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 ipos.project.DataModellntegration.iPos_Datamodel.Position
+	 * @generated
+	 */
+	public Adapter createPositionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Orientation <em>Orientation</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 ipos.project.DataModellntegration.iPos_Datamodel.Orientation
+	 * @generated
+	 */
+	public Adapter createOrientationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point <em>WGS84 Point</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 ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point
+	 * @generated
+	 */
+	public Adapter createWGS84PointAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Accuracy <em>Accuracy</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 ipos.project.DataModellntegration.iPos_Datamodel.Accuracy
+	 * @generated
+	 */
+	public Adapter createAccuracyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point2D <em>Point2 D</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 ipos.project.DataModellntegration.iPos_Datamodel.Point2D
+	 * @generated
+	 */
+	public Adapter createPoint2DAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point3D <em>Point3 D</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 ipos.project.DataModellntegration.iPos_Datamodel.Point3D
+	 * @generated
+	 */
+	public Adapter createPoint3DAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem <em>Reference System</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 ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem
+	 * @generated
+	 */
+	public Adapter createReferenceSystemAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Zone <em>Zone</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 ipos.project.DataModellntegration.iPos_Datamodel.Zone
+	 * @generated
+	 */
+	public Adapter createZoneAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap <em>Zone Map</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 ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap
+	 * @generated
+	 */
+	public Adapter createZoneMapAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Space <em>Space</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 ipos.project.DataModellntegration.iPos_Datamodel.Space
+	 * @generated
+	 */
+	public Adapter createSpaceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MapType <em>Map Type</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 ipos.project.DataModellntegration.iPos_Datamodel.MapType
+	 * @generated
+	 */
+	public Adapter createMapTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Quaternion <em>Quaternion</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 ipos.project.DataModellntegration.iPos_Datamodel.Quaternion
+	 * @generated
+	 */
+	public Adapter createQuaternionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Gaussian <em>Gaussian</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 ipos.project.DataModellntegration.iPos_Datamodel.Gaussian
+	 * @generated
+	 */
+	public Adapter createGaussianAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Point <em>Point</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 ipos.project.DataModellntegration.iPos_Datamodel.Point
+	 * @generated
+	 */
+	public Adapter createPointAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent <em>Rawdata Event</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 ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent
+	 * @generated
+	 */
+	public Adapter createRawdataEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Proximity <em>Proximity</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 ipos.project.DataModellntegration.iPos_Datamodel.Proximity
+	 * @generated
+	 */
+	public Adapter createProximityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.RFID <em>RFID</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 ipos.project.DataModellntegration.iPos_Datamodel.RFID
+	 * @generated
+	 */
+	public Adapter createRFIDAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.NFC <em>NFC</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 ipos.project.DataModellntegration.iPos_Datamodel.NFC
+	 * @generated
+	 */
+	public Adapter createNFCAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IMU <em>IMU</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 ipos.project.DataModellntegration.iPos_Datamodel.IMU
+	 * @generated
+	 */
+	public Adapter createIMUAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Acceleration <em>Acceleration</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 ipos.project.DataModellntegration.iPos_Datamodel.Acceleration
+	 * @generated
+	 */
+	public Adapter createAccelerationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Beacon <em>Beacon</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 ipos.project.DataModellntegration.iPos_Datamodel.Beacon
+	 * @generated
+	 */
+	public Adapter createBeaconAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent <em>Position Event</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 ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent
+	 * @generated
+	 */
+	public Adapter createPositionEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest <em>Tracking Request</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 ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest
+	 * @generated
+	 */
+	public Adapter createTrackingRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest <em>Monitoring Request</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 ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest
+	 * @generated
+	 */
+	public Adapter createMonitoringRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest <em>World Model Update Request</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 ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest
+	 * @generated
+	 */
+	public Adapter createWorldModelUpdateRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest <em>Data Storage Request</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 ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest
+	 * @generated
+	 */
+	public Adapter createDataStorageRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration <em>Event Filter Configuration</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 ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration
+	 * @generated
+	 */
+	public Adapter createEventFilterConfigurationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest <em>World Model Query Request</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 ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest
+	 * @generated
+	 */
+	public Adapter createWorldModelQueryRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest <em>Data Storage Query Request</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 ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest
+	 * @generated
+	 */
+	public Adapter createDataStorageQueryRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest <em>Agent Registration Request</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 ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest
+	 * @generated
+	 */
+	public Adapter createAgentRegistrationRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask <em>Monitoring Task</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 ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask
+	 * @generated
+	 */
+	public Adapter createMonitoringTaskAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask <em>Tracking Task</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 ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask
+	 * @generated
+	 */
+	public Adapter createTrackingTaskAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModel <em>World Model</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 ipos.project.DataModellntegration.iPos_Datamodel.WorldModel
+	 * @generated
+	 */
+	public Adapter createWorldModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Barcode <em>Barcode</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 ipos.project.DataModellntegration.iPos_Datamodel.Barcode
+	 * @generated
+	 */
+	public Adapter createBarcodeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherProx <em>Other Prox</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 ipos.project.DataModellntegration.iPos_Datamodel.OtherProx
+	 * @generated
+	 */
+	public Adapter createOtherProxAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth <em>Bluetooth</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 ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth
+	 * @generated
+	 */
+	public Adapter createBluetoothAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.UWB <em>UWB</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 ipos.project.DataModellntegration.iPos_Datamodel.UWB
+	 * @generated
+	 */
+	public Adapter createUWBAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest <em>Sensor Configuration Request</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 ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest
+	 * @generated
+	 */
+	public Adapter createSensorConfigurationRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon <em>Other Beacon</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 ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon
+	 * @generated
+	 */
+	public Adapter createOtherBeaconAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.POI <em>POI</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 ipos.project.DataModellntegration.iPos_Datamodel.POI
+	 * @generated
+	 */
+	public Adapter createPOIAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition <em>Event Filter 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 ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition
+	 * @generated
+	 */
+	public Adapter createEventFilterConditionAdapter() {
+		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;
+	}
+
+} //IPos_DatamodelAdapterFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelSwitch.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelSwitch.java
new file mode 100644
index 0000000000000000000000000000000000000000..050ebfc116e7cb83312c238541bdb0c9320aad1a
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelSwitch.java
@@ -0,0 +1,1130 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- 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 ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage
+ * @generated
+ */
+public class IPos_DatamodelSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static IPos_DatamodelPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPos_DatamodelSwitch() {
+		if (modelPackage == null) {
+			modelPackage = IPos_DatamodelPackage.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 IPos_DatamodelPackage.AGENT: {
+			Agent agent = (Agent) theEObject;
+			T result = caseAgent(agent);
+			if (result == null)
+				result = caseEntity(agent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.ENTITY: {
+			Entity entity = (Entity) theEObject;
+			T result = caseEntity(entity);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.LOCALIZABLE_OBJECT: {
+			LocalizableObject localizableObject = (LocalizableObject) theEObject;
+			T result = caseLocalizableObject(localizableObject);
+			if (result == null)
+				result = caseEntity(localizableObject);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.PLACING: {
+			Placing placing = (Placing) theEObject;
+			T result = casePlacing(placing);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.POSITION: {
+			Position position = (Position) theEObject;
+			T result = casePosition(position);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.ORIENTATION: {
+			Orientation orientation = (Orientation) theEObject;
+			T result = caseOrientation(orientation);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.WGS84_POINT: {
+			WGS84Point wgs84Point = (WGS84Point) theEObject;
+			T result = caseWGS84Point(wgs84Point);
+			if (result == null)
+				result = casePoint(wgs84Point);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.ACCURACY: {
+			Accuracy accuracy = (Accuracy) theEObject;
+			T result = caseAccuracy(accuracy);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.POINT2_D: {
+			Point2D point2D = (Point2D) theEObject;
+			T result = casePoint2D(point2D);
+			if (result == null)
+				result = casePoint(point2D);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.POINT3_D: {
+			Point3D point3D = (Point3D) theEObject;
+			T result = casePoint3D(point3D);
+			if (result == null)
+				result = casePoint(point3D);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.REFERENCE_SYSTEM: {
+			ReferenceSystem referenceSystem = (ReferenceSystem) theEObject;
+			T result = caseReferenceSystem(referenceSystem);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.ZONE: {
+			Zone zone = (Zone) theEObject;
+			T result = caseZone(zone);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.ZONE_MAP: {
+			ZoneMap zoneMap = (ZoneMap) theEObject;
+			T result = caseZoneMap(zoneMap);
+			if (result == null)
+				result = caseMapType(zoneMap);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.SPACE: {
+			Space space = (Space) theEObject;
+			T result = caseSpace(space);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.MAP_TYPE: {
+			MapType mapType = (MapType) theEObject;
+			T result = caseMapType(mapType);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.QUATERNION: {
+			Quaternion quaternion = (Quaternion) theEObject;
+			T result = caseQuaternion(quaternion);
+			if (result == null)
+				result = caseOrientation(quaternion);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.GAUSSIAN: {
+			Gaussian gaussian = (Gaussian) theEObject;
+			T result = caseGaussian(gaussian);
+			if (result == null)
+				result = caseAccuracy(gaussian);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.POINT: {
+			Point point = (Point) theEObject;
+			T result = casePoint(point);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.RAWDATA_EVENT: {
+			RawdataEvent rawdataEvent = (RawdataEvent) theEObject;
+			T result = caseRawdataEvent(rawdataEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.PROXIMITY: {
+			Proximity proximity = (Proximity) theEObject;
+			T result = caseProximity(proximity);
+			if (result == null)
+				result = caseRawdataEvent(proximity);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.RFID: {
+			RFID rfid = (RFID) theEObject;
+			T result = caseRFID(rfid);
+			if (result == null)
+				result = caseProximity(rfid);
+			if (result == null)
+				result = caseRawdataEvent(rfid);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.NFC: {
+			NFC nfc = (NFC) theEObject;
+			T result = caseNFC(nfc);
+			if (result == null)
+				result = caseProximity(nfc);
+			if (result == null)
+				result = caseRawdataEvent(nfc);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.IMU: {
+			IMU imu = (IMU) theEObject;
+			T result = caseIMU(imu);
+			if (result == null)
+				result = caseRawdataEvent(imu);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.ACCELERATION: {
+			Acceleration acceleration = (Acceleration) theEObject;
+			T result = caseAcceleration(acceleration);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.BEACON: {
+			Beacon beacon = (Beacon) theEObject;
+			T result = caseBeacon(beacon);
+			if (result == null)
+				result = caseRawdataEvent(beacon);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.POSITION_EVENT: {
+			PositionEvent positionEvent = (PositionEvent) theEObject;
+			T result = casePositionEvent(positionEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.TRACKING_REQUEST: {
+			TrackingRequest trackingRequest = (TrackingRequest) theEObject;
+			T result = caseTrackingRequest(trackingRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.MONITORING_REQUEST: {
+			MonitoringRequest monitoringRequest = (MonitoringRequest) theEObject;
+			T result = caseMonitoringRequest(monitoringRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.WORLD_MODEL_UPDATE_REQUEST: {
+			WorldModelUpdateRequest worldModelUpdateRequest = (WorldModelUpdateRequest) theEObject;
+			T result = caseWorldModelUpdateRequest(worldModelUpdateRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.DATA_STORAGE_REQUEST: {
+			DataStorageRequest dataStorageRequest = (DataStorageRequest) theEObject;
+			T result = caseDataStorageRequest(dataStorageRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION: {
+			EventFilterConfiguration eventFilterConfiguration = (EventFilterConfiguration) theEObject;
+			T result = caseEventFilterConfiguration(eventFilterConfiguration);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.WORLD_MODEL_QUERY_REQUEST: {
+			WorldModelQueryRequest worldModelQueryRequest = (WorldModelQueryRequest) theEObject;
+			T result = caseWorldModelQueryRequest(worldModelQueryRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST: {
+			DataStorageQueryRequest dataStorageQueryRequest = (DataStorageQueryRequest) theEObject;
+			T result = caseDataStorageQueryRequest(dataStorageQueryRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.AGENT_REGISTRATION_REQUEST: {
+			AgentRegistrationRequest agentRegistrationRequest = (AgentRegistrationRequest) theEObject;
+			T result = caseAgentRegistrationRequest(agentRegistrationRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.MONITORING_TASK: {
+			MonitoringTask monitoringTask = (MonitoringTask) theEObject;
+			T result = caseMonitoringTask(monitoringTask);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.TRACKING_TASK: {
+			TrackingTask trackingTask = (TrackingTask) theEObject;
+			T result = caseTrackingTask(trackingTask);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.WORLD_MODEL: {
+			WorldModel worldModel = (WorldModel) theEObject;
+			T result = caseWorldModel(worldModel);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.BARCODE: {
+			Barcode barcode = (Barcode) theEObject;
+			T result = caseBarcode(barcode);
+			if (result == null)
+				result = caseProximity(barcode);
+			if (result == null)
+				result = caseRawdataEvent(barcode);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.OTHER_PROX: {
+			OtherProx otherProx = (OtherProx) theEObject;
+			T result = caseOtherProx(otherProx);
+			if (result == null)
+				result = caseProximity(otherProx);
+			if (result == null)
+				result = caseRawdataEvent(otherProx);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.BLUETOOTH: {
+			Bluetooth bluetooth = (Bluetooth) theEObject;
+			T result = caseBluetooth(bluetooth);
+			if (result == null)
+				result = caseBeacon(bluetooth);
+			if (result == null)
+				result = caseRawdataEvent(bluetooth);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.UWB: {
+			UWB uwb = (UWB) theEObject;
+			T result = caseUWB(uwb);
+			if (result == null)
+				result = caseBeacon(uwb);
+			if (result == null)
+				result = caseRawdataEvent(uwb);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.SENSOR_CONFIGURATION_REQUEST: {
+			SensorConfigurationRequest sensorConfigurationRequest = (SensorConfigurationRequest) theEObject;
+			T result = caseSensorConfigurationRequest(sensorConfigurationRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.OTHER_BEACON: {
+			OtherBeacon otherBeacon = (OtherBeacon) theEObject;
+			T result = caseOtherBeacon(otherBeacon);
+			if (result == null)
+				result = caseBeacon(otherBeacon);
+			if (result == null)
+				result = caseRawdataEvent(otherBeacon);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.POI: {
+			POI poi = (POI) theEObject;
+			T result = casePOI(poi);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPos_DatamodelPackage.EVENT_FILTER_CONDITION: {
+			EventFilterCondition eventFilterCondition = (EventFilterCondition) theEObject;
+			T result = caseEventFilterCondition(eventFilterCondition);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Agent</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>Agent</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAgent(Agent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity</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>Entity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntity(Entity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Localizable Object</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>Localizable Object</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLocalizableObject(LocalizableObject object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Placing</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>Placing</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePlacing(Placing object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Position</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>Position</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePosition(Position object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Orientation</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>Orientation</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOrientation(Orientation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>WGS84 Point</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>WGS84 Point</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseWGS84Point(WGS84Point object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Accuracy</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>Accuracy</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAccuracy(Accuracy object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Point2 D</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>Point2 D</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePoint2D(Point2D object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Point3 D</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>Point3 D</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePoint3D(Point3D object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Reference System</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>Reference System</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseReferenceSystem(ReferenceSystem object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Zone</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>Zone</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseZone(Zone object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Zone Map</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>Zone Map</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseZoneMap(ZoneMap object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Space</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>Space</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSpace(Space object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Map Type</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>Map Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMapType(MapType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Quaternion</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>Quaternion</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseQuaternion(Quaternion object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Gaussian</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>Gaussian</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseGaussian(Gaussian object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Point</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>Point</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePoint(Point object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Rawdata Event</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>Rawdata Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRawdataEvent(RawdataEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Proximity</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>Proximity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProximity(Proximity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>RFID</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>RFID</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRFID(RFID object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>NFC</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>NFC</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNFC(NFC object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IMU</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>IMU</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIMU(IMU object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Acceleration</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>Acceleration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAcceleration(Acceleration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Beacon</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>Beacon</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBeacon(Beacon object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Position Event</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>Position Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePositionEvent(PositionEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Tracking Request</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>Tracking Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTrackingRequest(TrackingRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Monitoring Request</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>Monitoring Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMonitoringRequest(MonitoringRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>World Model Update Request</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>World Model Update Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseWorldModelUpdateRequest(WorldModelUpdateRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Storage Request</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>Data Storage Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataStorageRequest(DataStorageRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Event Filter Configuration</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>Event Filter Configuration</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEventFilterConfiguration(EventFilterConfiguration object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>World Model Query Request</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>World Model Query Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseWorldModelQueryRequest(WorldModelQueryRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Storage Query Request</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>Data Storage Query Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataStorageQueryRequest(DataStorageQueryRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Agent Registration Request</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>Agent Registration Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAgentRegistrationRequest(AgentRegistrationRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Monitoring Task</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>Monitoring Task</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMonitoringTask(MonitoringTask object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Tracking Task</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>Tracking Task</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTrackingTask(TrackingTask object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>World Model</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>World Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseWorldModel(WorldModel object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Barcode</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>Barcode</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBarcode(Barcode object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Other Prox</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>Other Prox</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOtherProx(OtherProx object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Bluetooth</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>Bluetooth</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBluetooth(Bluetooth object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>UWB</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>UWB</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseUWB(UWB object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Sensor Configuration Request</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 Configuration Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSensorConfigurationRequest(SensorConfigurationRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Other Beacon</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>Other Beacon</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOtherBeacon(OtherBeacon object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>POI</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>POI</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePOI(POI object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Event Filter 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>Event Filter Condition</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEventFilterCondition(EventFilterCondition 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;
+	}
+
+} //IPos_DatamodelSwitch