From 2a089cc64bfcf3bd01ffe545124c446d17242eb5 Mon Sep 17 00:00:00 2001
From: Frank Rohde <frank.rohde@tu-dresden.de>
Date: Fri, 11 Feb 2022 13:41:01 +0100
Subject: [PATCH] extended IPos data model for tooz application code of new
 package iposextension.tooz is at a state that could have been achieved by
 code generation from the EMF model Tooz extension code is untested

---
 build.gradle                                  |    3 +-
 emf_datamodel/model/iPos_Datamodel.aird       |  736 +++++++-
 emf_datamodel/model/iPos_Datamodel.ecore      |   73 +
 emf_datamodel/model/iPos_Datamodel.genmodel   |   43 +
 .../ipos/project/CustomLoggingFilter.java     |    2 +
 .../SimpleSceneIntegration.java               |   21 +-
 .../IPosDevKit/IPosBTEvent.java               |   46 +
 .../IPosDevKit/IPosBarcodeEvent.java          |   16 +
 .../IPosDevKit/IPosBeaconEvent.java           |   46 +
 .../IPosDevKit/IPosDevKitFactory.java         |   90 +
 .../IPosDevKit/IPosDevKitPackage.java         | 1502 +++++++++++++++--
 .../IPosDevKit/IPosNFCEvent.java              |   46 +
 .../IPosDevKit/IPosOtherBeaconEvent.java      |   46 +
 .../IPosDevKit/IPosOtherProxEvent.java        |   46 +
 .../IPosDevKit/IPosProximityEvent.java        |   44 +
 .../IPosDevKit/IPosRFIDEvent.java             |   44 +
 .../IPosDevKit/IPosRawdataEvent.java          |  138 ++
 .../IPosDevKit/IPosUWBEvent.java              |   16 +
 .../IPosDevKit/impl/IPosBTEventImpl.java      |  156 ++
 .../IPosDevKit/impl/IPosBarcodeEventImpl.java |   37 +
 .../IPosDevKit/impl/IPosBeaconEventImpl.java  |  157 ++
 .../impl/IPosDevKitFactoryImpl.java           |  120 ++
 .../impl/IPosDevKitPackageImpl.java           |  414 +++++
 .../IPosDevKit/impl/IPosNFCEventImpl.java     |  157 ++
 .../impl/IPosOtherBeaconEventImpl.java        |  157 ++
 .../impl/IPosOtherProxEventImpl.java          |  157 ++
 .../impl/IPosProximityEventImpl.java          |  164 ++
 .../IPosDevKit/impl/IPosRFIDEventImpl.java    |  164 ++
 .../IPosDevKit/impl/IPosRawdataEventImpl.java |  385 +++++
 .../IPosDevKit/impl/IPosUWBEventImpl.java     |   37 +
 .../util/IPosDevKitAdapterFactory.java        |  190 +++
 .../IPosDevKit/util/IPosDevKitSwitch.java     |  252 +++
 .../OFBiz/impl/OFBizPackageImpl.java          |    8 +
 .../iPos_Datamodel/Tooz/DistantEntity.java    |  163 ++
 .../iPos_Datamodel/Tooz/MonitoringTarget.java |   46 +
 .../iPos_Datamodel/Tooz/ToozFactory.java      |   51 +
 .../iPos_Datamodel/Tooz/ToozPackage.java      |  375 ++++
 .../Tooz/impl/DistantEntityImpl.java          |  436 +++++
 .../Tooz/impl/MonitoringTargetImpl.java       |  166 ++
 .../Tooz/impl/ToozFactoryImpl.java            |  107 ++
 .../Tooz/impl/ToozPackageImpl.java            |  328 ++++
 .../Tooz/util/ToozAdapterFactory.java         |  138 ++
 .../iPos_Datamodel/Tooz/util/ToozSwitch.java  |  134 ++
 .../impl/IPos_DatamodelPackageImpl.java       |   10 +
 src/main/java/ipos/project/MainApp.java       |    4 +
 .../GenericSensorValueProcessor.java          |   22 +-
 .../Service/GenericSensorTransformer.java     |   33 +-
 .../UseCaseController/PositionMonitoring.java |   10 +-
 .../project/devkit/iposext/IPosExtension.java |    4 +-
 .../project/devkit/utility/OtherUtility.java  |   23 +
 .../orderpicker/OFBizOrderPickerExt.java      |    4 +
 .../ipos/project/iposextension/tooz/Tooz.java |   47 +
 .../project/iposextension/tooz/ToozArgs.java  |   24 +
 .../project/iposextension/tooz/ToozExt.java   |   50 +
 .../iposextension/tooz/ToozExtInputMqtt.java  |   45 +
 .../iposextension/tooz/ToozExtOutputMqtt.java |   40 +
 .../tooz/ToozIPosRawdataMqtt.java             |   48 +
 .../project/iposextension/tooz/ToozTrans.java |   54 +
 testdata_raw_tooz_init.txt                    |    1 +
 59 files changed, 7727 insertions(+), 149 deletions(-)
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBTEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBarcodeEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBeaconEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosNFCEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherBeaconEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherProxEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosProximityEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRFIDEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRawdataEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosUWBEvent.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBTEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBarcodeEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBeaconEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosNFCEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherBeaconEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherProxEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosProximityEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRFIDEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRawdataEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosUWBEventImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/DistantEntity.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/MonitoringTarget.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozFactory.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozPackage.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/DistantEntityImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/MonitoringTargetImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozFactoryImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozPackageImpl.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozAdapterFactory.java
 create mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozSwitch.java
 create mode 100644 src/main/java/ipos/project/iposextension/tooz/Tooz.java
 create mode 100644 src/main/java/ipos/project/iposextension/tooz/ToozArgs.java
 create mode 100644 src/main/java/ipos/project/iposextension/tooz/ToozExt.java
 create mode 100644 src/main/java/ipos/project/iposextension/tooz/ToozExtInputMqtt.java
 create mode 100644 src/main/java/ipos/project/iposextension/tooz/ToozExtOutputMqtt.java
 create mode 100644 src/main/java/ipos/project/iposextension/tooz/ToozIPosRawdataMqtt.java
 create mode 100644 src/main/java/ipos/project/iposextension/tooz/ToozTrans.java
 create mode 100644 testdata_raw_tooz_init.txt

diff --git a/build.gradle b/build.gradle
index e8895f4..6d8286e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -83,7 +83,8 @@ sourceSets {
 		proto {
 			srcDirs "models/interfaces/GenericSensor",
 			        "models/interfaces/SimpleScene",
-					"models/interfaces/OFBizOrderpicker"
+					"models/interfaces/OFBizOrderpicker",
+					"models/interfaces/Tooz"
 			// srcDir "src/main/resources"
 		}
 		java {
diff --git a/emf_datamodel/model/iPos_Datamodel.aird b/emf_datamodel/model/iPos_Datamodel.aird
index 8b8c995..2c5333e 100644
--- a/emf_datamodel/model/iPos_Datamodel.aird
+++ b/emf_datamodel/model/iPos_Datamodel.aird
@@ -13,10 +13,14 @@
         <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
         <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//OFBiz"/>
       </ownedRepresentationDescriptors>
-      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_FmM9IDx3EeyWNq6fFfWVSw" name="IPosDevKit" repPath="#_FmLvADx3EeyWNq6fFfWVSw" changeId="dba22626-4cf8-4799-a08f-56749d1c9a45">
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_FmM9IDx3EeyWNq6fFfWVSw" name="IPosDevKit" repPath="#_FmLvADx3EeyWNq6fFfWVSw" changeId="e0c6c57f-c57d-4940-9ba8-94cba4d59d54">
         <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
         <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//IPosDevKit"/>
       </ownedRepresentationDescriptors>
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_27WZMIsNEeyJ0bON1VCj7g" name="Tooz" repPath="#_27T88IsNEeyJ0bON1VCj7g" changeId="5e4ba94c-59c7-414d-8cd7-014b3bd38dd7">
+        <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+        <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//Tooz"/>
+      </ownedRepresentationDescriptors>
     </ownedViews>
   </viewpoint:DAnalysis>
   <diagram:DSemanticDiagram uid="_Es-xkAQNEey-kNQ7esRa_g">
@@ -3528,7 +3532,289 @@
           <styles xmi:type="notation:ShapeStyle" xmi:id="_TTtGwT8bEeyWNq6fFfWVSw" fontName="Segoe UI" fontHeight="8"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TTtGwj8bEeyWNq6fFfWVSw" x="582" y="168" width="153" height="231"/>
         </children>
+        <children xmi:type="notation:Node" xmi:id="_xTXLgIqVEeyJ0bON1VCj7g" type="2003" element="_xRC3UIqVEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_xUM5AIqVEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_xUNgEIqVEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_41F3kIqVEeyJ0bON1VCj7g" type="3010" element="_40Ys8IqVEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_41F3kYqVEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_41F3koqVEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_6cprQIqVEeyJ0bON1VCj7g" type="3010" element="_6cONcIqVEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_6cprQYqVEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_6cprQoqVEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_8zYSEIqVEeyJ0bON1VCj7g" type="3010" element="_8y-CYIqVEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_8zYSEYqVEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_8zYSEoqVEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_-aeywIqVEeyJ0bON1VCj7g" type="3010" element="_-aCt4IqVEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_-aeywYqVEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_-aeywoqVEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Po3KUIqWEeyJ0bON1VCj7g" type="3010" element="_Pok2cIqWEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_Po3KUYqWEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Po3KUoqWEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_xUNgEYqVEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_xUNgEoqVEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_xTXLgYqVEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xTXLgoqVEeyJ0bON1VCj7g" x="1224" y="162" width="153" height="117"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_KOCgYIqWEeyJ0bON1VCj7g" type="2003" element="_KNvlcIqWEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_KODHcIqWEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_KODHcYqWEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_YtsA0IqWEeyJ0bON1VCj7g" type="3010" element="_YtZs8IqWEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_YtsA0YqWEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_YtsA0oqWEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_KODHcoqWEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_KODHc4qWEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_KOCgYYqWEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KOCgYoqWEeyJ0bON1VCj7g" x="936" y="354" width="120" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="__LdHQIqWEeyJ0bON1VCj7g" type="2003" element="__LN2sIqWEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="__LduUYqWEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="__LduUoqWEeyJ0bON1VCj7g" type="7004">
+            <styles xmi:type="notation:SortingStyle" xmi:id="__LduU4qWEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="__LduVIqWEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="__LdHQYqWEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="__LduUIqWEeyJ0bON1VCj7g" x="780" y="516" width="120" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_J70SgIqXEeyJ0bON1VCj7g" type="2003" element="_J7lB8IqXEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_J70Sg4qXEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_J705kIqXEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_XiN2wIqXEeyJ0bON1VCj7g" type="3010" element="_Xh8xAIqXEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_XiN2wYqXEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_XiN2woqXEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_J705kYqXEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_J705koqXEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_J70SgYqXEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J70SgoqXEeyJ0bON1VCj7g" x="936" y="516" width="120" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_aiph4IqXEeyJ0bON1VCj7g" type="2003" element="_aibfcIqXEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_aiph44qXEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_aiph5IqXEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_gvb0QIqXEeyJ0bON1VCj7g" type="3010" element="_gvKugIqXEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_gvb0QYqXEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_gvb0QoqXEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_aiph5YqXEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_aiph5oqXEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_aiph4YqXEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aiph4oqXEeyJ0bON1VCj7g" x="1524" y="348" width="144" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="__jFHoIqXEeyJ0bON1VCj7g" type="2003" element="__i1QAIqXEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="__jFHo4qXEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="__jFHpIqXEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_YDYNoIqYEeyJ0bON1VCj7g" type="3010" element="_YDIWAIqYEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_YDYNoYqYEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_YDYNooqYEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="__jFHpYqXEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="__jFHpoqXEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="__jFHoYqXEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="__jFHooqXEeyJ0bON1VCj7g" x="1458" y="522" width="120" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_BT_EkIqYEeyJ0bON1VCj7g" type="2003" element="_BTvM8IqYEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_BT_roIqYEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_BT_roYqYEeyJ0bON1VCj7g" type="7004">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_BT_rooqYEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_BT_ro4qYEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_BT_EkYqYEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BT_EkoqYEeyJ0bON1VCj7g" x="1602" y="522" width="141" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_5_rUAIqYEeyJ0bON1VCj7g" type="2003" element="_5_cqgIqYEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_5_rUA4qYEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_5_rUBIqYEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_9C2xIIqYEeyJ0bON1VCj7g" type="3010" element="_9Cm5gIqYEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_9C2xIYqYEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_9C2xIoqYEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_5_rUBYqYEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_5_rUBoqYEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_5_rUAYqYEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5_rUAoqYEeyJ0bON1VCj7g" x="1308" y="522" width="120" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_F9H9cIqZEeyJ0bON1VCj7g" type="2003" element="_F86iEIqZEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_F9IkgIqZEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_F9IkgYqZEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_LBtRoIqZEeyJ0bON1VCj7g" type="3010" element="_LBdaAIqZEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_LBtRoYqZEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_LBtRooqZEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_F9IkgoqZEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_F9Ikg4qZEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_F9H9cYqZEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F9H9coqZEeyJ0bON1VCj7g" x="1776" y="522" width="138" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_ZNRYcIqZEeyJ0bON1VCj7g" type="2003" element="_ZNDWAIqZEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_ZNRYc4qZEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_ZNR_gIqZEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_b9O-oIqZEeyJ0bON1VCj7g" type="3010" element="_b8_HAIqZEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_b9O-oYqZEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_b9O-ooqZEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_ZNR_gYqZEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_ZNR_goqZEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_ZNRYcYqZEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZNRYcoqZEeyJ0bON1VCj7g" x="1074" y="516" width="174" height="100"/>
+        </children>
         <styles xmi:type="notation:DiagramStyle" xmi:id="_FmNkMjx3EeyWNq6fFfWVSw"/>
+        <edges xmi:type="notation:Edge" xmi:id="_E5KQ8IqXEeyJ0bON1VCj7g" type="4001" element="_E4rIwIqXEeyJ0bON1VCj7g" source="__LdHQIqWEeyJ0bON1VCj7g" target="_KOCgYIqWEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_E5x8AIqXEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E5x8AYqXEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_E5yjEIqXEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E5yjEYqXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_E5yjEoqXEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E5yjE4qXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_E5K4AIqXEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_E5K4AYqXEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E5K4AoqXEeyJ0bON1VCj7g" points="[0, 0, 0, 46]$[0, -46, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E50YQIqXEeyJ0bON1VCj7g" id="(0.559322033898305,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E50YQYqXEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_Fc-vsIqXEeyJ0bON1VCj7g" type="4001" element="_FcdLRoqXEeyJ0bON1VCj7g" source="_KOCgYIqWEeyJ0bON1VCj7g" target="_xTXLgIqVEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_Fc-vtIqXEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fc-vtYqXEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_Fc-vtoqXEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fc-vt4qXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_Fc-vuIqXEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fc-vuYqXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_Fc-vsYqXEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_Fc-vsoqXEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Fc-vs4qXEeyJ0bON1VCj7g" points="[0, 0, 20, 59]$[-20, -59, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Fc_WwIqXEeyJ0bON1VCj7g" id="(0.6101694915254238,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Fc_WwYqXEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_QMIaAIqXEeyJ0bON1VCj7g" type="4001" element="_QLpR1oqXEeyJ0bON1VCj7g" source="_J70SgIqXEeyJ0bON1VCj7g" target="_KOCgYIqWEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_QMIaBIqXEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QMIaBYqXEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_QMIaBoqXEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QMIaB4qXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_QMIaCIqXEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QMIaCYqXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_QMIaAYqXEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_QMIaAoqXEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QMIaA4qXEeyJ0bON1VCj7g" points="[0, 0, 43, 132]$[-43, -132, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QMJBEIqXEeyJ0bON1VCj7g" id="(0.5,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QMJBEYqXEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_9dNAQIqXEeyJ0bON1VCj7g" type="4001" element="_9cvGPIqXEeyJ0bON1VCj7g" source="_aiph4IqXEeyJ0bON1VCj7g" target="_xTXLgIqVEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_9dNnUIqXEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dNnUYqXEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_9dNnUoqXEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dNnU4qXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_9dNnVIqXEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9dNnVYqXEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_9dNAQYqXEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_9dNAQoqXEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9dNAQ4qXEeyJ0bON1VCj7g" points="[0, 0, 173, 168]$[-173, -168, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9dNnVoqXEeyJ0bON1VCj7g" id="(0.5492957746478874,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9dNnV4qXEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_cZc2AIqYEeyJ0bON1VCj7g" type="4001" element="_cZJ7FoqYEeyJ0bON1VCj7g" source="__jFHoIqXEeyJ0bON1VCj7g" target="_aiph4IqXEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_cZddEIqYEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cZddEYqYEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_cZddEoqYEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cZddE4qYEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_cZddFIqYEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cZddFYqYEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_cZc2AYqYEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_cZc2AoqYEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cZc2A4qYEeyJ0bON1VCj7g" points="[0, 0, -75, 70]$[75, -70, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cZddFoqYEeyJ0bON1VCj7g" id="(0.5,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cZddF4qYEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_c2QGwIqYEeyJ0bON1VCj7g" type="4001" element="_c1wXgIqYEeyJ0bON1VCj7g" source="_BT_EkIqYEeyJ0bON1VCj7g" target="_aiph4IqXEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_c2QGxIqYEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2QGxYqYEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_c2Qt0IqYEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2Qt0YqYEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_c2Qt0oqYEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c2Qt04qYEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_c2QGwYqYEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_c2QGwoqYEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_c2QGw4qYEeyJ0bON1VCj7g" points="[0, 0, 97, 76]$[-97, -76, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_c2Qt1IqYEeyJ0bON1VCj7g" id="(0.4748201438848921,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_c2Qt1YqYEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_E-UL0IqZEeyJ0bON1VCj7g" type="4001" element="_E9zOfIqZEeyJ0bON1VCj7g" source="_5_rUAIqYEeyJ0bON1VCj7g" target="_aiph4IqXEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_E-UL1IqZEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E-UL1YqZEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_E-UL1oqZEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E-UL14qZEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_E-UL2IqZEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E-UL2YqZEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_E-UL0YqZEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_E-UL0oqZEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E-UL04qZEeyJ0bON1VCj7g" points="[0, 0, -66, 76]$[66, -76, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E-Uy4IqZEeyJ0bON1VCj7g" id="(0.6101694915254238,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E-Uy4YqZEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_MgQTQIqZEeyJ0bON1VCj7g" type="4001" element="_MfznYoqZEeyJ0bON1VCj7g" source="_F9H9cIqZEeyJ0bON1VCj7g" target="_aiph4IqXEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_MgQTRIqZEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MgQTRYqZEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_MgQTRoqZEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MgQTR4qZEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_MgQTSIqZEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MgQTSYqZEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_MgQTQYqZEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_MgQTQoqZEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MgQTQ4qZEeyJ0bON1VCj7g" points="[0, 0, 332, 132]$[-332, -132, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MgQTSoqZEeyJ0bON1VCj7g" id="(0.35294117647058826,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MgQTS4qZEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_dozvoIqZEeyJ0bON1VCj7g" type="4001" element="_dodxd4qZEeyJ0bON1VCj7g" source="_ZNRYcIqZEeyJ0bON1VCj7g" target="_KOCgYIqWEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_dozvpIqZEeyJ0bON1VCj7g" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dozvpYqZEeyJ0bON1VCj7g" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_dozvpoqZEeyJ0bON1VCj7g" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dozvp4qZEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_dozvqIqZEeyJ0bON1VCj7g" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dozvqYqZEeyJ0bON1VCj7g" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_dozvoYqZEeyJ0bON1VCj7g" routing="Tree"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_dozvooqZEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dozvo4qZEeyJ0bON1VCj7g" points="[0, 0, 50, 162]$[-50, -162, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dozvqoqZEeyJ0bON1VCj7g" id="(0.4186046511627907,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dozvq4qZEeyJ0bON1VCj7g" id="(0.5,0.5)"/>
+        </edges>
       </data>
     </ownedAnnotationEntries>
     <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_FmPZYDx3EeyWNq6fFfWVSw" source="DANNOTATION_CUSTOMIZATION_KEY">
@@ -3781,6 +4067,320 @@
         <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
       </ownedElements>
     </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xRC3UIqVEeyJ0bON1VCj7g" name="IPosRawdataEvent" tooltipText="" incomingEdges="_FcdLRoqXEeyJ0bON1VCj7g _9cvGPIqXEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_CsJ79YqZEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_40Ys8IqVEeyJ0bON1VCj7g" name="agentId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/agentId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/agentId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_E-13qYqWEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_6cONcIqVEeyJ0bON1VCj7g" name="sensorId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/sensorId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/sensorId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_FyIVxIqWEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_8y-CYIqVEeyJ0bON1VCj7g" name="agentType : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/agentType"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/agentType"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_GsDnZIqWEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_-aCt4IqVEeyJ0bON1VCj7g" name="sensorType : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/sensorType"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/sensorType"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_CsLKEYqZEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_Pok2cIqWEeyJ0bON1VCj7g" name="timeStamp : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/timeStamp"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/timeStamp"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_SI6FOIqWEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_KNvlcIqWEeyJ0bON1VCj7g" name="IPosBeaconEvent" tooltipText="" outgoingEdges="_FcdLRoqXEeyJ0bON1VCj7g" incomingEdges="_E4rIwIqXEeyJ0bON1VCj7g _QLpR1oqXEeyJ0bON1VCj7g _dodxd4qZEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_9hBlz4qWEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_YtZs8IqWEeyJ0bON1VCj7g" name="distances : EMap" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent/distances"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent/distances"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_9hECBIqWEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="__LN2sIqWEeyJ0bON1VCj7g" name="IPosUWBEvent" tooltipText="" outgoingEdges="_E4rIwIqXEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosUWBEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosUWBEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="__LOdwIqWEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_E4rIwIqXEeyJ0bON1VCj7g" sourceNode="__LN2sIqWEeyJ0bON1VCj7g" targetNode="_KNvlcIqWEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosUWBEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosUWBEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_E4rv0IqXEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_E4rv0YqXEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_E4rv0oqXEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_FcdLRoqXEeyJ0bON1VCj7g" sourceNode="_KNvlcIqWEeyJ0bON1VCj7g" targetNode="_xRC3UIqVEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_FcdyUIqXEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_FcdyUYqXEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_FcdyUoqXEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_J7lB8IqXEeyJ0bON1VCj7g" name="IPosBTEvent" tooltipText="" outgoingEdges="_QLpR1oqXEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_skdFGYqYEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_Xh8xAIqXEeyJ0bON1VCj7g" name="rss : EMap" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent/rss"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent/rss"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_ske6N4qYEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_QLpR1oqXEeyJ0bON1VCj7g" sourceNode="_J7lB8IqXEeyJ0bON1VCj7g" targetNode="_KNvlcIqWEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_skgIU4qYEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_skgIVIqYEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_skgIVYqYEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_aibfcIqXEeyJ0bON1VCj7g" name="IPosProximityEvent" tooltipText="" outgoingEdges="_9cvGPIqXEeyJ0bON1VCj7g" incomingEdges="_cZJ7FoqYEeyJ0bON1VCj7g _c1wXgIqYEeyJ0bON1VCj7g _E9zOfIqZEeyJ0bON1VCj7g _MfznYoqZEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_huQNA4qXEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_gvKugIqXEeyJ0bON1VCj7g" name="tagId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent/tagId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent/tagId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_huQ0EYqXEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_9cvGPIqXEeyJ0bON1VCj7g" sourceNode="_aibfcIqXEeyJ0bON1VCj7g" targetNode="_xRC3UIqVEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_9cvGPYqXEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_9cvGPoqXEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_9cvGP4qXEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="__i1QAIqXEeyJ0bON1VCj7g" name="IPosNFCEvent" tooltipText="" outgoingEdges="_cZJ7FoqYEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_te4tDYqYEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_YDIWAIqYEeyJ0bON1VCj7g" name="tagData : EMap" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent/tagData"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent/tagData"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_te57E4qYEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_BTvM8IqYEeyJ0bON1VCj7g" name="IPosBarcodeEvent" tooltipText="" outgoingEdges="_c1wXgIqYEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBarcodeEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBarcodeEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_BTv0AIqYEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_cZJ7FoqYEeyJ0bON1VCj7g" sourceNode="__i1QAIqXEeyJ0bON1VCj7g" targetNode="_aibfcIqXEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_te6iMoqYEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_te6iM4qYEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_te6iNIqYEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_c1wXgIqYEeyJ0bON1VCj7g" sourceNode="_BTvM8IqYEeyJ0bON1VCj7g" targetNode="_aibfcIqXEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBarcodeEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosBarcodeEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_c1wXgYqYEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_c1wXgoqYEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_c1wXg4qYEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_5_cqgIqYEeyJ0bON1VCj7g" name="IPosRFIDEvent" tooltipText="" outgoingEdges="_E9zOfIqZEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_-gd-pYqYEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_9Cm5gIqYEeyJ0bON1VCj7g" name="location : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent/location"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent/location"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_-gelvYqYEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_E9zOfIqZEeyJ0bON1VCj7g" sourceNode="_5_cqgIqYEeyJ0bON1VCj7g" targetNode="_aibfcIqXEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_E9z1gIqZEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_E9z1gYqZEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_E9z1goqZEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_F86iEIqZEeyJ0bON1VCj7g" name="IPosOtherProxEvent" tooltipText="" outgoingEdges="_MfznYoqZEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_N_AJUoqZEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_LBdaAIqZEeyJ0bON1VCj7g" name="data : EMap" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent/data"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent/data"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_N_B-YoqZEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_MfznYoqZEeyJ0bON1VCj7g" sourceNode="_F86iEIqZEeyJ0bON1VCj7g" targetNode="_aibfcIqXEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_N_ClmoqZEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_N_Clm4qZEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_N_ClnIqZEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ZNDWAIqZEeyJ0bON1VCj7g" name="IPosOtherBeaconEvent" tooltipText="" outgoingEdges="_dodxd4qZEeyJ0bON1VCj7g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_efT564qZEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_b8_HAIqZEeyJ0bON1VCj7g" name="data : EMap" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent/data"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent/data"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_efVvB4qZEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_dodxd4qZEeyJ0bON1VCj7g" sourceNode="_ZNDWAIqZEeyJ0bON1VCj7g" targetNode="_KNvlcIqWEeyJ0bON1VCj7g">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_efW9OIqZEeyJ0bON1VCj7g" targetArrow="InputClosedArrow" routingStyle="tree">
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_efW9OYqZEeyJ0bON1VCj7g" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_efW9OoqZEeyJ0bON1VCj7g" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
     <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
     <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_FmMWEDx3EeyWNq6fFfWVSw"/>
     <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
@@ -3788,4 +4388,138 @@
     <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
     <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//IPosDevKit"/>
   </diagram:DSemanticDiagram>
+  <diagram:DSemanticDiagram uid="_27T88IsNEeyJ0bON1VCj7g">
+    <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_28wHYIsNEeyJ0bON1VCj7g" source="GMF_DIAGRAMS">
+      <data xmi:type="notation:Diagram" xmi:id="_28wHYYsNEeyJ0bON1VCj7g" type="Sirius" element="_27T88IsNEeyJ0bON1VCj7g" measurementUnit="Pixel">
+        <children xmi:type="notation:Node" xmi:id="_AmeasIsOEeyJ0bON1VCj7g" type="2003" element="_Al-rcIsOEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_Ameas4sOEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_AmeatIsOEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_k5HwkIsSEeyJ0bON1VCj7g" type="3010" element="_k4p2gIsSEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_k5HwkYsSEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_k5HwkosSEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_AmeatYsOEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_AmeatosOEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_AmeasYsOEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AmeasosOEeyJ0bON1VCj7g" x="450" y="186" width="141" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_t1Gv8IsZEeyJ0bON1VCj7g" type="2003" element="_tz4n8IsZEeyJ0bON1VCj7g">
+          <children xmi:type="notation:Node" xmi:id="_t1IlIIsZEeyJ0bON1VCj7g" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_t1IlIYsZEeyJ0bON1VCj7g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_wR3tUIsZEeyJ0bON1VCj7g" type="3010" element="_wRQpUIsZEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_wR3tUYsZEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_wR3tUosZEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_5iGikosZEeyJ0bON1VCj7g" type="3010" element="_5hv9QIsZEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_5iGik4sZEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_5iGilIsZEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_RTYmcIsaEeyJ0bON1VCj7g" type="3010" element="_RS-90IsaEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_RTYmcYsaEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_RTYmcosaEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_UHXJ8IsaEeyJ0bON1VCj7g" type="3010" element="_UHBywIsaEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_UHXJ8YsaEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_UHXJ8osaEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_XItbEYsaEeyJ0bON1VCj7g" type="3010" element="_XIXc0IsaEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_XItbEosaEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_XItbE4saEeyJ0bON1VCj7g"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_syMsAIsaEeyJ0bON1VCj7g" type="3010" element="_sx3U0IsaEeyJ0bON1VCj7g">
+              <styles xmi:type="notation:FontStyle" xmi:id="_syMsAYsaEeyJ0bON1VCj7g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_syMsAosaEeyJ0bON1VCj7g"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_t1IlIosZEeyJ0bON1VCj7g"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_t1IlI4sZEeyJ0bON1VCj7g"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_t1HXAIsZEeyJ0bON1VCj7g" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t1HXAYsZEeyJ0bON1VCj7g" x="738" y="204" width="189" height="147"/>
+        </children>
+        <styles xmi:type="notation:DiagramStyle" xmi:id="_28wHYosNEeyJ0bON1VCj7g"/>
+      </data>
+    </ownedAnnotationEntries>
+    <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_28xVgIsNEeyJ0bON1VCj7g" source="DANNOTATION_CUSTOMIZATION_KEY">
+      <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_28xVgYsNEeyJ0bON1VCj7g"/>
+    </ownedAnnotationEntries>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Al-rcIsOEeyJ0bON1VCj7g" name="MonitoringTarget" tooltipText="" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Tooz/MonitoringTarget"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Tooz/MonitoringTarget"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_pQTMMYsSEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_k4p2gIsSEeyJ0bON1VCj7g" name="targetSensorId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/MonitoringTarget/targetSensorId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/MonitoringTarget/targetSensorId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_pQTMNIsSEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tz4n8IsZEeyJ0bON1VCj7g" name="DistantEntity" tooltipText="" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Tooz/DistantEntity"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Tooz/DistantEntity"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_vHE4s4saEeyJ0bON1VCj7g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_wRQpUIsZEeyJ0bON1VCj7g" name="localSensorId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/localSensorId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/localSensorId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_yRHBMYsZEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_5hv9QIsZEeyJ0bON1VCj7g" name="localAgentId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/localAgentId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/localAgentId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_71-CqIsZEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_RS-90IsaEeyJ0bON1VCj7g" name="distantEntityId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/distantEntityId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/distantEntityId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_Tsyt1YsaEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_UHBywIsaEeyJ0bON1VCj7g" name="distance : Double = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/distance"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/distance"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_VuVu2IsaEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_XIXc0IsaEeyJ0bON1VCj7g" name="proximityIndex : Int" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/proximityIndex"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/proximityIndex"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_f6fZyYsaEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_sx3U0IsaEeyJ0bON1VCj7g" name="entityData : EMap" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/entityData"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Tooz/DistantEntity/entityData"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_vHE4vIsaEeyJ0bON1VCj7g" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+    <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_27VLEIsNEeyJ0bON1VCj7g"/>
+    <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+    <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+    <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
+    <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//Tooz"/>
+  </diagram:DSemanticDiagram>
 </xmi:XMI>
diff --git a/emf_datamodel/model/iPos_Datamodel.ecore b/emf_datamodel/model/iPos_Datamodel.ecore
index 9b325ff..3d45ccb 100644
--- a/emf_datamodel/model/iPos_Datamodel.ecore
+++ b/emf_datamodel/model/iPos_Datamodel.ecore
@@ -307,5 +307,78 @@
       <eStructuralFeatures xsi:type="ecore:EReference" name="zoneDescriptors" upperBound="-1"
           eType="#//ZoneDescriptor"/>
     </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosRawdataEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="agentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="agentType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="timeStamp" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosBeaconEvent" eSuperTypes="#//IPosDevKit/IPosRawdataEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="distances" transient="true">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DoubleObject"/>
+        </eGenericType>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosUWBEvent" eSuperTypes="#//IPosDevKit/IPosBeaconEvent"/>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosBTEvent" eSuperTypes="#//IPosDevKit/IPosBeaconEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="rss" transient="true">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DoubleObject"/>
+        </eGenericType>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosProximityEvent" eSuperTypes="#//IPosDevKit/IPosRawdataEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="tagId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosNFCEvent" eSuperTypes="#//IPosDevKit/IPosProximityEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="tagData" transient="true">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosBarcodeEvent" eSuperTypes="#//IPosDevKit/IPosProximityEvent"/>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosRFIDEvent" eSuperTypes="#//IPosDevKit/IPosProximityEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosOtherProxEvent" eSuperTypes="#//IPosDevKit/IPosProximityEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" transient="true">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPosOtherBeaconEvent" eSuperTypes="#//IPosDevKit/IPosBeaconEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" transient="true">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eStructuralFeatures>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Tooz" nsURI="tooz" nsPrefix="tooz">
+    <eClassifiers xsi:type="ecore:EClass" name="MonitoringTarget">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetSensorId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DistantEntity">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="localSensorId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="localAgentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="distantEntityId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="distance" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Double"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="proximityIndex" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="entityData" transient="true">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+        </eGenericType>
+      </eStructuralFeatures>
+    </eClassifiers>
   </eSubpackages>
 </ecore:EPackage>
diff --git a/emf_datamodel/model/iPos_Datamodel.genmodel b/emf_datamodel/model/iPos_Datamodel.genmodel
index a1f0d8b..9cc8af5 100644
--- a/emf_datamodel/model/iPos_Datamodel.genmodel
+++ b/emf_datamodel/model/iPos_Datamodel.genmodel
@@ -240,6 +240,49 @@
         <genFeatures notify="false" createChild="false" propertySortChoices="true"
             ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/zoneDescriptors"/>
       </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/agentId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/sensorId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/agentType"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/sensorType"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosRawdataEvent/timeStamp"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosBeaconEvent/distances"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosUWBEvent"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosBTEvent/rss"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosProximityEvent/tagId"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosNFCEvent/tagData"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosBarcodeEvent"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosRFIDEvent/location"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosOtherProxEvent/data"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IPosOtherBeaconEvent/data"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Tooz" disposableProviderFactory="true" ecorePackage="iPos_Datamodel.ecore#//Tooz">
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//Tooz/MonitoringTarget">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Tooz/MonitoringTarget/targetSensorId"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//Tooz/DistantEntity">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Tooz/DistantEntity/localSensorId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Tooz/DistantEntity/localAgentId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Tooz/DistantEntity/distantEntityId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Tooz/DistantEntity/distance"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Tooz/DistantEntity/proximityIndex"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Tooz/DistantEntity/entityData"/>
+      </genClasses>
     </nestedGenPackages>
   </genPackages>
 </genmodel:GenModel>
diff --git a/src/main/java/ipos/project/CustomLoggingFilter.java b/src/main/java/ipos/project/CustomLoggingFilter.java
index d5e865d..0e068d3 100644
--- a/src/main/java/ipos/project/CustomLoggingFilter.java
+++ b/src/main/java/ipos/project/CustomLoggingFilter.java
@@ -26,6 +26,8 @@ public class CustomLoggingFilter extends Filter<ILoggingEvent> {
             return FilterReply.DENY;
         } else if (event.getMessage().contains("OP:")){
             return FilterReply.ACCEPT;
+        } else if (event.getMessage().contains("TOOZ:")){
+            return FilterReply.ACCEPT;
         }else if (event.getMessage().contains("SHELL:")){
             return FilterReply.ACCEPT;
         } else {
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
index e5d1fca..45b52f7 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
+++ b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
@@ -9,7 +9,7 @@ import ipos.project.devkit.utility.ExternalPubServiceImpl;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
 import ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl;
 import ipos.project.UseCaseController.Administration;
-import ipos.project.UseCaseController.PositionMonitoring;
+import ipos.project.devkit.utility.OtherUtility;
 import ipos.project.devkit.utility.ProtoJsonMap;
 import org.apache.logging.log4j.LogManager;
 import org.eclipse.emf.common.util.EList;
@@ -93,7 +93,7 @@ public class SimpleSceneIntegration {
         SimpleScene.IposQueryResponse queryResponse_proto = SimpleSceneTransformer.queryResp_Internal2SScene(dsQueryResponse, trackingTaskId);
         MqttMessage mqttMessage = mqttService.createMqttMsg(queryResponse_proto, 0, false);
         LOG.info("INDFRO: Publishing DataStorageQueryResponse on topic " + trackingTaskId + ": " + ProtoJsonMap.toJson(queryResponse_proto) + "; serializationType: " + serializationType);
-        publishRespectingSerializationType(trackingTaskId, serializationType, ProtoJsonMap.toJson(queryResponse_proto), mqttMessage);
+        OtherUtility.publishRespectingSerializationType(trackingTaskId, serializationType, queryResponse_proto);
     }
 
     public static void receiveMessage(PositionEvent positionEvent, String monitoringTaskId, String notificationType, String serializationType) {
@@ -108,7 +108,7 @@ public class SimpleSceneIntegration {
             logging_sdf(monitoringTaskId, serializationType, posEvent_proto);
             logging_indfro(positionEvent, monitoringTaskId, serializationType);
             logging_op(positionEvent, monitoringTaskId, serializationType);
-            publishRespectingSerializationType(monitoringTaskId, serializationType, ProtoJsonMap.toJson(posEvent_proto), mqttMessage);
+            OtherUtility.publishRespectingSerializationType(monitoringTaskId, serializationType, posEvent_proto);
 
         }else{
             LOG.warn("Warning: SimpleScene: Received empty PositionEvent");
@@ -146,21 +146,6 @@ public class SimpleSceneIntegration {
         return logString;
     }
 
-    private static void publishRespectingSerializationType(String topic, String serializationType, String jsonString, MqttMessage mqttMessage) {
-        // publishes protobuf over MQTT
-        if (PositionMonitoring.PROTOBUF_SERIALIZATION_TYPE.equals(serializationType)){
-            mqttService.publish(topic, mqttMessage);
-            LOG.info("publishing protobuf mqttMessage. JSON-representation:" + jsonString + " on topic: " + topic);
-        }
-
-        // publishes JSON over MQTT
-        if (PositionMonitoring.JSON_SERIALIZATION_TYPE.equals(serializationType)){
-            String fakeTopic = "ipos/client/position";
-            mqttService.publish(topic, jsonString, 0, false);
-            LOG.info("publishing JSON mqttMessage:" + jsonString + " on topic: " + topic);
-        }
-    }
-
     private static PositionEvent scale_position_frontend_app(PositionEvent internalPositionEvent, int factor) {
         Point3D point = (Point3D) internalPositionEvent.getPlacing().getPosition().getPoint();
         point.setX(factor*point.getX());
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBTEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBTEvent.java
new file mode 100644
index 0000000..945c105
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBTEvent.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos BT Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent#getRss <em>Rss</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosBTEvent()
+ * @model
+ * @generated
+ */
+public interface IPosBTEvent extends IPosBeaconEvent {
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosBTEvent_Rss()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Double> getRss();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent#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, Double> value);
+
+} // IPosBTEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBarcodeEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBarcodeEvent.java
new file mode 100644
index 0000000..f05cc13
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBarcodeEvent.java
@@ -0,0 +1,16 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos Barcode Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosBarcodeEvent()
+ * @model
+ * @generated
+ */
+public interface IPosBarcodeEvent extends IPosProximityEvent {
+} // IPosBarcodeEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBeaconEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBeaconEvent.java
new file mode 100644
index 0000000..74ede26
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosBeaconEvent.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos Beacon Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent#getDistances <em>Distances</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosBeaconEvent()
+ * @model
+ * @generated
+ */
+public interface IPosBeaconEvent extends IPosRawdataEvent {
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosBeaconEvent_Distances()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Double> getDistances();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent#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, Double> value);
+
+} // IPosBeaconEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitFactory.java
index 1f7c270..59acd52 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitFactory.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitFactory.java
@@ -103,6 +103,96 @@ public interface IPosDevKitFactory extends EFactory {
 	 */
 	IposPositionEvent createIposPositionEvent();
 
+	/**
+	 * Returns a new object of class '<em>IPos Rawdata Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos Rawdata Event</em>'.
+	 * @generated
+	 */
+	IPosRawdataEvent createIPosRawdataEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos Beacon Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos Beacon Event</em>'.
+	 * @generated
+	 */
+	IPosBeaconEvent createIPosBeaconEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos UWB Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos UWB Event</em>'.
+	 * @generated
+	 */
+	IPosUWBEvent createIPosUWBEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos BT Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos BT Event</em>'.
+	 * @generated
+	 */
+	IPosBTEvent createIPosBTEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos Proximity Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos Proximity Event</em>'.
+	 * @generated
+	 */
+	IPosProximityEvent createIPosProximityEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos NFC Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos NFC Event</em>'.
+	 * @generated
+	 */
+	IPosNFCEvent createIPosNFCEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos Barcode Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos Barcode Event</em>'.
+	 * @generated
+	 */
+	IPosBarcodeEvent createIPosBarcodeEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos RFID Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos RFID Event</em>'.
+	 * @generated
+	 */
+	IPosRFIDEvent createIPosRFIDEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos Other Prox Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos Other Prox Event</em>'.
+	 * @generated
+	 */
+	IPosOtherProxEvent createIPosOtherProxEvent();
+
+	/**
+	 * Returns a new object of class '<em>IPos Other Beacon Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IPos Other Beacon Event</em>'.
+	 * @generated
+	 */
+	IPosOtherBeaconEvent createIPosOtherBeaconEvent();
+
 	/**
 	 * Returns the package supported by this factory.
 	 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitPackage.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitPackage.java
index 5484baa..39d9ce3 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitPackage.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitPackage.java
@@ -498,6 +498,862 @@ public interface IPosDevKitPackage extends EPackage {
 	 */
 	int IPOS_POSITION_EVENT_OPERATION_COUNT = 0;
 
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl <em>IPos Rawdata Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosRawdataEvent()
+	 * @generated
+	 */
+	int IPOS_RAWDATA_EVENT = 9;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RAWDATA_EVENT__AGENT_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RAWDATA_EVENT__SENSOR_ID = 1;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RAWDATA_EVENT__AGENT_TYPE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RAWDATA_EVENT__SENSOR_TYPE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RAWDATA_EVENT__TIME_STAMP = 4;
+
+	/**
+	 * The number of structural features of the '<em>IPos Rawdata Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RAWDATA_EVENT_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>IPos Rawdata Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RAWDATA_EVENT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBeaconEventImpl <em>IPos Beacon Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBeaconEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosBeaconEvent()
+	 * @generated
+	 */
+	int IPOS_BEACON_EVENT = 10;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT__AGENT_ID = IPOS_RAWDATA_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT__SENSOR_ID = IPOS_RAWDATA_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT__AGENT_TYPE = IPOS_RAWDATA_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT__SENSOR_TYPE = IPOS_RAWDATA_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT__TIME_STAMP = IPOS_RAWDATA_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT__DISTANCES = IPOS_RAWDATA_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IPos Beacon Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT_FEATURE_COUNT = IPOS_RAWDATA_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>IPos Beacon Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BEACON_EVENT_OPERATION_COUNT = IPOS_RAWDATA_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosUWBEventImpl <em>IPos UWB Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosUWBEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosUWBEvent()
+	 * @generated
+	 */
+	int IPOS_UWB_EVENT = 11;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT__AGENT_ID = IPOS_BEACON_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT__SENSOR_ID = IPOS_BEACON_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT__AGENT_TYPE = IPOS_BEACON_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT__SENSOR_TYPE = IPOS_BEACON_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT__TIME_STAMP = IPOS_BEACON_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT__DISTANCES = IPOS_BEACON_EVENT__DISTANCES;
+
+	/**
+	 * The number of structural features of the '<em>IPos UWB Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT_FEATURE_COUNT = IPOS_BEACON_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>IPos UWB Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_UWB_EVENT_OPERATION_COUNT = IPOS_BEACON_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBTEventImpl <em>IPos BT Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBTEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosBTEvent()
+	 * @generated
+	 */
+	int IPOS_BT_EVENT = 12;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT__AGENT_ID = IPOS_BEACON_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT__SENSOR_ID = IPOS_BEACON_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT__AGENT_TYPE = IPOS_BEACON_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT__SENSOR_TYPE = IPOS_BEACON_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT__TIME_STAMP = IPOS_BEACON_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT__DISTANCES = IPOS_BEACON_EVENT__DISTANCES;
+
+	/**
+	 * The feature id for the '<em><b>Rss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT__RSS = IPOS_BEACON_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IPos BT Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT_FEATURE_COUNT = IPOS_BEACON_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>IPos BT Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BT_EVENT_OPERATION_COUNT = IPOS_BEACON_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosProximityEventImpl <em>IPos Proximity Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosProximityEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosProximityEvent()
+	 * @generated
+	 */
+	int IPOS_PROXIMITY_EVENT = 13;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_PROXIMITY_EVENT__AGENT_ID = IPOS_RAWDATA_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_PROXIMITY_EVENT__SENSOR_ID = IPOS_RAWDATA_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_PROXIMITY_EVENT__AGENT_TYPE = IPOS_RAWDATA_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_PROXIMITY_EVENT__SENSOR_TYPE = IPOS_RAWDATA_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_PROXIMITY_EVENT__TIME_STAMP = IPOS_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 IPOS_PROXIMITY_EVENT__TAG_ID = IPOS_RAWDATA_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IPos Proximity Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_PROXIMITY_EVENT_FEATURE_COUNT = IPOS_RAWDATA_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>IPos Proximity Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_PROXIMITY_EVENT_OPERATION_COUNT = IPOS_RAWDATA_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosNFCEventImpl <em>IPos NFC Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosNFCEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosNFCEvent()
+	 * @generated
+	 */
+	int IPOS_NFC_EVENT = 14;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT__AGENT_ID = IPOS_PROXIMITY_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT__SENSOR_ID = IPOS_PROXIMITY_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT__AGENT_TYPE = IPOS_PROXIMITY_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT__SENSOR_TYPE = IPOS_PROXIMITY_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT__TIME_STAMP = IPOS_PROXIMITY_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT__TAG_ID = IPOS_PROXIMITY_EVENT__TAG_ID;
+
+	/**
+	 * The feature id for the '<em><b>Tag Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT__TAG_DATA = IPOS_PROXIMITY_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IPos NFC Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT_FEATURE_COUNT = IPOS_PROXIMITY_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>IPos NFC Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_NFC_EVENT_OPERATION_COUNT = IPOS_PROXIMITY_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBarcodeEventImpl <em>IPos Barcode Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBarcodeEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosBarcodeEvent()
+	 * @generated
+	 */
+	int IPOS_BARCODE_EVENT = 15;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT__AGENT_ID = IPOS_PROXIMITY_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT__SENSOR_ID = IPOS_PROXIMITY_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT__AGENT_TYPE = IPOS_PROXIMITY_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT__SENSOR_TYPE = IPOS_PROXIMITY_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT__TIME_STAMP = IPOS_PROXIMITY_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT__TAG_ID = IPOS_PROXIMITY_EVENT__TAG_ID;
+
+	/**
+	 * The number of structural features of the '<em>IPos Barcode Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT_FEATURE_COUNT = IPOS_PROXIMITY_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>IPos Barcode Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_BARCODE_EVENT_OPERATION_COUNT = IPOS_PROXIMITY_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRFIDEventImpl <em>IPos RFID Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRFIDEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosRFIDEvent()
+	 * @generated
+	 */
+	int IPOS_RFID_EVENT = 16;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT__AGENT_ID = IPOS_PROXIMITY_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT__SENSOR_ID = IPOS_PROXIMITY_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT__AGENT_TYPE = IPOS_PROXIMITY_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT__SENSOR_TYPE = IPOS_PROXIMITY_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT__TIME_STAMP = IPOS_PROXIMITY_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT__TAG_ID = IPOS_PROXIMITY_EVENT__TAG_ID;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT__LOCATION = IPOS_PROXIMITY_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IPos RFID Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT_FEATURE_COUNT = IPOS_PROXIMITY_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>IPos RFID Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_RFID_EVENT_OPERATION_COUNT = IPOS_PROXIMITY_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherProxEventImpl <em>IPos Other Prox Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherProxEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosOtherProxEvent()
+	 * @generated
+	 */
+	int IPOS_OTHER_PROX_EVENT = 17;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT__AGENT_ID = IPOS_PROXIMITY_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT__SENSOR_ID = IPOS_PROXIMITY_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT__AGENT_TYPE = IPOS_PROXIMITY_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT__SENSOR_TYPE = IPOS_PROXIMITY_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT__TIME_STAMP = IPOS_PROXIMITY_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Tag Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT__TAG_ID = IPOS_PROXIMITY_EVENT__TAG_ID;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT__DATA = IPOS_PROXIMITY_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IPos Other Prox Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT_FEATURE_COUNT = IPOS_PROXIMITY_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>IPos Other Prox Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_PROX_EVENT_OPERATION_COUNT = IPOS_PROXIMITY_EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherBeaconEventImpl <em>IPos Other Beacon Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherBeaconEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosOtherBeaconEvent()
+	 * @generated
+	 */
+	int IPOS_OTHER_BEACON_EVENT = 18;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT__AGENT_ID = IPOS_BEACON_EVENT__AGENT_ID;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT__SENSOR_ID = IPOS_BEACON_EVENT__SENSOR_ID;
+
+	/**
+	 * The feature id for the '<em><b>Agent Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT__AGENT_TYPE = IPOS_BEACON_EVENT__AGENT_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT__SENSOR_TYPE = IPOS_BEACON_EVENT__SENSOR_TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT__TIME_STAMP = IPOS_BEACON_EVENT__TIME_STAMP;
+
+	/**
+	 * The feature id for the '<em><b>Distances</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT__DISTANCES = IPOS_BEACON_EVENT__DISTANCES;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT__DATA = IPOS_BEACON_EVENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IPos Other Beacon Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT_FEATURE_COUNT = IPOS_BEACON_EVENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>IPos Other Beacon Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_OTHER_BEACON_EVENT_OPERATION_COUNT = IPOS_BEACON_EVENT_OPERATION_COUNT + 0;
+
 	/**
 	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.TrackingRequest <em>Tracking Request</em>}'.
 	 * <!-- begin-user-doc -->
@@ -571,253 +1427,485 @@ public interface IPosDevKitPackage extends EPackage {
 	 * @see #getMonitoringRequest()
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_Id();
+	EAttribute getMonitoringRequest_Id();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.MonitoringRequest#getFusionStrategy()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_FusionStrategy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.MonitoringRequest#isExitNotification()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_ExitNotification();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.MonitoringRequest#getProperties()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Properties();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.MonitoringRequest#getMonitoringTaskId()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_MonitoringTaskId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.MonitoringRequest#getRequestorProtocol()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_RequestorProtocol();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType <em>Serialization Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Serialization Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_SerializationType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRefSystemId <em>Ref System Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Ref System Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRefSystemId()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_RefSystemId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.WorldModelUpdateRequest
+	 * @generated
+	 */
+	EClass getWorldModelUpdateRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.DataStorageRequest
+	 * @generated
+	 */
+	EClass getDataStorageRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.WorldModelQueryRequest
+	 * @generated
+	 */
+	EClass getWorldModelQueryRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.DataStorageQueryRequest
+	 * @generated
+	 */
+	EClass getDataStorageQueryRequest();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Tracking Task Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId()
+	 * @see #getDataStorageQueryRequest()
+	 * @generated
+	 */
+	EAttribute getDataStorageQueryRequest_TrackingTaskId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.AgentRegistrationRequest
+	 * @generated
+	 */
+	EClass getAgentRegistrationRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.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.IPosDevKit.SensorConfigurationRequest
+	 * @generated
+	 */
+	EClass getSensorConfigurationRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent <em>Ipos Position Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Ipos Position Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent
+	 * @generated
+	 */
+	EClass getIposPositionEvent();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId <em>Agent Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Agent Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_AgentId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IposPositionEvent#getSensorId()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_SensorId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IposPositionEvent#getType()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IposPositionEvent#getSensorType()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_SensorType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IposPositionEvent#getLastPosUpdate()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_LastPosUpdate();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IposPositionEvent#getPosition()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EReference getIposPositionEvent_Position();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IposPositionEvent#getOrientation()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EReference getIposPositionEvent_Orientation();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}'.
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getZoneDescriptors <em>Zone Descriptors</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Fusion Strategy</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFusionStrategy()
-	 * @see #getMonitoringRequest()
+	 * @return the meta object for the reference list '<em>Zone Descriptors</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getZoneDescriptors()
+	 * @see #getIposPositionEvent()
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_FusionStrategy();
+	EReference getIposPositionEvent_ZoneDescriptors();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#isExitNotification <em>Exit Notification</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent <em>IPos Rawdata Event</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Exit Notification</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#isExitNotification()
-	 * @see #getMonitoringRequest()
+	 * @return the meta object for class '<em>IPos Rawdata Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_ExitNotification();
+	EClass getIPosRawdataEvent();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getProperties <em>Properties</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getAgentId <em>Agent Id</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Properties</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getProperties()
-	 * @see #getMonitoringRequest()
+	 * @return the meta object for the attribute '<em>Agent Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getAgentId()
+	 * @see #getIPosRawdataEvent()
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_Properties();
+	EAttribute getIPosRawdataEvent_AgentId();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getSensorId <em>Sensor 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.IPosDevKit.MonitoringRequest#getMonitoringTaskId()
-	 * @see #getMonitoringRequest()
+	 * @return the meta object for the attribute '<em>Sensor Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getSensorId()
+	 * @see #getIPosRawdataEvent()
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_MonitoringTaskId();
+	EAttribute getIPosRawdataEvent_SensorId();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getAgentType <em>Agent Type</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Requestor Protocol</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRequestorProtocol()
-	 * @see #getMonitoringRequest()
+	 * @return the meta object for the attribute '<em>Agent Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getAgentType()
+	 * @see #getIPosRawdataEvent()
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_RequestorProtocol();
+	EAttribute getIPosRawdataEvent_AgentType();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType <em>Serialization Type</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getSensorType <em>Sensor Type</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Serialization Type</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType()
-	 * @see #getMonitoringRequest()
+	 * @return the meta object for the attribute '<em>Sensor Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getSensorType()
+	 * @see #getIPosRawdataEvent()
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_SerializationType();
+	EAttribute getIPosRawdataEvent_SensorType();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRefSystemId <em>Ref System Id</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getTimeStamp <em>Time Stamp</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Ref System Id</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRefSystemId()
-	 * @see #getMonitoringRequest()
+	 * @return the meta object for the attribute '<em>Time Stamp</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getTimeStamp()
+	 * @see #getIPosRawdataEvent()
 	 * @generated
 	 */
-	EAttribute getMonitoringRequest_RefSystemId();
+	EAttribute getIPosRawdataEvent_TimeStamp();
 
 	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelUpdateRequest <em>World Model Update Request</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent <em>IPos Beacon Event</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.IPosDevKit.WorldModelUpdateRequest
+	 * @return the meta object for class '<em>IPos Beacon Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent
 	 * @generated
 	 */
-	EClass getWorldModelUpdateRequest();
+	EClass getIPosBeaconEvent();
 
 	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest <em>Data Storage Request</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent#getDistances <em>Distances</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Data Storage Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest
+	 * @return the meta object for the attribute '<em>Distances</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent#getDistances()
+	 * @see #getIPosBeaconEvent()
 	 * @generated
 	 */
-	EClass getDataStorageRequest();
+	EAttribute getIPosBeaconEvent_Distances();
 
 	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelQueryRequest <em>World Model Query Request</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent <em>IPos UWB Event</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.IPosDevKit.WorldModelQueryRequest
+	 * @return the meta object for class '<em>IPos UWB Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent
 	 * @generated
 	 */
-	EClass getWorldModelQueryRequest();
+	EClass getIPosUWBEvent();
 
 	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest <em>Data Storage Query Request</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent <em>IPos BT Event</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.IPosDevKit.DataStorageQueryRequest
+	 * @return the meta object for class '<em>IPos BT Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent
 	 * @generated
 	 */
-	EClass getDataStorageQueryRequest();
+	EClass getIPosBTEvent();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent#getRss <em>Rss</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Tracking Task Id</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId()
-	 * @see #getDataStorageQueryRequest()
+	 * @return the meta object for the attribute '<em>Rss</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent#getRss()
+	 * @see #getIPosBTEvent()
 	 * @generated
 	 */
-	EAttribute getDataStorageQueryRequest_TrackingTaskId();
+	EAttribute getIPosBTEvent_Rss();
 
 	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest <em>Agent Registration Request</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent <em>IPos Proximity Event</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Agent Registration Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest
+	 * @return the meta object for class '<em>IPos Proximity Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent
 	 * @generated
 	 */
-	EClass getAgentRegistrationRequest();
+	EClass getIPosProximityEvent();
 
 	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest <em>Sensor Configuration Request</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent#getTagId <em>Tag Id</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Sensor Configuration Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest
+	 * @return the meta object for the attribute '<em>Tag Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent#getTagId()
+	 * @see #getIPosProximityEvent()
 	 * @generated
 	 */
-	EClass getSensorConfigurationRequest();
+	EAttribute getIPosProximityEvent_TagId();
 
 	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent <em>Ipos Position Event</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent <em>IPos NFC Event</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Ipos Position Event</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent
+	 * @return the meta object for class '<em>IPos NFC Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent
 	 * @generated
 	 */
-	EClass getIposPositionEvent();
+	EClass getIPosNFCEvent();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId <em>Agent Id</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent#getTagData <em>Tag Data</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Agent Id</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for the attribute '<em>Tag Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent#getTagData()
+	 * @see #getIPosNFCEvent()
 	 * @generated
 	 */
-	EAttribute getIposPositionEvent_AgentId();
+	EAttribute getIPosNFCEvent_TagData();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorId <em>Sensor Id</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBarcodeEvent <em>IPos Barcode Event</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Sensor Id</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorId()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for class '<em>IPos Barcode Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBarcodeEvent
 	 * @generated
 	 */
-	EAttribute getIposPositionEvent_SensorId();
+	EClass getIPosBarcodeEvent();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getType <em>Type</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent <em>IPos RFID Event</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getType()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for class '<em>IPos RFID Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent
 	 * @generated
 	 */
-	EAttribute getIposPositionEvent_Type();
+	EClass getIPosRFIDEvent();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorType <em>Sensor Type</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent#getLocation <em>Location</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Sensor Type</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorType()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for the attribute '<em>Location</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent#getLocation()
+	 * @see #getIPosRFIDEvent()
 	 * @generated
 	 */
-	EAttribute getIposPositionEvent_SensorType();
+	EAttribute getIPosRFIDEvent_Location();
 
 	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getLastPosUpdate <em>Last Pos Update</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent <em>IPos Other Prox Event</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.IPosDevKit.IposPositionEvent#getLastPosUpdate()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for class '<em>IPos Other Prox Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent
 	 * @generated
 	 */
-	EAttribute getIposPositionEvent_LastPosUpdate();
+	EClass getIPosOtherProxEvent();
 
 	/**
-	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getPosition <em>Position</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent#getData <em>Data</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Position</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getPosition()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for the attribute '<em>Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent#getData()
+	 * @see #getIPosOtherProxEvent()
 	 * @generated
 	 */
-	EReference getIposPositionEvent_Position();
+	EAttribute getIPosOtherProxEvent_Data();
 
 	/**
-	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getOrientation <em>Orientation</em>}'.
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent <em>IPos Other Beacon Event</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Orientation</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getOrientation()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for class '<em>IPos Other Beacon Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent
 	 * @generated
 	 */
-	EReference getIposPositionEvent_Orientation();
+	EClass getIPosOtherBeaconEvent();
 
 	/**
-	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getZoneDescriptors <em>Zone Descriptors</em>}'.
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent#getData <em>Data</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference list '<em>Zone Descriptors</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getZoneDescriptors()
-	 * @see #getIposPositionEvent()
+	 * @return the meta object for the attribute '<em>Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent#getData()
+	 * @see #getIPosOtherBeaconEvent()
 	 * @generated
 	 */
-	EReference getIposPositionEvent_ZoneDescriptors();
+	EAttribute getIPosOtherBeaconEvent_Data();
 
 	/**
 	 * Returns the factory that creates the instances of the model.
@@ -1100,6 +2188,202 @@ public interface IPosDevKitPackage extends EPackage {
 		 */
 		EReference IPOS_POSITION_EVENT__ZONE_DESCRIPTORS = eINSTANCE.getIposPositionEvent_ZoneDescriptors();
 
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl <em>IPos Rawdata Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosRawdataEvent()
+		 * @generated
+		 */
+		EClass IPOS_RAWDATA_EVENT = eINSTANCE.getIPosRawdataEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_RAWDATA_EVENT__AGENT_ID = eINSTANCE.getIPosRawdataEvent_AgentId();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_RAWDATA_EVENT__SENSOR_ID = eINSTANCE.getIPosRawdataEvent_SensorId();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_RAWDATA_EVENT__AGENT_TYPE = eINSTANCE.getIPosRawdataEvent_AgentType();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_RAWDATA_EVENT__SENSOR_TYPE = eINSTANCE.getIPosRawdataEvent_SensorType();
+
+		/**
+		 * The meta object literal for the '<em><b>Time Stamp</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_RAWDATA_EVENT__TIME_STAMP = eINSTANCE.getIPosRawdataEvent_TimeStamp();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBeaconEventImpl <em>IPos Beacon Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBeaconEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosBeaconEvent()
+		 * @generated
+		 */
+		EClass IPOS_BEACON_EVENT = eINSTANCE.getIPosBeaconEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Distances</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_BEACON_EVENT__DISTANCES = eINSTANCE.getIPosBeaconEvent_Distances();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosUWBEventImpl <em>IPos UWB Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosUWBEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosUWBEvent()
+		 * @generated
+		 */
+		EClass IPOS_UWB_EVENT = eINSTANCE.getIPosUWBEvent();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBTEventImpl <em>IPos BT Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBTEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosBTEvent()
+		 * @generated
+		 */
+		EClass IPOS_BT_EVENT = eINSTANCE.getIPosBTEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Rss</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_BT_EVENT__RSS = eINSTANCE.getIPosBTEvent_Rss();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosProximityEventImpl <em>IPos Proximity Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosProximityEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosProximityEvent()
+		 * @generated
+		 */
+		EClass IPOS_PROXIMITY_EVENT = eINSTANCE.getIPosProximityEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Tag Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_PROXIMITY_EVENT__TAG_ID = eINSTANCE.getIPosProximityEvent_TagId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosNFCEventImpl <em>IPos NFC Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosNFCEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosNFCEvent()
+		 * @generated
+		 */
+		EClass IPOS_NFC_EVENT = eINSTANCE.getIPosNFCEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Tag Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_NFC_EVENT__TAG_DATA = eINSTANCE.getIPosNFCEvent_TagData();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBarcodeEventImpl <em>IPos Barcode Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBarcodeEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosBarcodeEvent()
+		 * @generated
+		 */
+		EClass IPOS_BARCODE_EVENT = eINSTANCE.getIPosBarcodeEvent();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRFIDEventImpl <em>IPos RFID Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRFIDEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosRFIDEvent()
+		 * @generated
+		 */
+		EClass IPOS_RFID_EVENT = eINSTANCE.getIPosRFIDEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Location</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_RFID_EVENT__LOCATION = eINSTANCE.getIPosRFIDEvent_Location();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherProxEventImpl <em>IPos Other Prox Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherProxEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosOtherProxEvent()
+		 * @generated
+		 */
+		EClass IPOS_OTHER_PROX_EVENT = eINSTANCE.getIPosOtherProxEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_OTHER_PROX_EVENT__DATA = eINSTANCE.getIPosOtherProxEvent_Data();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherBeaconEventImpl <em>IPos Other Beacon Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherBeaconEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIPosOtherBeaconEvent()
+		 * @generated
+		 */
+		EClass IPOS_OTHER_BEACON_EVENT = eINSTANCE.getIPosOtherBeaconEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_OTHER_BEACON_EVENT__DATA = eINSTANCE.getIPosOtherBeaconEvent_Data();
+
 	}
 
 } //IPosDevKitPackage
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosNFCEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosNFCEvent.java
new file mode 100644
index 0000000..1f070ad
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosNFCEvent.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos NFC Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent#getTagData <em>Tag Data</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosNFCEvent()
+ * @model
+ * @generated
+ */
+public interface IPosNFCEvent extends IPosProximityEvent {
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosNFCEvent_TagData()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Object> getTagData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent#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);
+
+} // IPosNFCEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherBeaconEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherBeaconEvent.java
new file mode 100644
index 0000000..fb7ac1c
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherBeaconEvent.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos Other Beacon Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosOtherBeaconEvent()
+ * @model
+ * @generated
+ */
+public interface IPosOtherBeaconEvent extends IPosBeaconEvent {
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosOtherBeaconEvent_Data()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Object> getData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent#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);
+
+} // IPosOtherBeaconEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherProxEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherProxEvent.java
new file mode 100644
index 0000000..056e6dc
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosOtherProxEvent.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import java.util.Map;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos Other Prox Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosOtherProxEvent()
+ * @model
+ * @generated
+ */
+public interface IPosOtherProxEvent extends IPosProximityEvent {
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosOtherProxEvent_Data()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, Object> getData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent#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);
+
+} // IPosOtherProxEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosProximityEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosProximityEvent.java
new file mode 100644
index 0000000..4852d0e
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosProximityEvent.java
@@ -0,0 +1,44 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos Proximity Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent#getTagId <em>Tag Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosProximityEvent()
+ * @model
+ * @generated
+ */
+public interface IPosProximityEvent extends IPosRawdataEvent {
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosProximityEvent_TagId()
+	 * @model
+	 * @generated
+	 */
+	String getTagId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent#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);
+
+} // IPosProximityEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRFIDEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRFIDEvent.java
new file mode 100644
index 0000000..cce14b0
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRFIDEvent.java
@@ -0,0 +1,44 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos RFID Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent#getLocation <em>Location</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosRFIDEvent()
+ * @model
+ * @generated
+ */
+public interface IPosRFIDEvent extends IPosProximityEvent {
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosRFIDEvent_Location()
+	 * @model
+	 * @generated
+	 */
+	String getLocation();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent#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);
+
+} // IPosRFIDEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRawdataEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRawdataEvent.java
new file mode 100644
index 0000000..ea7ffb0
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosRawdataEvent.java
@@ -0,0 +1,138 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos Rawdata Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getAgentId <em>Agent Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getSensorId <em>Sensor Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getAgentType <em>Agent Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getSensorType <em>Sensor Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getTimeStamp <em>Time Stamp</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosRawdataEvent()
+ * @model
+ * @generated
+ */
+public interface IPosRawdataEvent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent Id</em>' attribute.
+	 * @see #setAgentId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosRawdataEvent_AgentId()
+	 * @model
+	 * @generated
+	 */
+	String getAgentId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#getAgentId <em>Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent Id</em>' attribute.
+	 * @see #getAgentId()
+	 * @generated
+	 */
+	void setAgentId(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.IPosDevKit.IPosDevKitPackage#getIPosRawdataEvent_SensorId()
+	 * @model
+	 * @generated
+	 */
+	String getSensorId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#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);
+
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosRawdataEvent_AgentType()
+	 * @model
+	 * @generated
+	 */
+	String getAgentType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#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);
+
+	/**
+	 * 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.IPosDevKit.IPosDevKitPackage#getIPosRawdataEvent_SensorType()
+	 * @model
+	 * @generated
+	 */
+	String getSensorType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#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>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.IPosDevKit.IPosDevKitPackage#getIPosRawdataEvent_TimeStamp()
+	 * @model
+	 * @generated
+	 */
+	String getTimeStamp();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent#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);
+
+} // IPosRawdataEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosUWBEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosUWBEvent.java
new file mode 100644
index 0000000..73e8498
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosUWBEvent.java
@@ -0,0 +1,16 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IPos UWB Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIPosUWBEvent()
+ * @model
+ * @generated
+ */
+public interface IPosUWBEvent extends IPosBeaconEvent {
+} // IPosUWBEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBTEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBTEventImpl.java
new file mode 100644
index 0000000..3b6fb75
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBTEventImpl.java
@@ -0,0 +1,156 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+
+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>IPos BT Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBTEventImpl#getRss <em>Rss</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosBTEventImpl extends IPosBeaconEventImpl implements IPosBTEvent {
+	/**
+	 * The cached value of the '{@link #getRss() <em>Rss</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRss()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, Double> rss;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPosBTEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_BT_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, Double> getRss() {
+		return rss;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRss(Map<String, Double> newRss) {
+		Map<String, Double> oldRss = rss;
+		rss = newRss;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_BT_EVENT__RSS, oldRss, rss));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_BT_EVENT__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 IPosDevKitPackage.IPOS_BT_EVENT__RSS:
+			setRss((Map<String, Double>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_BT_EVENT__RSS:
+			setRss((Map<String, Double>) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_BT_EVENT__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();
+	}
+
+} //IPosBTEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBarcodeEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBarcodeEventImpl.java
new file mode 100644
index 0000000..2f47046
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBarcodeEventImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBarcodeEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IPos Barcode Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class IPosBarcodeEventImpl extends IPosProximityEventImpl implements IPosBarcodeEvent {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPosBarcodeEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_BARCODE_EVENT;
+	}
+
+} //IPosBarcodeEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBeaconEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBeaconEventImpl.java
new file mode 100644
index 0000000..eee7a36
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosBeaconEventImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+
+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>IPos Beacon Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosBeaconEventImpl#getDistances <em>Distances</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosBeaconEventImpl extends IPosRawdataEventImpl implements IPosBeaconEvent {
+	/**
+	 * The cached value of the '{@link #getDistances() <em>Distances</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistances()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, Double> distances;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPosBeaconEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_BEACON_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, Double> getDistances() {
+		return distances;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDistances(Map<String, Double> newDistances) {
+		Map<String, Double> oldDistances = distances;
+		distances = newDistances;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_BEACON_EVENT__DISTANCES,
+					oldDistances, distances));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_BEACON_EVENT__DISTANCES:
+			return getDistances();
+		}
+		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 IPosDevKitPackage.IPOS_BEACON_EVENT__DISTANCES:
+			setDistances((Map<String, Double>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_BEACON_EVENT__DISTANCES:
+			setDistances((Map<String, Double>) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_BEACON_EVENT__DISTANCES:
+			return distances != 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(" (distances: ");
+		result.append(distances);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IPosBeaconEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitFactoryImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitFactoryImpl.java
index 3cec2f3..f6a00e1 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitFactoryImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitFactoryImpl.java
@@ -74,6 +74,26 @@ public class IPosDevKitFactoryImpl extends EFactoryImpl implements IPosDevKitFac
 			return createSensorConfigurationRequest();
 		case IPosDevKitPackage.IPOS_POSITION_EVENT:
 			return createIposPositionEvent();
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT:
+			return createIPosRawdataEvent();
+		case IPosDevKitPackage.IPOS_BEACON_EVENT:
+			return createIPosBeaconEvent();
+		case IPosDevKitPackage.IPOS_UWB_EVENT:
+			return createIPosUWBEvent();
+		case IPosDevKitPackage.IPOS_BT_EVENT:
+			return createIPosBTEvent();
+		case IPosDevKitPackage.IPOS_PROXIMITY_EVENT:
+			return createIPosProximityEvent();
+		case IPosDevKitPackage.IPOS_NFC_EVENT:
+			return createIPosNFCEvent();
+		case IPosDevKitPackage.IPOS_BARCODE_EVENT:
+			return createIPosBarcodeEvent();
+		case IPosDevKitPackage.IPOS_RFID_EVENT:
+			return createIPosRFIDEvent();
+		case IPosDevKitPackage.IPOS_OTHER_PROX_EVENT:
+			return createIPosOtherProxEvent();
+		case IPosDevKitPackage.IPOS_OTHER_BEACON_EVENT:
+			return createIPosOtherBeaconEvent();
 		default:
 			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -169,6 +189,106 @@ public class IPosDevKitFactoryImpl extends EFactoryImpl implements IPosDevKitFac
 		return iposPositionEvent;
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosRawdataEvent createIPosRawdataEvent() {
+		IPosRawdataEventImpl iPosRawdataEvent = new IPosRawdataEventImpl();
+		return iPosRawdataEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosBeaconEvent createIPosBeaconEvent() {
+		IPosBeaconEventImpl iPosBeaconEvent = new IPosBeaconEventImpl();
+		return iPosBeaconEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosUWBEvent createIPosUWBEvent() {
+		IPosUWBEventImpl iPosUWBEvent = new IPosUWBEventImpl();
+		return iPosUWBEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosBTEvent createIPosBTEvent() {
+		IPosBTEventImpl iPosBTEvent = new IPosBTEventImpl();
+		return iPosBTEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosProximityEvent createIPosProximityEvent() {
+		IPosProximityEventImpl iPosProximityEvent = new IPosProximityEventImpl();
+		return iPosProximityEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosNFCEvent createIPosNFCEvent() {
+		IPosNFCEventImpl iPosNFCEvent = new IPosNFCEventImpl();
+		return iPosNFCEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosBarcodeEvent createIPosBarcodeEvent() {
+		IPosBarcodeEventImpl iPosBarcodeEvent = new IPosBarcodeEventImpl();
+		return iPosBarcodeEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosRFIDEvent createIPosRFIDEvent() {
+		IPosRFIDEventImpl iPosRFIDEvent = new IPosRFIDEventImpl();
+		return iPosRFIDEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosOtherProxEvent createIPosOtherProxEvent() {
+		IPosOtherProxEventImpl iPosOtherProxEvent = new IPosOtherProxEventImpl();
+		return iPosOtherProxEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosOtherBeaconEvent createIPosOtherBeaconEvent() {
+		IPosOtherBeaconEventImpl iPosOtherBeaconEvent = new IPosOtherBeaconEventImpl();
+		return iPosOtherBeaconEvent;
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitPackageImpl.java
index 63e8d3e..4313bfc 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitPackageImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitPackageImpl.java
@@ -5,8 +5,18 @@ package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBarcodeEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest;
@@ -20,10 +30,13 @@ import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
 
 import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl;
 
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl;
 import ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EGenericType;
 import org.eclipse.emf.ecore.EPackage;
 
 import org.eclipse.emf.ecore.EReference;
@@ -101,6 +114,76 @@ public class IPosDevKitPackageImpl extends EPackageImpl implements IPosDevKitPac
 	 */
 	private EClass iposPositionEventEClass = null;
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosRawdataEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosBeaconEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosUWBEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosBTEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosProximityEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosNFCEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosBarcodeEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosRFIDEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosOtherProxEventEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iPosOtherBeaconEventEClass = null;
+
 	/**
 	 * Creates an instance of the model <b>Package</b>, registered with
 	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
@@ -163,16 +246,22 @@ public class IPosDevKitPackageImpl extends EPackageImpl implements IPosDevKitPac
 		OFBizPackageImpl theOFBizPackage = (OFBizPackageImpl) (registeredPackage instanceof OFBizPackageImpl
 				? registeredPackage
 				: OFBizPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ToozPackage.eNS_URI);
+		ToozPackageImpl theToozPackage = (ToozPackageImpl) (registeredPackage instanceof ToozPackageImpl
+				? registeredPackage
+				: ToozPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theIPosDevKitPackage.createPackageContents();
 		theIPos_DatamodelPackage.createPackageContents();
 		theOFBizPackage.createPackageContents();
+		theToozPackage.createPackageContents();
 
 		// Initialize created meta-data
 		theIPosDevKitPackage.initializePackageContents();
 		theIPos_DatamodelPackage.initializePackageContents();
 		theOFBizPackage.initializePackageContents();
+		theToozPackage.initializePackageContents();
 
 		// Mark meta-data to indicate it can't be changed
 		theIPosDevKitPackage.freeze();
@@ -452,6 +541,204 @@ public class IPosDevKitPackageImpl extends EPackageImpl implements IPosDevKitPac
 		return (EReference) iposPositionEventEClass.getEStructuralFeatures().get(7);
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosRawdataEvent() {
+		return iPosRawdataEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosRawdataEvent_AgentId() {
+		return (EAttribute) iPosRawdataEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosRawdataEvent_SensorId() {
+		return (EAttribute) iPosRawdataEventEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosRawdataEvent_AgentType() {
+		return (EAttribute) iPosRawdataEventEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosRawdataEvent_SensorType() {
+		return (EAttribute) iPosRawdataEventEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosRawdataEvent_TimeStamp() {
+		return (EAttribute) iPosRawdataEventEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosBeaconEvent() {
+		return iPosBeaconEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosBeaconEvent_Distances() {
+		return (EAttribute) iPosBeaconEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosUWBEvent() {
+		return iPosUWBEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosBTEvent() {
+		return iPosBTEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosBTEvent_Rss() {
+		return (EAttribute) iPosBTEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosProximityEvent() {
+		return iPosProximityEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosProximityEvent_TagId() {
+		return (EAttribute) iPosProximityEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosNFCEvent() {
+		return iPosNFCEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosNFCEvent_TagData() {
+		return (EAttribute) iPosNFCEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosBarcodeEvent() {
+		return iPosBarcodeEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosRFIDEvent() {
+		return iPosRFIDEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosRFIDEvent_Location() {
+		return (EAttribute) iPosRFIDEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosOtherProxEvent() {
+		return iPosOtherProxEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosOtherProxEvent_Data() {
+		return (EAttribute) iPosOtherProxEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIPosOtherBeaconEvent() {
+		return iPosOtherBeaconEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIPosOtherBeaconEvent_Data() {
+		return (EAttribute) iPosOtherBeaconEventEClass.getEStructuralFeatures().get(0);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -519,6 +806,38 @@ public class IPosDevKitPackageImpl extends EPackageImpl implements IPosDevKitPac
 		createEReference(iposPositionEventEClass, IPOS_POSITION_EVENT__POSITION);
 		createEReference(iposPositionEventEClass, IPOS_POSITION_EVENT__ORIENTATION);
 		createEReference(iposPositionEventEClass, IPOS_POSITION_EVENT__ZONE_DESCRIPTORS);
+
+		iPosRawdataEventEClass = createEClass(IPOS_RAWDATA_EVENT);
+		createEAttribute(iPosRawdataEventEClass, IPOS_RAWDATA_EVENT__AGENT_ID);
+		createEAttribute(iPosRawdataEventEClass, IPOS_RAWDATA_EVENT__SENSOR_ID);
+		createEAttribute(iPosRawdataEventEClass, IPOS_RAWDATA_EVENT__AGENT_TYPE);
+		createEAttribute(iPosRawdataEventEClass, IPOS_RAWDATA_EVENT__SENSOR_TYPE);
+		createEAttribute(iPosRawdataEventEClass, IPOS_RAWDATA_EVENT__TIME_STAMP);
+
+		iPosBeaconEventEClass = createEClass(IPOS_BEACON_EVENT);
+		createEAttribute(iPosBeaconEventEClass, IPOS_BEACON_EVENT__DISTANCES);
+
+		iPosUWBEventEClass = createEClass(IPOS_UWB_EVENT);
+
+		iPosBTEventEClass = createEClass(IPOS_BT_EVENT);
+		createEAttribute(iPosBTEventEClass, IPOS_BT_EVENT__RSS);
+
+		iPosProximityEventEClass = createEClass(IPOS_PROXIMITY_EVENT);
+		createEAttribute(iPosProximityEventEClass, IPOS_PROXIMITY_EVENT__TAG_ID);
+
+		iPosNFCEventEClass = createEClass(IPOS_NFC_EVENT);
+		createEAttribute(iPosNFCEventEClass, IPOS_NFC_EVENT__TAG_DATA);
+
+		iPosBarcodeEventEClass = createEClass(IPOS_BARCODE_EVENT);
+
+		iPosRFIDEventEClass = createEClass(IPOS_RFID_EVENT);
+		createEAttribute(iPosRFIDEventEClass, IPOS_RFID_EVENT__LOCATION);
+
+		iPosOtherProxEventEClass = createEClass(IPOS_OTHER_PROX_EVENT);
+		createEAttribute(iPosOtherProxEventEClass, IPOS_OTHER_PROX_EVENT__DATA);
+
+		iPosOtherBeaconEventEClass = createEClass(IPOS_OTHER_BEACON_EVENT);
+		createEAttribute(iPosOtherBeaconEventEClass, IPOS_OTHER_BEACON_EVENT__DATA);
 	}
 
 	/**
@@ -556,6 +875,15 @@ public class IPosDevKitPackageImpl extends EPackageImpl implements IPosDevKitPac
 		// Set bounds for type parameters
 
 		// Add supertypes to classes
+		iPosBeaconEventEClass.getESuperTypes().add(this.getIPosRawdataEvent());
+		iPosUWBEventEClass.getESuperTypes().add(this.getIPosBeaconEvent());
+		iPosBTEventEClass.getESuperTypes().add(this.getIPosBeaconEvent());
+		iPosProximityEventEClass.getESuperTypes().add(this.getIPosRawdataEvent());
+		iPosNFCEventEClass.getESuperTypes().add(this.getIPosProximityEvent());
+		iPosBarcodeEventEClass.getESuperTypes().add(this.getIPosProximityEvent());
+		iPosRFIDEventEClass.getESuperTypes().add(this.getIPosProximityEvent());
+		iPosOtherProxEventEClass.getESuperTypes().add(this.getIPosProximityEvent());
+		iPosOtherBeaconEventEClass.getESuperTypes().add(this.getIPosBeaconEvent());
 
 		// Initialize classes, features, and operations; add parameters
 		initEClass(trackingRequestEClass, TrackingRequest.class, "TrackingRequest", !IS_ABSTRACT, !IS_INTERFACE,
@@ -647,6 +975,92 @@ public class IPosDevKitPackageImpl extends EPackageImpl implements IPosDevKitPac
 		initEReference(getIposPositionEvent_ZoneDescriptors(), theIPos_DatamodelPackage.getZoneDescriptor(), null,
 				"zoneDescriptors", null, 0, -1, IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
 				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosRawdataEventEClass, IPosRawdataEvent.class, "IPosRawdataEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIPosRawdataEvent_AgentId(), ecorePackage.getEString(), "agentId", null, 0, 1,
+				IPosRawdataEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIPosRawdataEvent_SensorId(), ecorePackage.getEString(), "sensorId", null, 0, 1,
+				IPosRawdataEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIPosRawdataEvent_AgentType(), ecorePackage.getEString(), "agentType", null, 0, 1,
+				IPosRawdataEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIPosRawdataEvent_SensorType(), ecorePackage.getEString(), "sensorType", null, 0, 1,
+				IPosRawdataEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIPosRawdataEvent_TimeStamp(), ecorePackage.getEString(), "timeStamp", null, 0, 1,
+				IPosRawdataEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosBeaconEventEClass, IPosBeaconEvent.class, "IPosBeaconEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		EGenericType g1 = createEGenericType(ecorePackage.getEMap());
+		EGenericType g2 = createEGenericType(theXMLTypePackage.getString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(theXMLTypePackage.getDoubleObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getIPosBeaconEvent_Distances(), g1, "distances", null, 0, 1, IPosBeaconEvent.class, IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosUWBEventEClass, IPosUWBEvent.class, "IPosUWBEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(iPosBTEventEClass, IPosBTEvent.class, "IPosBTEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		g1 = createEGenericType(ecorePackage.getEMap());
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(theXMLTypePackage.getDoubleObject());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getIPosBTEvent_Rss(), g1, "rss", null, 0, 1, IPosBTEvent.class, IS_TRANSIENT, !IS_VOLATILE,
+				IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosProximityEventEClass, IPosProximityEvent.class, "IPosProximityEvent", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIPosProximityEvent_TagId(), ecorePackage.getEString(), "tagId", null, 0, 1,
+				IPosProximityEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosNFCEventEClass, IPosNFCEvent.class, "IPosNFCEvent", !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(getIPosNFCEvent_TagData(), g1, "tagData", null, 0, 1, IPosNFCEvent.class, IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosBarcodeEventEClass, IPosBarcodeEvent.class, "IPosBarcodeEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(iPosRFIDEventEClass, IPosRFIDEvent.class, "IPosRFIDEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIPosRFIDEvent_Location(), ecorePackage.getEString(), "location", null, 0, 1,
+				IPosRFIDEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosOtherProxEventEClass, IPosOtherProxEvent.class, "IPosOtherProxEvent", !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(getIPosOtherProxEvent_Data(), g1, "data", null, 0, 1, IPosOtherProxEvent.class, IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iPosOtherBeaconEventEClass, IPosOtherBeaconEvent.class, "IPosOtherBeaconEvent", !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(getIPosOtherBeaconEvent_Data(), g1, "data", null, 0, 1, IPosOtherBeaconEvent.class, IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 	}
 
 } //IPosDevKitPackageImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosNFCEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosNFCEventImpl.java
new file mode 100644
index 0000000..894229e
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosNFCEventImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent;
+
+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>IPos NFC Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosNFCEventImpl#getTagData <em>Tag Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosNFCEventImpl extends IPosProximityEventImpl implements IPosNFCEvent {
+	/**
+	 * 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 IPosNFCEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_NFC_EVENT;
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_NFC_EVENT__TAG_DATA,
+					oldTagData, tagData));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_NFC_EVENT__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 IPosDevKitPackage.IPOS_NFC_EVENT__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 IPosDevKitPackage.IPOS_NFC_EVENT__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 IPosDevKitPackage.IPOS_NFC_EVENT__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();
+	}
+
+} //IPosNFCEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherBeaconEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherBeaconEventImpl.java
new file mode 100644
index 0000000..6876c37
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherBeaconEventImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent;
+
+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>IPos Other Beacon Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherBeaconEventImpl#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosOtherBeaconEventImpl extends IPosBeaconEventImpl implements IPosOtherBeaconEvent {
+	/**
+	 * 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 IPosOtherBeaconEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_OTHER_BEACON_EVENT;
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_OTHER_BEACON_EVENT__DATA,
+					oldData, data));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_OTHER_BEACON_EVENT__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 IPosDevKitPackage.IPOS_OTHER_BEACON_EVENT__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 IPosDevKitPackage.IPOS_OTHER_BEACON_EVENT__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 IPosDevKitPackage.IPOS_OTHER_BEACON_EVENT__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();
+	}
+
+} //IPosOtherBeaconEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherProxEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherProxEventImpl.java
new file mode 100644
index 0000000..9fb9b1f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosOtherProxEventImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent;
+
+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>IPos Other Prox Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosOtherProxEventImpl#getData <em>Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosOtherProxEventImpl extends IPosProximityEventImpl implements IPosOtherProxEvent {
+	/**
+	 * 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 IPosOtherProxEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_OTHER_PROX_EVENT;
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_OTHER_PROX_EVENT__DATA,
+					oldData, data));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_OTHER_PROX_EVENT__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 IPosDevKitPackage.IPOS_OTHER_PROX_EVENT__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 IPosDevKitPackage.IPOS_OTHER_PROX_EVENT__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 IPosDevKitPackage.IPOS_OTHER_PROX_EVENT__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();
+	}
+
+} //IPosOtherProxEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosProximityEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosProximityEventImpl.java
new file mode 100644
index 0000000..12183b2
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosProximityEventImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent;
+
+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>IPos Proximity Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosProximityEventImpl#getTagId <em>Tag Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosProximityEventImpl extends IPosRawdataEventImpl implements IPosProximityEvent {
+	/**
+	 * 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;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPosProximityEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_PROXIMITY_EVENT;
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_PROXIMITY_EVENT__TAG_ID,
+					oldTagId, tagId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_PROXIMITY_EVENT__TAG_ID:
+			return getTagId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_PROXIMITY_EVENT__TAG_ID:
+			setTagId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_PROXIMITY_EVENT__TAG_ID:
+			setTagId(TAG_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_PROXIMITY_EVENT__TAG_ID:
+			return TAG_ID_EDEFAULT == null ? tagId != null : !TAG_ID_EDEFAULT.equals(tagId);
+		}
+		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(')');
+		return result.toString();
+	}
+
+} //IPosProximityEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRFIDEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRFIDEventImpl.java
new file mode 100644
index 0000000..24f0dff
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRFIDEventImpl.java
@@ -0,0 +1,164 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent;
+
+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>IPos RFID Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRFIDEventImpl#getLocation <em>Location</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosRFIDEventImpl extends IPosProximityEventImpl implements IPosRFIDEvent {
+	/**
+	 * 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 IPosRFIDEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_RFID_EVENT;
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_RFID_EVENT__LOCATION,
+					oldLocation, location));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_RFID_EVENT__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 IPosDevKitPackage.IPOS_RFID_EVENT__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 IPosDevKitPackage.IPOS_RFID_EVENT__LOCATION:
+			setLocation(LOCATION_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_RFID_EVENT__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();
+	}
+
+} //IPosRFIDEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRawdataEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRawdataEventImpl.java
new file mode 100644
index 0000000..b16ba07
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosRawdataEventImpl.java
@@ -0,0 +1,385 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent;
+
+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>IPos Rawdata Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl#getAgentId <em>Agent Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl#getSensorId <em>Sensor Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl#getAgentType <em>Agent Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl#getSensorType <em>Sensor Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosRawdataEventImpl#getTimeStamp <em>Time Stamp</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPosRawdataEventImpl extends MinimalEObjectImpl.Container implements IPosRawdataEvent {
+	/**
+	 * The default value of the '{@link #getAgentId() <em>Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String AGENT_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getAgentId() <em>Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String agentId = AGENT_ID_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;
+
+	/**
+	 * 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;
+
+	/**
+	 * 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 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 IPosRawdataEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_RAWDATA_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getAgentId() {
+		return agentId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgentId(String newAgentId) {
+		String oldAgentId = agentId;
+		agentId = newAgentId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_ID,
+					oldAgentId, agentId));
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_ID,
+					oldSensorId, sensorId));
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_TYPE,
+					oldAgentType, agentType));
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_TYPE,
+					oldSensorType, sensorType));
+	}
+
+	/**
+	 * <!-- 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, IPosDevKitPackage.IPOS_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 IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_ID:
+			return getAgentId();
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_ID:
+			return getSensorId();
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_TYPE:
+			return getAgentType();
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_TYPE:
+			return getSensorType();
+		case IPosDevKitPackage.IPOS_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 IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_ID:
+			setAgentId((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_ID:
+			setSensorId((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_TYPE:
+			setAgentType((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_TYPE:
+			setSensorType((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_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 IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_ID:
+			setAgentId(AGENT_ID_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_ID:
+			setSensorId(SENSOR_ID_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_TYPE:
+			setAgentType(AGENT_TYPE_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_TYPE:
+			setSensorType(SENSOR_TYPE_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_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 IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_ID:
+			return AGENT_ID_EDEFAULT == null ? agentId != null : !AGENT_ID_EDEFAULT.equals(agentId);
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_ID:
+			return SENSOR_ID_EDEFAULT == null ? sensorId != null : !SENSOR_ID_EDEFAULT.equals(sensorId);
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__AGENT_TYPE:
+			return AGENT_TYPE_EDEFAULT == null ? agentType != null : !AGENT_TYPE_EDEFAULT.equals(agentType);
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT__SENSOR_TYPE:
+			return SENSOR_TYPE_EDEFAULT == null ? sensorType != null : !SENSOR_TYPE_EDEFAULT.equals(sensorType);
+		case IPosDevKitPackage.IPOS_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(" (agentId: ");
+		result.append(agentId);
+		result.append(", sensorId: ");
+		result.append(sensorId);
+		result.append(", agentType: ");
+		result.append(agentType);
+		result.append(", sensorType: ");
+		result.append(sensorType);
+		result.append(", timeStamp: ");
+		result.append(timeStamp);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IPosRawdataEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosUWBEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosUWBEventImpl.java
new file mode 100644
index 0000000..a55e3ae
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosUWBEventImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IPos UWB Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class IPosUWBEventImpl extends IPosBeaconEventImpl implements IPosUWBEvent {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPosUWBEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_UWB_EVENT;
+	}
+
+} //IPosUWBEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitAdapterFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitAdapterFactory.java
index 12ec1a1..06ebcdd 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitAdapterFactory.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitAdapterFactory.java
@@ -111,6 +111,56 @@ public class IPosDevKitAdapterFactory extends AdapterFactoryImpl {
 			return createIposPositionEventAdapter();
 		}
 
+		@Override
+		public Adapter caseIPosRawdataEvent(IPosRawdataEvent object) {
+			return createIPosRawdataEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosBeaconEvent(IPosBeaconEvent object) {
+			return createIPosBeaconEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosUWBEvent(IPosUWBEvent object) {
+			return createIPosUWBEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosBTEvent(IPosBTEvent object) {
+			return createIPosBTEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosProximityEvent(IPosProximityEvent object) {
+			return createIPosProximityEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosNFCEvent(IPosNFCEvent object) {
+			return createIPosNFCEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosBarcodeEvent(IPosBarcodeEvent object) {
+			return createIPosBarcodeEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosRFIDEvent(IPosRFIDEvent object) {
+			return createIPosRFIDEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosOtherProxEvent(IPosOtherProxEvent object) {
+			return createIPosOtherProxEventAdapter();
+		}
+
+		@Override
+		public Adapter caseIPosOtherBeaconEvent(IPosOtherBeaconEvent object) {
+			return createIPosOtherBeaconEventAdapter();
+		}
+
 		@Override
 		public Adapter defaultCase(EObject object) {
 			return createEObjectAdapter();
@@ -256,6 +306,146 @@ public class IPosDevKitAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent <em>IPos 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.IPosDevKit.IPosRawdataEvent
+	 * @generated
+	 */
+	public Adapter createIPosRawdataEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBeaconEvent <em>IPos Beacon 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.IPosDevKit.IPosBeaconEvent
+	 * @generated
+	 */
+	public Adapter createIPosBeaconEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent <em>IPos UWB 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.IPosDevKit.IPosUWBEvent
+	 * @generated
+	 */
+	public Adapter createIPosUWBEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBTEvent <em>IPos BT 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.IPosDevKit.IPosBTEvent
+	 * @generated
+	 */
+	public Adapter createIPosBTEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosProximityEvent <em>IPos Proximity 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.IPosDevKit.IPosProximityEvent
+	 * @generated
+	 */
+	public Adapter createIPosProximityEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosNFCEvent <em>IPos NFC 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.IPosDevKit.IPosNFCEvent
+	 * @generated
+	 */
+	public Adapter createIPosNFCEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosBarcodeEvent <em>IPos Barcode 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.IPosDevKit.IPosBarcodeEvent
+	 * @generated
+	 */
+	public Adapter createIPosBarcodeEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRFIDEvent <em>IPos RFID 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.IPosDevKit.IPosRFIDEvent
+	 * @generated
+	 */
+	public Adapter createIPosRFIDEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherProxEvent <em>IPos Other Prox 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.IPosDevKit.IPosOtherProxEvent
+	 * @generated
+	 */
+	public Adapter createIPosOtherProxEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosOtherBeaconEvent <em>IPos Other Beacon 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.IPosDevKit.IPosOtherBeaconEvent
+	 * @generated
+	 */
+	public Adapter createIPosOtherBeaconEventAdapter() {
+		return null;
+	}
+
 	/**
 	 * Creates a new adapter for the default case.
 	 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitSwitch.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitSwitch.java
index f033e71..b0608cc 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitSwitch.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitSwitch.java
@@ -129,6 +129,108 @@ public class IPosDevKitSwitch<T> extends Switch<T> {
 				result = defaultCase(theEObject);
 			return result;
 		}
+		case IPosDevKitPackage.IPOS_RAWDATA_EVENT: {
+			IPosRawdataEvent iPosRawdataEvent = (IPosRawdataEvent) theEObject;
+			T result = caseIPosRawdataEvent(iPosRawdataEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_BEACON_EVENT: {
+			IPosBeaconEvent iPosBeaconEvent = (IPosBeaconEvent) theEObject;
+			T result = caseIPosBeaconEvent(iPosBeaconEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosBeaconEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_UWB_EVENT: {
+			IPosUWBEvent iPosUWBEvent = (IPosUWBEvent) theEObject;
+			T result = caseIPosUWBEvent(iPosUWBEvent);
+			if (result == null)
+				result = caseIPosBeaconEvent(iPosUWBEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosUWBEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_BT_EVENT: {
+			IPosBTEvent iPosBTEvent = (IPosBTEvent) theEObject;
+			T result = caseIPosBTEvent(iPosBTEvent);
+			if (result == null)
+				result = caseIPosBeaconEvent(iPosBTEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosBTEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_PROXIMITY_EVENT: {
+			IPosProximityEvent iPosProximityEvent = (IPosProximityEvent) theEObject;
+			T result = caseIPosProximityEvent(iPosProximityEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosProximityEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_NFC_EVENT: {
+			IPosNFCEvent iPosNFCEvent = (IPosNFCEvent) theEObject;
+			T result = caseIPosNFCEvent(iPosNFCEvent);
+			if (result == null)
+				result = caseIPosProximityEvent(iPosNFCEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosNFCEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_BARCODE_EVENT: {
+			IPosBarcodeEvent iPosBarcodeEvent = (IPosBarcodeEvent) theEObject;
+			T result = caseIPosBarcodeEvent(iPosBarcodeEvent);
+			if (result == null)
+				result = caseIPosProximityEvent(iPosBarcodeEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosBarcodeEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_RFID_EVENT: {
+			IPosRFIDEvent iPosRFIDEvent = (IPosRFIDEvent) theEObject;
+			T result = caseIPosRFIDEvent(iPosRFIDEvent);
+			if (result == null)
+				result = caseIPosProximityEvent(iPosRFIDEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosRFIDEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_OTHER_PROX_EVENT: {
+			IPosOtherProxEvent iPosOtherProxEvent = (IPosOtherProxEvent) theEObject;
+			T result = caseIPosOtherProxEvent(iPosOtherProxEvent);
+			if (result == null)
+				result = caseIPosProximityEvent(iPosOtherProxEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosOtherProxEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_OTHER_BEACON_EVENT: {
+			IPosOtherBeaconEvent iPosOtherBeaconEvent = (IPosOtherBeaconEvent) theEObject;
+			T result = caseIPosOtherBeaconEvent(iPosOtherBeaconEvent);
+			if (result == null)
+				result = caseIPosBeaconEvent(iPosOtherBeaconEvent);
+			if (result == null)
+				result = caseIPosRawdataEvent(iPosOtherBeaconEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
 		default:
 			return defaultCase(theEObject);
 		}
@@ -269,6 +371,156 @@ public class IPosDevKitSwitch<T> extends Switch<T> {
 		return null;
 	}
 
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos 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>IPos Rawdata Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosRawdataEvent(IPosRawdataEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos Beacon 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>IPos Beacon Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosBeaconEvent(IPosBeaconEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos UWB 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>IPos UWB Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosUWBEvent(IPosUWBEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos BT 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>IPos BT Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosBTEvent(IPosBTEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos Proximity 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>IPos Proximity Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosProximityEvent(IPosProximityEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos NFC 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>IPos NFC Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosNFCEvent(IPosNFCEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos Barcode 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>IPos Barcode Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosBarcodeEvent(IPosBarcodeEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos RFID 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>IPos RFID Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosRFIDEvent(IPosRFIDEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos Other Prox 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>IPos Other Prox Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosOtherProxEvent(IPosOtherProxEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IPos Other Beacon 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>IPos Other Beacon Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIPosOtherBeaconEvent(IPosOtherBeaconEvent object) {
+		return null;
+	}
+
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
 	 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizPackageImpl.java
index 979a182..651d323 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizPackageImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizPackageImpl.java
@@ -16,6 +16,8 @@ import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin;
 import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem;
 import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole;
 
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl;
 import ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl;
 
 import org.eclipse.emf.ecore.EAttribute;
@@ -131,16 +133,22 @@ public class OFBizPackageImpl extends EPackageImpl implements OFBizPackage {
 		IPosDevKitPackageImpl theIPosDevKitPackage = (IPosDevKitPackageImpl) (registeredPackage instanceof IPosDevKitPackageImpl
 				? registeredPackage
 				: IPosDevKitPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ToozPackage.eNS_URI);
+		ToozPackageImpl theToozPackage = (ToozPackageImpl) (registeredPackage instanceof ToozPackageImpl
+				? registeredPackage
+				: ToozPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theOFBizPackage.createPackageContents();
 		theIPos_DatamodelPackage.createPackageContents();
 		theIPosDevKitPackage.createPackageContents();
+		theToozPackage.createPackageContents();
 
 		// Initialize created meta-data
 		theOFBizPackage.initializePackageContents();
 		theIPos_DatamodelPackage.initializePackageContents();
 		theIPosDevKitPackage.initializePackageContents();
+		theToozPackage.initializePackageContents();
 
 		// Mark meta-data to indicate it can't be changed
 		theOFBizPackage.freeze();
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/DistantEntity.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/DistantEntity.java
new file mode 100644
index 0000000..274e538
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/DistantEntity.java
@@ -0,0 +1,163 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Distant Entity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalSensorId <em>Local Sensor Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalAgentId <em>Local Agent Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistantEntityId <em>Distant Entity Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistance <em>Distance</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getProximityIndex <em>Proximity Index</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getEntityData <em>Entity Data</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getDistantEntity()
+ * @model
+ * @generated
+ */
+public interface DistantEntity extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Local Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Local Sensor Id</em>' attribute.
+	 * @see #setLocalSensorId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getDistantEntity_LocalSensorId()
+	 * @model
+	 * @generated
+	 */
+	String getLocalSensorId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalSensorId <em>Local Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Local Sensor Id</em>' attribute.
+	 * @see #getLocalSensorId()
+	 * @generated
+	 */
+	void setLocalSensorId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Local Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Local Agent Id</em>' attribute.
+	 * @see #setLocalAgentId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getDistantEntity_LocalAgentId()
+	 * @model
+	 * @generated
+	 */
+	String getLocalAgentId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalAgentId <em>Local Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Local Agent Id</em>' attribute.
+	 * @see #getLocalAgentId()
+	 * @generated
+	 */
+	void setLocalAgentId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Distant Entity Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Distant Entity Id</em>' attribute.
+	 * @see #setDistantEntityId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getDistantEntity_DistantEntityId()
+	 * @model
+	 * @generated
+	 */
+	String getDistantEntityId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistantEntityId <em>Distant Entity Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Distant Entity Id</em>' attribute.
+	 * @see #getDistantEntityId()
+	 * @generated
+	 */
+	void setDistantEntityId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Distance</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Distance</em>' attribute.
+	 * @see #setDistance(double)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getDistantEntity_Distance()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Double"
+	 * @generated
+	 */
+	double getDistance();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistance <em>Distance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Distance</em>' attribute.
+	 * @see #getDistance()
+	 * @generated
+	 */
+	void setDistance(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Proximity Index</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Proximity Index</em>' attribute.
+	 * @see #setProximityIndex(int)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getDistantEntity_ProximityIndex()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Int"
+	 * @generated
+	 */
+	int getProximityIndex();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getProximityIndex <em>Proximity Index</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Proximity Index</em>' attribute.
+	 * @see #getProximityIndex()
+	 * @generated
+	 */
+	void setProximityIndex(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Entity Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Entity Data</em>' attribute.
+	 * @see #setEntityData(Map)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getDistantEntity_EntityData()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Map<String, String> getEntityData();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getEntityData <em>Entity Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Entity Data</em>' attribute.
+	 * @see #getEntityData()
+	 * @generated
+	 */
+	void setEntityData(Map<String, String> value);
+
+} // DistantEntity
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/MonitoringTarget.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/MonitoringTarget.java
new file mode 100644
index 0000000..6cc4dc9
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/MonitoringTarget.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Monitoring Target</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget#getTargetSensorId <em>Target Sensor Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getMonitoringTarget()
+ * @model
+ * @generated
+ */
+public interface MonitoringTarget extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Target Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Target Sensor Id</em>' attribute.
+	 * @see #setTargetSensorId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage#getMonitoringTarget_TargetSensorId()
+	 * @model
+	 * @generated
+	 */
+	String getTargetSensorId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget#getTargetSensorId <em>Target Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Target Sensor Id</em>' attribute.
+	 * @see #getTargetSensorId()
+	 * @generated
+	 */
+	void setTargetSensorId(String value);
+
+} // MonitoringTarget
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozFactory.java
new file mode 100644
index 0000000..0a450c9
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozFactory.java
@@ -0,0 +1,51 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz;
+
+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.Tooz.ToozPackage
+ * @generated
+ */
+public interface ToozFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ToozFactory eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Monitoring Target</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Monitoring Target</em>'.
+	 * @generated
+	 */
+	MonitoringTarget createMonitoringTarget();
+
+	/**
+	 * Returns a new object of class '<em>Distant Entity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Distant Entity</em>'.
+	 * @generated
+	 */
+	DistantEntity createDistantEntity();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ToozPackage getToozPackage();
+
+} //ToozFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozPackage.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozPackage.java
new file mode 100644
index 0000000..b829660
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/ToozPackage.java
@@ -0,0 +1,375 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- 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.Tooz.ToozFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ToozPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Tooz";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "tooz";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "tooz";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ToozPackage eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.MonitoringTargetImpl <em>Monitoring Target</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.MonitoringTargetImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl#getMonitoringTarget()
+	 * @generated
+	 */
+	int MONITORING_TARGET = 0;
+
+	/**
+	 * The feature id for the '<em><b>Target Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_TARGET__TARGET_SENSOR_ID = 0;
+
+	/**
+	 * The number of structural features of the '<em>Monitoring Target</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_TARGET_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Monitoring Target</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_TARGET_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl <em>Distant Entity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl#getDistantEntity()
+	 * @generated
+	 */
+	int DISTANT_ENTITY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Local Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY__LOCAL_SENSOR_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Local Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY__LOCAL_AGENT_ID = 1;
+
+	/**
+	 * The feature id for the '<em><b>Distant Entity Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY__DISTANT_ENTITY_ID = 2;
+
+	/**
+	 * The feature id for the '<em><b>Distance</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY__DISTANCE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Proximity Index</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY__PROXIMITY_INDEX = 4;
+
+	/**
+	 * The feature id for the '<em><b>Entity Data</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY__ENTITY_DATA = 5;
+
+	/**
+	 * The number of structural features of the '<em>Distant Entity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY_FEATURE_COUNT = 6;
+
+	/**
+	 * The number of operations of the '<em>Distant Entity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANT_ENTITY_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget <em>Monitoring Target</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Monitoring Target</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget
+	 * @generated
+	 */
+	EClass getMonitoringTarget();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget#getTargetSensorId <em>Target Sensor Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Target Sensor Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget#getTargetSensorId()
+	 * @see #getMonitoringTarget()
+	 * @generated
+	 */
+	EAttribute getMonitoringTarget_TargetSensorId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity <em>Distant Entity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Distant Entity</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity
+	 * @generated
+	 */
+	EClass getDistantEntity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalSensorId <em>Local Sensor Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Local Sensor Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalSensorId()
+	 * @see #getDistantEntity()
+	 * @generated
+	 */
+	EAttribute getDistantEntity_LocalSensorId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalAgentId <em>Local Agent Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Local Agent Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getLocalAgentId()
+	 * @see #getDistantEntity()
+	 * @generated
+	 */
+	EAttribute getDistantEntity_LocalAgentId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistantEntityId <em>Distant Entity Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Distant Entity Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistantEntityId()
+	 * @see #getDistantEntity()
+	 * @generated
+	 */
+	EAttribute getDistantEntity_DistantEntityId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistance <em>Distance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Distance</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getDistance()
+	 * @see #getDistantEntity()
+	 * @generated
+	 */
+	EAttribute getDistantEntity_Distance();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getProximityIndex <em>Proximity Index</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Proximity Index</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getProximityIndex()
+	 * @see #getDistantEntity()
+	 * @generated
+	 */
+	EAttribute getDistantEntity_ProximityIndex();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getEntityData <em>Entity Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Entity Data</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity#getEntityData()
+	 * @see #getDistantEntity()
+	 * @generated
+	 */
+	EAttribute getDistantEntity_EntityData();
+
+	/**
+	 * 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
+	 */
+	ToozFactory getToozFactory();
+
+	/**
+	 * <!-- 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.Tooz.impl.MonitoringTargetImpl <em>Monitoring Target</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.MonitoringTargetImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl#getMonitoringTarget()
+		 * @generated
+		 */
+		EClass MONITORING_TARGET = eINSTANCE.getMonitoringTarget();
+
+		/**
+		 * The meta object literal for the '<em><b>Target Sensor Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_TARGET__TARGET_SENSOR_ID = eINSTANCE.getMonitoringTarget_TargetSensorId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl <em>Distant Entity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl#getDistantEntity()
+		 * @generated
+		 */
+		EClass DISTANT_ENTITY = eINSTANCE.getDistantEntity();
+
+		/**
+		 * The meta object literal for the '<em><b>Local Sensor Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTANT_ENTITY__LOCAL_SENSOR_ID = eINSTANCE.getDistantEntity_LocalSensorId();
+
+		/**
+		 * The meta object literal for the '<em><b>Local Agent Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTANT_ENTITY__LOCAL_AGENT_ID = eINSTANCE.getDistantEntity_LocalAgentId();
+
+		/**
+		 * The meta object literal for the '<em><b>Distant Entity Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTANT_ENTITY__DISTANT_ENTITY_ID = eINSTANCE.getDistantEntity_DistantEntityId();
+
+		/**
+		 * The meta object literal for the '<em><b>Distance</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTANT_ENTITY__DISTANCE = eINSTANCE.getDistantEntity_Distance();
+
+		/**
+		 * The meta object literal for the '<em><b>Proximity Index</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTANT_ENTITY__PROXIMITY_INDEX = eINSTANCE.getDistantEntity_ProximityIndex();
+
+		/**
+		 * The meta object literal for the '<em><b>Entity Data</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTANT_ENTITY__ENTITY_DATA = eINSTANCE.getDistantEntity_EntityData();
+
+	}
+
+} //ToozPackage
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/DistantEntityImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/DistantEntityImpl.java
new file mode 100644
index 0000000..ef6eb56
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/DistantEntityImpl.java
@@ -0,0 +1,436 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage;
+
+import java.util.Map;
+
+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>Distant Entity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl#getLocalSensorId <em>Local Sensor Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl#getLocalAgentId <em>Local Agent Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl#getDistantEntityId <em>Distant Entity Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl#getDistance <em>Distance</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl#getProximityIndex <em>Proximity Index</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.DistantEntityImpl#getEntityData <em>Entity Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DistantEntityImpl extends MinimalEObjectImpl.Container implements DistantEntity {
+	/**
+	 * The default value of the '{@link #getLocalSensorId() <em>Local Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocalSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LOCAL_SENSOR_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLocalSensorId() <em>Local Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocalSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String localSensorId = LOCAL_SENSOR_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLocalAgentId() <em>Local Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocalAgentId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LOCAL_AGENT_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLocalAgentId() <em>Local Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocalAgentId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String localAgentId = LOCAL_AGENT_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDistantEntityId() <em>Distant Entity Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistantEntityId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DISTANT_ENTITY_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDistantEntityId() <em>Distant Entity Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistantEntityId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String distantEntityId = DISTANT_ENTITY_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDistance() <em>Distance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistance()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double DISTANCE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getDistance() <em>Distance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistance()
+	 * @generated
+	 * @ordered
+	 */
+	protected double distance = DISTANCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProximityIndex() <em>Proximity Index</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProximityIndex()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int PROXIMITY_INDEX_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getProximityIndex() <em>Proximity Index</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProximityIndex()
+	 * @generated
+	 * @ordered
+	 */
+	protected int proximityIndex = PROXIMITY_INDEX_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getEntityData() <em>Entity Data</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEntityData()
+	 * @generated
+	 * @ordered
+	 */
+	protected Map<String, String> entityData;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DistantEntityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ToozPackage.Literals.DISTANT_ENTITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLocalSensorId() {
+		return localSensorId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLocalSensorId(String newLocalSensorId) {
+		String oldLocalSensorId = localSensorId;
+		localSensorId = newLocalSensorId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ToozPackage.DISTANT_ENTITY__LOCAL_SENSOR_ID,
+					oldLocalSensorId, localSensorId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLocalAgentId() {
+		return localAgentId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLocalAgentId(String newLocalAgentId) {
+		String oldLocalAgentId = localAgentId;
+		localAgentId = newLocalAgentId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ToozPackage.DISTANT_ENTITY__LOCAL_AGENT_ID,
+					oldLocalAgentId, localAgentId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDistantEntityId() {
+		return distantEntityId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDistantEntityId(String newDistantEntityId) {
+		String oldDistantEntityId = distantEntityId;
+		distantEntityId = newDistantEntityId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ToozPackage.DISTANT_ENTITY__DISTANT_ENTITY_ID,
+					oldDistantEntityId, distantEntityId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getDistance() {
+		return distance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDistance(double newDistance) {
+		double oldDistance = distance;
+		distance = newDistance;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ToozPackage.DISTANT_ENTITY__DISTANCE, oldDistance,
+					distance));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getProximityIndex() {
+		return proximityIndex;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProximityIndex(int newProximityIndex) {
+		int oldProximityIndex = proximityIndex;
+		proximityIndex = newProximityIndex;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ToozPackage.DISTANT_ENTITY__PROXIMITY_INDEX,
+					oldProximityIndex, proximityIndex));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map<String, String> getEntityData() {
+		return entityData;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEntityData(Map<String, String> newEntityData) {
+		Map<String, String> oldEntityData = entityData;
+		entityData = newEntityData;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ToozPackage.DISTANT_ENTITY__ENTITY_DATA,
+					oldEntityData, entityData));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ToozPackage.DISTANT_ENTITY__LOCAL_SENSOR_ID:
+			return getLocalSensorId();
+		case ToozPackage.DISTANT_ENTITY__LOCAL_AGENT_ID:
+			return getLocalAgentId();
+		case ToozPackage.DISTANT_ENTITY__DISTANT_ENTITY_ID:
+			return getDistantEntityId();
+		case ToozPackage.DISTANT_ENTITY__DISTANCE:
+			return getDistance();
+		case ToozPackage.DISTANT_ENTITY__PROXIMITY_INDEX:
+			return getProximityIndex();
+		case ToozPackage.DISTANT_ENTITY__ENTITY_DATA:
+			return getEntityData();
+		}
+		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 ToozPackage.DISTANT_ENTITY__LOCAL_SENSOR_ID:
+			setLocalSensorId((String) newValue);
+			return;
+		case ToozPackage.DISTANT_ENTITY__LOCAL_AGENT_ID:
+			setLocalAgentId((String) newValue);
+			return;
+		case ToozPackage.DISTANT_ENTITY__DISTANT_ENTITY_ID:
+			setDistantEntityId((String) newValue);
+			return;
+		case ToozPackage.DISTANT_ENTITY__DISTANCE:
+			setDistance((Double) newValue);
+			return;
+		case ToozPackage.DISTANT_ENTITY__PROXIMITY_INDEX:
+			setProximityIndex((Integer) newValue);
+			return;
+		case ToozPackage.DISTANT_ENTITY__ENTITY_DATA:
+			setEntityData((Map<String, String>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ToozPackage.DISTANT_ENTITY__LOCAL_SENSOR_ID:
+			setLocalSensorId(LOCAL_SENSOR_ID_EDEFAULT);
+			return;
+		case ToozPackage.DISTANT_ENTITY__LOCAL_AGENT_ID:
+			setLocalAgentId(LOCAL_AGENT_ID_EDEFAULT);
+			return;
+		case ToozPackage.DISTANT_ENTITY__DISTANT_ENTITY_ID:
+			setDistantEntityId(DISTANT_ENTITY_ID_EDEFAULT);
+			return;
+		case ToozPackage.DISTANT_ENTITY__DISTANCE:
+			setDistance(DISTANCE_EDEFAULT);
+			return;
+		case ToozPackage.DISTANT_ENTITY__PROXIMITY_INDEX:
+			setProximityIndex(PROXIMITY_INDEX_EDEFAULT);
+			return;
+		case ToozPackage.DISTANT_ENTITY__ENTITY_DATA:
+			setEntityData((Map<String, String>) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ToozPackage.DISTANT_ENTITY__LOCAL_SENSOR_ID:
+			return LOCAL_SENSOR_ID_EDEFAULT == null ? localSensorId != null
+					: !LOCAL_SENSOR_ID_EDEFAULT.equals(localSensorId);
+		case ToozPackage.DISTANT_ENTITY__LOCAL_AGENT_ID:
+			return LOCAL_AGENT_ID_EDEFAULT == null ? localAgentId != null
+					: !LOCAL_AGENT_ID_EDEFAULT.equals(localAgentId);
+		case ToozPackage.DISTANT_ENTITY__DISTANT_ENTITY_ID:
+			return DISTANT_ENTITY_ID_EDEFAULT == null ? distantEntityId != null
+					: !DISTANT_ENTITY_ID_EDEFAULT.equals(distantEntityId);
+		case ToozPackage.DISTANT_ENTITY__DISTANCE:
+			return distance != DISTANCE_EDEFAULT;
+		case ToozPackage.DISTANT_ENTITY__PROXIMITY_INDEX:
+			return proximityIndex != PROXIMITY_INDEX_EDEFAULT;
+		case ToozPackage.DISTANT_ENTITY__ENTITY_DATA:
+			return entityData != 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(" (localSensorId: ");
+		result.append(localSensorId);
+		result.append(", localAgentId: ");
+		result.append(localAgentId);
+		result.append(", distantEntityId: ");
+		result.append(distantEntityId);
+		result.append(", distance: ");
+		result.append(distance);
+		result.append(", proximityIndex: ");
+		result.append(proximityIndex);
+		result.append(", entityData: ");
+		result.append(entityData);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DistantEntityImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/MonitoringTargetImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/MonitoringTargetImpl.java
new file mode 100644
index 0000000..26eaa0e
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/MonitoringTargetImpl.java
@@ -0,0 +1,166 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage;
+
+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 Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.MonitoringTargetImpl#getTargetSensorId <em>Target Sensor Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MonitoringTargetImpl extends MinimalEObjectImpl.Container implements MonitoringTarget {
+	/**
+	 * The default value of the '{@link #getTargetSensorId() <em>Target Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TARGET_SENSOR_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTargetSensorId() <em>Target Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String targetSensorId = TARGET_SENSOR_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MonitoringTargetImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ToozPackage.Literals.MONITORING_TARGET;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTargetSensorId() {
+		return targetSensorId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTargetSensorId(String newTargetSensorId) {
+		String oldTargetSensorId = targetSensorId;
+		targetSensorId = newTargetSensorId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ToozPackage.MONITORING_TARGET__TARGET_SENSOR_ID,
+					oldTargetSensorId, targetSensorId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ToozPackage.MONITORING_TARGET__TARGET_SENSOR_ID:
+			return getTargetSensorId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ToozPackage.MONITORING_TARGET__TARGET_SENSOR_ID:
+			setTargetSensorId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ToozPackage.MONITORING_TARGET__TARGET_SENSOR_ID:
+			setTargetSensorId(TARGET_SENSOR_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ToozPackage.MONITORING_TARGET__TARGET_SENSOR_ID:
+			return TARGET_SENSOR_ID_EDEFAULT == null ? targetSensorId != null
+					: !TARGET_SENSOR_ID_EDEFAULT.equals(targetSensorId);
+		}
+		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(" (targetSensorId: ");
+		result.append(targetSensorId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //MonitoringTargetImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozFactoryImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozFactoryImpl.java
new file mode 100644
index 0000000..7d98372
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozFactoryImpl.java
@@ -0,0 +1,107 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ToozFactoryImpl extends EFactoryImpl implements ToozFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ToozFactory init() {
+		try {
+			ToozFactory theToozFactory = (ToozFactory) EPackage.Registry.INSTANCE.getEFactory(ToozPackage.eNS_URI);
+			if (theToozFactory != null) {
+				return theToozFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ToozFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ToozFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case ToozPackage.MONITORING_TARGET:
+			return createMonitoringTarget();
+		case ToozPackage.DISTANT_ENTITY:
+			return createDistantEntity();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoringTarget createMonitoringTarget() {
+		MonitoringTargetImpl monitoringTarget = new MonitoringTargetImpl();
+		return monitoringTarget;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DistantEntity createDistantEntity() {
+		DistantEntityImpl distantEntity = new DistantEntityImpl();
+		return distantEntity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ToozPackage getToozPackage() {
+		return (ToozPackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ToozPackage getPackage() {
+		return ToozPackage.eINSTANCE;
+	}
+
+} //ToozFactoryImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozPackageImpl.java
new file mode 100644
index 0000000..5c825ff
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/impl/ToozPackageImpl.java
@@ -0,0 +1,328 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EGenericType;
+import org.eclipse.emf.ecore.EPackage;
+
+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 ToozPackageImpl extends EPackageImpl implements ToozPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass monitoringTargetEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass distantEntityEClass = 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.Tooz.ToozPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ToozPackageImpl() {
+		super(eNS_URI, ToozFactory.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 ToozPackage#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 ToozPackage init() {
+		if (isInited)
+			return (ToozPackage) EPackage.Registry.INSTANCE.getEPackage(ToozPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredToozPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		ToozPackageImpl theToozPackage = registeredToozPackage instanceof ToozPackageImpl
+				? (ToozPackageImpl) registeredToozPackage
+				: new ToozPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(IPos_DatamodelPackage.eNS_URI);
+		IPos_DatamodelPackageImpl theIPos_DatamodelPackage = (IPos_DatamodelPackageImpl) (registeredPackage instanceof IPos_DatamodelPackageImpl
+				? registeredPackage
+				: IPos_DatamodelPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(OFBizPackage.eNS_URI);
+		OFBizPackageImpl theOFBizPackage = (OFBizPackageImpl) (registeredPackage instanceof OFBizPackageImpl
+				? registeredPackage
+				: OFBizPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(IPosDevKitPackage.eNS_URI);
+		IPosDevKitPackageImpl theIPosDevKitPackage = (IPosDevKitPackageImpl) (registeredPackage instanceof IPosDevKitPackageImpl
+				? registeredPackage
+				: IPosDevKitPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theToozPackage.createPackageContents();
+		theIPos_DatamodelPackage.createPackageContents();
+		theOFBizPackage.createPackageContents();
+		theIPosDevKitPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theToozPackage.initializePackageContents();
+		theIPos_DatamodelPackage.initializePackageContents();
+		theOFBizPackage.initializePackageContents();
+		theIPosDevKitPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theToozPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ToozPackage.eNS_URI, theToozPackage);
+		return theToozPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMonitoringTarget() {
+		return monitoringTargetEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringTarget_TargetSensorId() {
+		return (EAttribute) monitoringTargetEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDistantEntity() {
+		return distantEntityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDistantEntity_LocalSensorId() {
+		return (EAttribute) distantEntityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDistantEntity_LocalAgentId() {
+		return (EAttribute) distantEntityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDistantEntity_DistantEntityId() {
+		return (EAttribute) distantEntityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDistantEntity_Distance() {
+		return (EAttribute) distantEntityEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDistantEntity_ProximityIndex() {
+		return (EAttribute) distantEntityEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDistantEntity_EntityData() {
+		return (EAttribute) distantEntityEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ToozFactory getToozFactory() {
+		return (ToozFactory) 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
+		monitoringTargetEClass = createEClass(MONITORING_TARGET);
+		createEAttribute(monitoringTargetEClass, MONITORING_TARGET__TARGET_SENSOR_ID);
+
+		distantEntityEClass = createEClass(DISTANT_ENTITY);
+		createEAttribute(distantEntityEClass, DISTANT_ENTITY__LOCAL_SENSOR_ID);
+		createEAttribute(distantEntityEClass, DISTANT_ENTITY__LOCAL_AGENT_ID);
+		createEAttribute(distantEntityEClass, DISTANT_ENTITY__DISTANT_ENTITY_ID);
+		createEAttribute(distantEntityEClass, DISTANT_ENTITY__DISTANCE);
+		createEAttribute(distantEntityEClass, DISTANT_ENTITY__PROXIMITY_INDEX);
+		createEAttribute(distantEntityEClass, DISTANT_ENTITY__ENTITY_DATA);
+	}
+
+	/**
+	 * <!-- 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
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(monitoringTargetEClass, MonitoringTarget.class, "MonitoringTarget", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMonitoringTarget_TargetSensorId(), ecorePackage.getEString(), "targetSensorId", null, 0, 1,
+				MonitoringTarget.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(distantEntityEClass, DistantEntity.class, "DistantEntity", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDistantEntity_LocalSensorId(), ecorePackage.getEString(), "localSensorId", null, 0, 1,
+				DistantEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDistantEntity_LocalAgentId(), ecorePackage.getEString(), "localAgentId", null, 0, 1,
+				DistantEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDistantEntity_DistantEntityId(), ecorePackage.getEString(), "distantEntityId", null, 0, 1,
+				DistantEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDistantEntity_Distance(), theXMLTypePackage.getDouble(), "distance", null, 0, 1,
+				DistantEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDistantEntity_ProximityIndex(), theXMLTypePackage.getInt(), "proximityIndex", null, 0, 1,
+				DistantEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		EGenericType g1 = createEGenericType(ecorePackage.getEMap());
+		EGenericType g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		g2 = createEGenericType(ecorePackage.getEString());
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getDistantEntity_EntityData(), g1, "entityData", null, 0, 1, DistantEntity.class, IS_TRANSIENT,
+				!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+	}
+
+} //ToozPackageImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozAdapterFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozAdapterFactory.java
new file mode 100644
index 0000000..7ae63c5
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozAdapterFactory.java
@@ -0,0 +1,138 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.*;
+
+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.Tooz.ToozPackage
+ * @generated
+ */
+public class ToozAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ToozPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ToozAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ToozPackage.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 ToozSwitch<Adapter> modelSwitch = new ToozSwitch<Adapter>() {
+		@Override
+		public Adapter caseMonitoringTarget(MonitoringTarget object) {
+			return createMonitoringTargetAdapter();
+		}
+
+		@Override
+		public Adapter caseDistantEntity(DistantEntity object) {
+			return createDistantEntityAdapter();
+		}
+
+		@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.Tooz.MonitoringTarget <em>Monitoring Target</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.Tooz.MonitoringTarget
+	 * @generated
+	 */
+	public Adapter createMonitoringTargetAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity <em>Distant 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.Tooz.DistantEntity
+	 * @generated
+	 */
+	public Adapter createDistantEntityAdapter() {
+		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;
+	}
+
+} //ToozAdapterFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozSwitch.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozSwitch.java
new file mode 100644
index 0000000..be97d77
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/Tooz/util/ToozSwitch.java
@@ -0,0 +1,134 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.Tooz.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.*;
+
+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.Tooz.ToozPackage
+ * @generated
+ */
+public class ToozSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ToozPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ToozSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ToozPackage.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 ToozPackage.MONITORING_TARGET: {
+			MonitoringTarget monitoringTarget = (MonitoringTarget) theEObject;
+			T result = caseMonitoringTarget(monitoringTarget);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case ToozPackage.DISTANT_ENTITY: {
+			DistantEntity distantEntity = (DistantEntity) theEObject;
+			T result = caseDistantEntity(distantEntity);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Monitoring Target</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 Target</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMonitoringTarget(MonitoringTarget object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Distant 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>Distant Entity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDistantEntity(DistantEntity 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;
+	}
+
+} //ToozSwitch
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
index 5bbbef6..8f36dac 100644
--- 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
@@ -42,6 +42,8 @@ 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.Space;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.impl.ToozPackageImpl;
 import ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask;
 import ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point;
 import ipos.project.DataModellntegration.iPos_Datamodel.WorldModel;
@@ -440,16 +442,22 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		IPosDevKitPackageImpl theIPosDevKitPackage = (IPosDevKitPackageImpl) (registeredPackage instanceof IPosDevKitPackageImpl
 				? registeredPackage
 				: IPosDevKitPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ToozPackage.eNS_URI);
+		ToozPackageImpl theToozPackage = (ToozPackageImpl) (registeredPackage instanceof ToozPackageImpl
+				? registeredPackage
+				: ToozPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theIPos_DatamodelPackage.createPackageContents();
 		theOFBizPackage.createPackageContents();
 		theIPosDevKitPackage.createPackageContents();
+		theToozPackage.createPackageContents();
 
 		// Initialize created meta-data
 		theIPos_DatamodelPackage.initializePackageContents();
 		theOFBizPackage.initializePackageContents();
 		theIPosDevKitPackage.initializePackageContents();
+		theToozPackage.initializePackageContents();
 
 		// Mark meta-data to indicate it can't be changed
 		theIPos_DatamodelPackage.freeze();
@@ -1868,12 +1876,14 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		OFBizPackage theOFBizPackage = (OFBizPackage) EPackage.Registry.INSTANCE.getEPackage(OFBizPackage.eNS_URI);
 		IPosDevKitPackage theIPosDevKitPackage = (IPosDevKitPackage) EPackage.Registry.INSTANCE
 				.getEPackage(IPosDevKitPackage.eNS_URI);
+		ToozPackage theToozPackage = (ToozPackage) EPackage.Registry.INSTANCE.getEPackage(ToozPackage.eNS_URI);
 		XMLTypePackage theXMLTypePackage = (XMLTypePackage) EPackage.Registry.INSTANCE
 				.getEPackage(XMLTypePackage.eNS_URI);
 
 		// Add subpackages
 		getESubpackages().add(theOFBizPackage);
 		getESubpackages().add(theIPosDevKitPackage);
+		getESubpackages().add(theToozPackage);
 
 		// Create type parameters
 
diff --git a/src/main/java/ipos/project/MainApp.java b/src/main/java/ipos/project/MainApp.java
index e8a4f91..3c2b5dc 100644
--- a/src/main/java/ipos/project/MainApp.java
+++ b/src/main/java/ipos/project/MainApp.java
@@ -3,6 +3,7 @@ package ipos.project;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.SimpleSceneIntegration;
 import ipos.project.SensorValueIntegration.GenericSensorValueProcessor;
 import ipos.project.iposextension.orderpicker.OFBizOrderPicker;
+import ipos.project.iposextension.tooz.Tooz;
 import org.apache.logging.log4j.LogManager;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -27,10 +28,12 @@ public class MainApp {
     public static final String TESTDATA_OP_EVTS = "testdata_raw_orderpicker_posEvts.txt";
     public static final String TESTDATA_SDF = "testdata_raw_sdf.txt";
     public static final String TESTDATA_TOOZ = "testdata_raw_tooz.txt";
+    public static final String TESTDATA_TOOZ_MONTARGET = "testdata_raw_tooz_init.txt";
     public static final String COMMAND_INDFRO = "indfro testdata"; // Industrierobotik_Frontend
     public static final String COMMAND_OP = "oppl testdata";
     public static final String COMMAND_OP_EVTS = "opevts testdata";
     public static final String COMMAND_SDF = "sdf testdata";
+    public static final String COMMAND_TOOZ_TARGET = "tooz setMonitoringTarget";
     public static final String COMMAND_TOOZ = "tooz testdata";
     public static final String COMMAND_EXIT = "exit";
     public static final String COMMAND_HELP = "help";
@@ -60,6 +63,7 @@ public class MainApp {
                     case COMMAND_EXIT : proceed = false; break;
                     case COMMAND_HELP: printCommands(); break;
                     case COMMAND_INDFRO: GenericSensorValueProcessor.processTestData(TESTDATA_INDFRO); break;
+                    case COMMAND_TOOZ_TARGET: Tooz.processMonTargetTestdata(TESTDATA_TOOZ_MONTARGET); break;
                     case COMMAND_TOOZ: GenericSensorValueProcessor.processTestData(TESTDATA_TOOZ); break;
                     case COMMAND_SDF: GenericSensorValueProcessor.processTestData(TESTDATA_SDF); break;
                     case COMMAND_OP : OFBizOrderPicker.processPicklistTestData(TESTDATA_OP); break;
diff --git a/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java b/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
index 43ad387..6fe03b3 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
@@ -5,6 +5,7 @@ import ipos.models.GenericSensor;
 import ipos.models.SimpleScene;
 import ipos.models.SimpleScene.IposPosition;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.service.SimpleSceneTransformer;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
 import ipos.project.DataModellntegration.iPos_Datamodel.UWB;
 import ipos.project.SensorValueIntegration.Service.GenericSensorTransformer;
 import ipos.project.UseCaseController.PositionMonitoring;
@@ -55,16 +56,19 @@ public class GenericSensorValueProcessor {
         }
     }
 
-    public static void receiveMessage(UWB beaconRawdataEvent, String monitoringTaskId, String serializationType) {
-        GenericSensor.UWBRawDataEvent rawdataEvent_proto = GenericSensorTransformer.uwb_internal2GSensor(beaconRawdataEvent);
-        MqttMessage uwbRawDataEvent_mqttMessage = mqttService.createMqttMsg(rawdataEvent_proto, 0, false);
-        String uwbRawDataEvent_jsonString = ProtoJsonMap.toJson(rawdataEvent_proto);
-        LOG.info("OP: Publishing UWBRawDataEvent on topic " + monitoringTaskId + " with serialization type " + serializationType + ": " + uwbRawDataEvent_jsonString);
-        LOG.info("OP: ");
-        publishRespectingSerializationType(monitoringTaskId, serializationType, uwbRawDataEvent_jsonString, uwbRawDataEvent_mqttMessage);
+    public static void receiveMessage(UWB beaconRawdataEvent, String monitoringTaskId, String serializationType, String agentId, String agentType) {
+        IPosUWBEvent iPosUWBEvent_internal = GenericSensorTransformer.uwb_internal2IPosRawdata(beaconRawdataEvent, agentId, agentType);
+        GenericSensor.IPosUWBEvent iPosUWBEvent_proto = GenericSensorTransformer.uwb_IPosRawdata2proto(iPosUWBEvent_internal);
+        logging_tooz(iPosUWBEvent_proto, monitoringTaskId, serializationType);
+        OtherUtility.publishRespectingSerializationType(monitoringTaskId, serializationType, iPosUWBEvent_proto);
     }
 
-    private static void publishRespectingSerializationType(String topic, String serializationType, String jsonString, MqttMessage mqttMessage) {
+    private static void logging_tooz(GenericSensor.IPosUWBEvent event_proto, String monitoringTaskId, String serializationType) {
+        LOG.info("TOOZ: Publishing " + event_proto.getClass().getName() + " on topic " + monitoringTaskId + " with serialization type " + serializationType);
+        LOG.info("TOOZ: ");
+    }
+    /*
+    public static void publishRespectingSerializationType(String topic, String serializationType, String jsonString, MqttMessage mqttMessage) {
         // publishes protobuf over MQTT
         if (PositionMonitoring.PROTOBUF_SERIALIZATION_TYPE.equals(serializationType)){
             mqttService.publish(topic, mqttMessage);
@@ -76,6 +80,6 @@ public class GenericSensorValueProcessor {
             mqttService.publish(topic, jsonString, 0, false);
             LOG.info("publishing JSON mqttMessage:" + jsonString + " on topic: " + topic);
         }
-    }
+    }*/
 
 }
diff --git a/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java b/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
index fde844d..5a36e1c 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
@@ -4,10 +4,11 @@ import com.google.protobuf.ProtocolStringList;
 import ipos.models.GenericSensor;
 import ipos.models.SimpleScene;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
 import ipos.project.Functionality.DataServices;
 import ipos.project.devkit.trans.IPos2protoTransformer;
-import org.apache.logging.log4j.LogManager;
-import org.eclipse.emf.ecore.EObject;
+
 
 import java.time.LocalDateTime;
 import java.util.*;
@@ -15,6 +16,7 @@ import java.util.*;
 public class GenericSensorTransformer {
 
     private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
+    private static IPosDevKitFactory devKitFactory = IPosDevKitFactory.eINSTANCE;
 
    private static List<String> toJavaStringList(ProtocolStringList protoList){
         List<String> javaList = new ArrayList<String>();
@@ -123,13 +125,15 @@ public class GenericSensorTransformer {
 
    }
 
-    public static GenericSensor.UWBRawDataEvent uwb_internal2GSensor(UWB beaconRawdataEvent) {
-        GenericSensor.UWBRawDataEvent.Builder protoUWBRawDataEvent = GenericSensor.UWBRawDataEvent.newBuilder();
-        protoUWBRawDataEvent.setTimestamp(beaconRawdataEvent.getTimeStamp());
-        protoUWBRawDataEvent.setSensorId(beaconRawdataEvent.getSensorId());
-        protoUWBRawDataEvent.putAllDistances(beaconDistances_internal2GSensor(beaconRawdataEvent.getDistances()));
-        protoUWBRawDataEvent.setType(beaconRawdataEvent.getType());
-        return protoUWBRawDataEvent.build();
+    public static IPosUWBEvent uwb_internal2IPosRawdata(UWB beaconRawdataEvent, String agentId, String agentType) {
+       IPosUWBEvent iPosUWBEvent = devKitFactory.createIPosUWBEvent();
+       iPosUWBEvent.setAgentId(agentId);
+       iPosUWBEvent.setSensorId(beaconRawdataEvent.getSensorId());
+       iPosUWBEvent.setAgentType(agentType);
+       iPosUWBEvent.setSensorType(beaconRawdataEvent.getType());
+       iPosUWBEvent.setTimeStamp(beaconRawdataEvent.getTimeStamp());
+       iPosUWBEvent.setDistances(beaconRawdataEvent.getDistances());
+       return iPosUWBEvent;
    }
 
     private static Map<String, String> beaconDistances_internal2GSensor(Map<String, Double> distances) {
@@ -139,6 +143,17 @@ public class GenericSensorTransformer {
         }
         return distancesGSensor;
     }
+
+    public static GenericSensor.IPosUWBEvent uwb_IPosRawdata2proto(IPosUWBEvent iPosUWBEvent_internal) {
+        GenericSensor.IPosUWBEvent.Builder protoIPosUWBEvent = GenericSensor.IPosUWBEvent.newBuilder();
+        protoIPosUWBEvent.setAgentId(iPosUWBEvent_internal.getAgentId());
+        protoIPosUWBEvent.setSensorId(iPosUWBEvent_internal.getSensorId());
+        protoIPosUWBEvent.setAgentType(iPosUWBEvent_internal.getAgentType());
+        protoIPosUWBEvent.setSensorType(iPosUWBEvent_internal.getSensorType());
+        protoIPosUWBEvent.setTimeStamp(iPosUWBEvent_internal.getTimeStamp());
+        protoIPosUWBEvent.putAllDistances(beaconDistances_internal2GSensor(iPosUWBEvent_internal.getDistances()));
+        return protoIPosUWBEvent.build();
+   }
 }
 
 
diff --git a/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java b/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
index cc63b56..1d3cbbe 100644
--- a/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
+++ b/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
@@ -94,7 +94,15 @@ public class PositionMonitoring {
                 continue;
             }
             eventFilter eFilter = getEventFilterByIdOrNull(beaconFilteringResult.getMonitoringTaskId());
-            GenericSensorValueProcessor.receiveMessage((UWB) beaconFilteringResult.getBeaconRawdataEvent(), beaconFilteringResult.getMonitoringTaskId(), eFilter.getSerializationType());
+
+            LocalizableObject lObject = PositionMonitoring.getLObjectByIdOrNull(beaconFilteringResult.getBeaconRawdataEvent().getSensorId());
+            if (null == lObject || null == lObject.getAgent()) {
+                LOG.error("Internal UWB-Rawdata could not be transformed into IPosUWBEvent " +
+                        "No LocalizableObject with the provided sensor-id could be found, or no agent " +
+                        "is associated to the LocalizableObject that has been found.");
+                return;
+            }
+            GenericSensorValueProcessor.receiveMessage((UWB) beaconFilteringResult.getBeaconRawdataEvent(), beaconFilteringResult.getMonitoringTaskId(), eFilter.getSerializationType(), lObject.getAgent().getId(), lObject.getAgent().getAgentType());
         }
     }
 
diff --git a/src/main/java/ipos/project/devkit/iposext/IPosExtension.java b/src/main/java/ipos/project/devkit/iposext/IPosExtension.java
index 51d9940..ee5c496 100644
--- a/src/main/java/ipos/project/devkit/iposext/IPosExtension.java
+++ b/src/main/java/ipos/project/devkit/iposext/IPosExtension.java
@@ -2,10 +2,10 @@ package ipos.project.devkit.iposext;
 
 import ipos.models.SimpleScene;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent;
 import ipos.project.UseCaseController.PositionMonitoring;
 import ipos.project.devkit.utility.ExternalPubServiceImpl;
 import ipos.project.devkit.utility.ProtoJsonMap;
-import ipos.project.iposextension.orderpicker.OFBizOrderPicker;
 
 abstract public class IPosExtension {
 
@@ -31,6 +31,8 @@ abstract public class IPosExtension {
     public abstract void handlePositionEvent(IposPositionEvent posEvent);
     public abstract void handlePositionEvent(IposPositionEvent posEvent, IPosArguments.HandlePosEventConf posEventConf);
 
+    public abstract void handleRawdataEvent(IPosRawdataEvent iPosRawdataEvent);
+
     public abstract SimpleScene.IposConfigWrapper prepareConfigWrapper(IPosArguments.IPosConfigData iposConfigData);
 
     /*
diff --git a/src/main/java/ipos/project/devkit/utility/OtherUtility.java b/src/main/java/ipos/project/devkit/utility/OtherUtility.java
index d37521f..02a40fc 100644
--- a/src/main/java/ipos/project/devkit/utility/OtherUtility.java
+++ b/src/main/java/ipos/project/devkit/utility/OtherUtility.java
@@ -1,7 +1,12 @@
 package ipos.project.devkit.utility;
 
+import com.google.protobuf.AbstractMessageLite;
+import com.google.protobuf.MessageOrBuilder;
+import ipos.project.DataModellntegration.SimpleSceneIntegration.SimpleSceneIntegration;
 import ipos.project.SensorValueIntegration.GenericSensorValueProcessor;
+import ipos.project.UseCaseController.PositionMonitoring;
 import org.apache.logging.log4j.LogManager;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -25,4 +30,22 @@ public class OtherUtility {
         }
         return lines;
     }
+
+    public static void publishRespectingSerializationType(String topic, String serializationType, AbstractMessageLite protoMsg){
+        MqttMessage mqttMessage = SimpleSceneIntegration.mqttService.createMqttMsg(protoMsg, 0, false);
+        String jsonString = ProtoJsonMap.toJson((MessageOrBuilder) protoMsg);
+
+        // publishes protobuf over MQTT
+        if (PositionMonitoring.PROTOBUF_SERIALIZATION_TYPE.equals(serializationType)){
+            SimpleSceneIntegration.mqttService.publish(topic, mqttMessage);
+            LOG.info("publishing protobuf mqttMessage of type " + protoMsg.getClass().getName() + ". JSON-representation:" + jsonString + " on topic: " + topic);
+        }
+
+        // publishes JSON over MQTT
+        if (PositionMonitoring.JSON_SERIALIZATION_TYPE.equals(serializationType)){
+            String fakeTopic = "ipos/client/position";
+            SimpleSceneIntegration.mqttService.publish(topic, jsonString, 0, false);
+            LOG.info("publishing JSON mqttMessage of type " + protoMsg.getClass().getName() + ":" + jsonString + " on topic: " + topic);
+        }
+    }
 }
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerExt.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerExt.java
index 8e277b2..415bdb2 100644
--- a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerExt.java
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerExt.java
@@ -2,6 +2,7 @@ package ipos.project.iposextension.orderpicker;
 
 import com.google.protobuf.InvalidProtocolBufferException;
 import ipos.models.SimpleScene;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
 import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist;
 import ipos.project.DataModellntegration.iPos_Datamodel.Point3D;
@@ -73,6 +74,9 @@ public class OFBizOrderPickerExt extends IPosExtension {
         }
     }
 
+    @Override
+    public void handleRawdataEvent(IPosRawdataEvent iPosRawdataEvent) {}
+
     private String logPoint(Point3D point) {
         return "(x: " + point.getX() + ", y: " + point.getY() + ", z: " + point.getZ() + ")";
     }
diff --git a/src/main/java/ipos/project/iposextension/tooz/Tooz.java b/src/main/java/ipos/project/iposextension/tooz/Tooz.java
new file mode 100644
index 0000000..3925d1f
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/tooz/Tooz.java
@@ -0,0 +1,47 @@
+package ipos.project.iposextension.tooz;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget;
+import ipos.project.devkit.iposext.IPosArguments;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.OtherUtility;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.File;
+import java.util.LinkedList;
+
+@Component
+public class Tooz {
+
+    public static final String TOPIC_TOOZEXT_OUTPUT = "SmartGlassesBackend";
+    public static final String SERIALIZATIONTYPE_TOOZEXT_OUTPUT = "json";
+
+    @Autowired
+    public Tooz(ExternalPubServiceImpl mqttService){
+        toozExt.setMqttService(mqttService);
+        ToozIPosRawdataMqtt.setMqttService(mqttService);
+        ToozExtInputMqtt.setMqttService(mqttService);
+        ToozExtOutputMqtt.setMqttService(mqttService);
+    }
+
+    static private ToozExt toozExt = new ToozExt();
+
+    public static void handleIPosUWBEvent(IPosUWBEvent iPosUWBEvent_internal) {
+        toozExt.handleRawdataEvent(iPosUWBEvent_internal);
+    }
+
+    public static void processMonTargetTestdata(String path_to_monTarget_file) {
+        File monTargetFile = new File(path_to_monTarget_file);
+        for (String line : OtherUtility.readLines(monTargetFile)) {
+            ToozExtInputMqtt.handleToozExtInput(line);
+        }
+    }
+
+    public static void handleMonitoringTarget(MonitoringTarget monitoringTarget_internal) {
+        LinkedList<MonitoringTarget> monitoringTargets = new LinkedList<>();
+        monitoringTargets.add(monitoringTarget_internal);
+        IPosArguments.IPosConfigData toozConf = new ToozArgs.ToozConf(monitoringTargets);
+        toozExt.configureIpos(toozConf);
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/tooz/ToozArgs.java b/src/main/java/ipos/project/iposextension/tooz/ToozArgs.java
new file mode 100644
index 0000000..6a26278
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/tooz/ToozArgs.java
@@ -0,0 +1,24 @@
+package ipos.project.iposextension.tooz;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget;
+import ipos.project.devkit.iposext.IPosArguments;
+
+import javax.management.monitor.Monitor;
+import java.util.List;
+
+public class ToozArgs {
+
+    public static class ToozConf implements IPosArguments.IPosConfigData {
+
+        List<MonitoringTarget> monitoringTargets;
+        public List<MonitoringTarget> getMonitoringTargets() {
+            return monitoringTargets;
+        }
+
+        public ToozConf(List<MonitoringTarget> monitoringTargets) {
+            this.monitoringTargets = monitoringTargets;
+        }
+
+    }
+
+}
diff --git a/src/main/java/ipos/project/iposextension/tooz/ToozExt.java b/src/main/java/ipos/project/iposextension/tooz/ToozExt.java
new file mode 100644
index 0000000..7611695
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/tooz/ToozExt.java
@@ -0,0 +1,50 @@
+package ipos.project.iposextension.tooz;
+
+import ipos.models.SimpleScene;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosRawdataEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity;
+import ipos.project.devkit.iposext.IPosArguments;
+import ipos.project.devkit.iposext.IPosExtension;
+
+import static ipos.project.iposextension.tooz.Tooz.TOPIC_TOOZEXT_OUTPUT;
+
+public class ToozExt extends IPosExtension {
+    public static final String TOPIC_TOOZ_EXT = "TOOZ_TEST_MONITORING";
+    public static final String TOPIC_TOOZ_ENVIRONMENT = "TOOZ_ENVIRONMENT";
+    public static final String TOPIC_TOOZ_EXT_OUTPUT = "TOOZ_EXT_OUTPUT";
+
+    @Override
+    public void handlePositionEvent(IposPositionEvent posEvent) {}
+
+    @Override
+    public void handlePositionEvent(IposPositionEvent posEvent, IPosArguments.HandlePosEventConf posEventConf) {}
+
+    @Override
+    public void handleRawdataEvent(IPosRawdataEvent iPosRawdataEvent) {
+        if (iPosRawdataEvent instanceof IPosUWBEvent){
+            IPosUWBEvent iPosUWBEvent = (IPosUWBEvent) iPosRawdataEvent;
+            handleIPosUWBEvent(iPosUWBEvent);
+        }
+    }
+
+    @Override
+    public SimpleScene.IposConfigWrapper prepareConfigWrapper(IPosArguments.IPosConfigData iposConfigData) {
+        // ToozArgs.ToozConf toozConf = (ToozArgs.ToozConf) iposConfigData;
+        // toozConf.getMonitoringTargets();
+
+
+        // return ProtoJsonMap.fromJson(OFBizOrderPicker.OP_MONITORINGREQUEST, SimpleScene.IposConfigWrapper.class);
+        //     public static final String OP_MONITORINGREQUEST = "{\"monitoringRequests\": [{\"frameIds\": [\"box_1\", \"box_2\", \"box_3\", \"shipmentBin_1\", \"shipmentBin_2\"], \"monitoringTaskId\": \"" + OFBizOrderPicker.TOPIC_POSITION_EVENT + "\", \"serializationType\": \"json\"}]}";
+        return null;
+    }
+
+    protected static void handleIPosUWBEvent(IPosUWBEvent iPosUWBEvent) {
+        // jetzt die Distanzen richtig sortieren, also UWBEvent in eine map<String, double> (string: beacon-id, double: distance) eintragen und valueSet sortieren und alle beacon-ids mit dem kleinsten rausholen. Alternative: Map sortieren und
+        // siehe https://www.baeldung.com/java-sorting
+
+        // DistantEntity distantEntity_internal = createDistantEntity(iPosUWBEvent);
+        //ToozExtOutputMqtt.transmitDistantEntity(distantEntity_internal, Tooz.TOPIC_TOOZEXT_OUTPUT, Tooz.SERIALIZATIONTYPE_TOOZEXT_OUTPUT);
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/tooz/ToozExtInputMqtt.java b/src/main/java/ipos/project/iposextension/tooz/ToozExtInputMqtt.java
new file mode 100644
index 0000000..8e50252
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/tooz/ToozExtInputMqtt.java
@@ -0,0 +1,45 @@
+package ipos.project.iposextension.tooz;
+
+import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.GenericSensor;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget;
+import ipos.project.config.mqtt.Handler;
+import ipos.project.config.mqtt.MqttListener;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.OtherUtility;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import org.apache.logging.log4j.LogManager;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
+
+@MqttListener(ToozExt.TOPIC_TOOZ_ENVIRONMENT)
+public class ToozExtInputMqtt implements Handler {
+
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    private static ExternalPubServiceImpl mqttService;
+    public static void setMqttService(ExternalPubServiceImpl mqttService) {
+        ToozExtInputMqtt.mqttService = mqttService;
+    }
+
+  @Override
+    public void handle(MqttMessage message) {
+        handleToozExtInput(message.toString());
+    }
+
+    public static void handleToozExtInput(String jsonMsg) {
+        ipos.models.Tooz.IPosToozExtInputWrapper toozInputWrapper = null;
+        try {
+            toozInputWrapper = ProtoJsonMap.fromJson(jsonMsg, ipos.models.Tooz.IPosToozExtInputWrapper.class);
+        } catch (InvalidProtocolBufferException e) {
+            e.printStackTrace();
+        }
+        toozInputWrapper.getMonitoringTargetsList().forEach(monitoringTarget -> handleMonitoringTarget(monitoringTarget));
+    }
+
+    private static void handleMonitoringTarget(ipos.models.Tooz.MonitoringTarget monitoringTarget_proto) {
+        MonitoringTarget monitoringTarget_internal = ToozTrans.monTarget_proto2internal(monitoringTarget_proto);
+        Tooz.handleMonitoringTarget(monitoringTarget_internal);
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/tooz/ToozExtOutputMqtt.java b/src/main/java/ipos/project/iposextension/tooz/ToozExtOutputMqtt.java
new file mode 100644
index 0000000..d5fdd9f
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/tooz/ToozExtOutputMqtt.java
@@ -0,0 +1,40 @@
+package ipos.project.iposextension.tooz;
+
+import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.GenericSensor;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget;
+import ipos.project.config.mqtt.Handler;
+import ipos.project.config.mqtt.MqttListener;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.OtherUtility;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import org.apache.logging.log4j.LogManager;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
+
+@MqttListener(ToozExt.TOPIC_TOOZ_EXT_OUTPUT)
+public class ToozExtOutputMqtt implements Handler {
+
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    private static ExternalPubServiceImpl mqttService;
+    public static void setMqttService(ExternalPubServiceImpl mqttService) {
+        ToozExtOutputMqtt.mqttService = mqttService;
+    }
+
+   @Override
+    public void handle(MqttMessage message) {}
+
+    public static void transmitDistantEntity(DistantEntity distantEntity_internal, String topic, String serializationType){
+        ipos.models.Tooz.DistantEntity distantEntity_proto = ToozTrans.distantEntity_internal2proto(distantEntity_internal);
+        logging_tooz(topic, serializationType, distantEntity_proto);
+        OtherUtility.publishRespectingSerializationType(topic, serializationType, distantEntity_proto);
+    }
+
+    private static void logging_tooz(String topic, String serializationType, ipos.models.Tooz.DistantEntity distantEntity_proto) {
+        LOG.info("TOOZ: Publishing " + distantEntity_proto.getClass().getName() + " on topic " + topic + " with serialization type " + serializationType);
+        LOG.info("TOOZ: ");
+    }
+
+}
diff --git a/src/main/java/ipos/project/iposextension/tooz/ToozIPosRawdataMqtt.java b/src/main/java/ipos/project/iposextension/tooz/ToozIPosRawdataMqtt.java
new file mode 100644
index 0000000..d05ddea
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/tooz/ToozIPosRawdataMqtt.java
@@ -0,0 +1,48 @@
+package ipos.project.iposextension.tooz;
+
+import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.GenericSensor;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+import ipos.project.config.mqtt.Handler;
+import ipos.project.config.mqtt.MqttListener;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import org.apache.logging.log4j.LogManager;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
+
+@MqttListener(ToozExt.TOPIC_TOOZ_EXT)
+public class ToozIPosRawdataMqtt implements Handler {
+
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    private static ExternalPubServiceImpl mqttService;
+    public static void setMqttService(ExternalPubServiceImpl mqttService) {
+        ToozIPosRawdataMqtt.mqttService = mqttService;
+    }
+
+    // für den generierten code ggf. noch eine höhere Wrapper-Ebene vorsehen: IPosInputWrapper (enthält sowohl PositionWrapper, als auch RawdataWrapper)
+    // für den generierten code auch vorsehen: eigene XMqtt-Klasse für jeden Wrapper generieren der empfangen werden können soll.
+    // Also eine Klasse für den IPosInputWrapper und eine andere Klasse für den IPosToozExtInputWrapper. Für die Wrapper-Abbildung in EMF ggf. mit Packages arbeiten
+    // Es gibt Wrapper die nur ausgehende Nachrichten beinhalten (z.B. bei der tooz-Anwendung: ToozExtOutputWrapper), man muss beim Generieren festlegen können ob
+    // die Wrapper-Nachrichten überhaupt empfangen werden sollen
+    @Override
+    public void handle(MqttMessage message) {
+        handleIPosRawdataWrapper(message.toString());
+    }
+
+    // generierter code: grundsätzlich für jede mögliche Nachricht etwas generieren, nicht nur für IPosUWBEvent
+    private void handleIPosRawdataWrapper(String jsonMsg) {
+        try {
+            GenericSensor.IPosRawdataEventWrapper iPosRawdataEventWrapper = ProtoJsonMap.fromJson(jsonMsg, GenericSensor.IPosRawdataEventWrapper.class);
+            iPosRawdataEventWrapper.getIPosUWBEventList().stream().forEach(iPosUWBEvent -> this.handleIPosUWBEvent(iPosUWBEvent));
+        } catch (InvalidProtocolBufferException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void handleIPosUWBEvent(GenericSensor.IPosUWBEvent iPosUWBEvent_proto) {
+        IPosUWBEvent iPosUWBEvent_internal = ToozTrans.uwb_proto2IPosRawdata(iPosUWBEvent_proto);
+        Tooz.handleIPosUWBEvent(iPosUWBEvent_internal);
+    }
+
+}
diff --git a/src/main/java/ipos/project/iposextension/tooz/ToozTrans.java b/src/main/java/ipos/project/iposextension/tooz/ToozTrans.java
new file mode 100644
index 0000000..13d2c11
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/tooz/ToozTrans.java
@@ -0,0 +1,54 @@
+package ipos.project.iposextension.tooz;
+
+import ipos.models.GenericSensor;
+import ipos.models.Tooz;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosUWBEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.DistantEntity;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.MonitoringTarget;
+import ipos.project.DataModellntegration.iPos_Datamodel.Tooz.ToozFactory;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class ToozTrans {
+    private static IPosDevKitFactory devKitFactory = IPosDevKitFactory.eINSTANCE;
+    private static ToozFactory toozFactory = ToozFactory.eINSTANCE;
+
+
+    public static IPosUWBEvent uwb_proto2IPosRawdata(GenericSensor.IPosUWBEvent iPosUWBEvent_proto) {
+        IPosUWBEvent iPosUWBEvent_internal = devKitFactory.createIPosUWBEvent();
+        iPosUWBEvent_internal.setAgentId(iPosUWBEvent_proto.getAgentId());
+        iPosUWBEvent_internal.setSensorId(iPosUWBEvent_proto.getSensorId());
+        iPosUWBEvent_internal.setAgentType(iPosUWBEvent_proto.getAgentType());
+        iPosUWBEvent_internal.setSensorType(iPosUWBEvent_proto.getSensorType());
+        iPosUWBEvent_internal.setTimeStamp(iPosUWBEvent_proto.getTimeStamp());
+        iPosUWBEvent_internal.setDistances(beaconDistances_String2Double(iPosUWBEvent_proto.getDistancesMap()));
+        return iPosUWBEvent_internal;
+    }
+
+    private static Map<String, Double> beaconDistances_String2Double(Map<String, String> distances) {
+        HashMap<String, Double> distancesDouble = new HashMap<>();
+        for (Map.Entry<String, String> distanceEntry : distances.entrySet()){
+            distancesDouble.put(distanceEntry.getKey(), Double.valueOf(distanceEntry.getValue()));
+        }
+        return distancesDouble;
+    }
+
+    public static MonitoringTarget monTarget_proto2internal(Tooz.MonitoringTarget monitoringTarget_proto) {
+        MonitoringTarget monitoringTarget_internal = toozFactory.createMonitoringTarget();
+        monitoringTarget_internal.setTargetSensorId(monitoringTarget_proto.getTargetSensorId());
+        return monitoringTarget_internal;
+    }
+
+    public static Tooz.DistantEntity distantEntity_internal2proto(DistantEntity distantEntity_internal) {
+        Tooz.DistantEntity.Builder distantEntity_proto = Tooz.DistantEntity.newBuilder();
+        distantEntity_proto.setLocalSensorId(distantEntity_internal.getLocalSensorId());
+        distantEntity_proto.setLocalAgentId(distantEntity_internal.getLocalAgentId());
+        distantEntity_proto.setDistantEntityId(distantEntity_internal.getDistantEntityId());
+        distantEntity_proto.setDistance(distantEntity_internal.getDistance());
+        distantEntity_proto.setProximityIndex(distantEntity_internal.getProximityIndex());
+        distantEntity_proto.putAllEntityData(distantEntity_internal.getEntityData());
+        return distantEntity_proto.build();
+    }
+}
diff --git a/testdata_raw_tooz_init.txt b/testdata_raw_tooz_init.txt
new file mode 100644
index 0000000..9481385
--- /dev/null
+++ b/testdata_raw_tooz_init.txt
@@ -0,0 +1 @@
+{"monitoringTarget" : [{"targetSensorId" : "tooz_employee_uwb" }]}
\ No newline at end of file
-- 
GitLab