From e81a2977d2723bd47fed0a5569f0f5534aad5035 Mon Sep 17 00:00:00 2001
From: Frank Rohde <frank.rohde@tu-dresden.de>
Date: Fri, 8 Oct 2021 17:17:47 +0200
Subject: [PATCH] =?UTF-8?q?-=20NFC-Funktionalit=C3=A4t=20=20=20=20-=20Einl?=
 =?UTF-8?q?esen=20=C3=BCber=20GenericSensorValueProcessor=20=20=20=20-=20P?=
 =?UTF-8?q?ositionsberechnung=20=C3=BCber=20PositionCalculation=20=20=20?=
 =?UTF-8?q?=20-=20Test=20mit=20testdata=5Fraw.txt=20(siehe=20auch:=20MainA?=
 =?UTF-8?q?pp.java)=20-=20=C3=84nderungen=20Datenmodell?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 emf_datamodel/model/iPos_Datamodel.aird       | 280 +++++++++---------
 emf_datamodel/model/iPos_Datamodel.ecore      |  37 +--
 emf_datamodel/model/iPos_Datamodel.genmodel   |  18 +-
 init_Industrierobotik.txt                     |   6 +-
 .../SimpleSceneIntegration.java               |  10 +-
 .../service/SimpleSceneTransformer.java       |   2 +-
 .../project/Functionality/DataServices.java   |  15 +-
 .../Functionality/PositionCalculation.java    |  44 +++
 src/main/java/ipos/project/MainApp.java       |   3 +
 .../GenericSensorValueProcessor.java          |  40 +++
 .../Service/GenericSensorTransformer.java     |  22 ++
 .../api/MqttPositionHandler.java              |  45 ++-
 .../UseCaseController/PositionMonitoring.java |  20 +-
 testdata_raw.txt                              |   1 +
 14 files changed, 356 insertions(+), 187 deletions(-)
 create mode 100644 src/main/java/ipos/project/Functionality/PositionCalculation.java
 create mode 100644 testdata_raw.txt

diff --git a/emf_datamodel/model/iPos_Datamodel.aird b/emf_datamodel/model/iPos_Datamodel.aird
index daf35f0..8c12d9b 100644
--- a/emf_datamodel/model/iPos_Datamodel.aird
+++ b/emf_datamodel/model/iPos_Datamodel.aird
@@ -5,7 +5,7 @@
     <semanticResources>iPos_Datamodel.genmodel</semanticResources>
     <ownedViews xmi:type="viewpoint:DView" uid="_EpwecAQNEey-kNQ7esRa_g">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
-      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_Et4wgAQNEey-kNQ7esRa_g" name="iPos_Datamodel" repPath="#_Es-xkAQNEey-kNQ7esRa_g" changeId="5e294dee-965d-4b3c-986d-efa88a70016f">
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_Et4wgAQNEey-kNQ7esRa_g" name="iPos_Datamodel" repPath="#_Es-xkAQNEey-kNQ7esRa_g" changeId="5b2f622f-9f0c-4135-98e3-711f7012d86c">
         <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#/"/>
       </ownedRepresentationDescriptors>
@@ -275,9 +275,9 @@
         <children xmi:type="notation:Node" xmi:id="__k3HcAWcEey-kNQ7esRa_g" type="2003" element="__kvLoAWcEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="__k3HcwWcEey-kNQ7esRa_g" type="5007"/>
           <children xmi:type="notation:Node" xmi:id="__k3ugAWcEey-kNQ7esRa_g" type="7004">
-            <children xmi:type="notation:Node" xmi:id="_9wiGQAWgEey-kNQ7esRa_g" type="3010" element="_9wYVQAWgEey-kNQ7esRa_g">
-              <styles xmi:type="notation:FontStyle" xmi:id="_9wiGQQWgEey-kNQ7esRa_g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_9wiGQgWgEey-kNQ7esRa_g"/>
+            <children xmi:type="notation:Node" xmi:id="_4ZsUUCeVEeydzb6PKf1sDQ" type="3010" element="_4ZOaQCeVEeydzb6PKf1sDQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_4ZsUUSeVEeydzb6PKf1sDQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_4ZsUUieVEeydzb6PKf1sDQ"/>
             </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="__k3ugQWcEey-kNQ7esRa_g"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="__k3uggWcEey-kNQ7esRa_g"/>
@@ -335,24 +335,31 @@
         <children xmi:type="notation:Node" xmi:id="_NxDRoAWjEey-kNQ7esRa_g" type="2003" element="_Nw8j8AWjEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_NxDRowWjEey-kNQ7esRa_g" type="5007"/>
           <children xmi:type="notation:Node" xmi:id="_NxDRpAWjEey-kNQ7esRa_g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_5-5BcCeeEeydzb6PKf1sDQ" type="3010" element="_5-c8kCeeEeydzb6PKf1sDQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_5-5BcSeeEeydzb6PKf1sDQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_5-5BcieeEeydzb6PKf1sDQ"/>
+            </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="_NxDRpQWjEey-kNQ7esRa_g"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="_NxDRpgWjEey-kNQ7esRa_g"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_NxDRoQWjEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NxDRogWjEey-kNQ7esRa_g" x="1404" y="-12" width="120" height="100"/>
         </children>
-        <children xmi:type="notation:Node" xmi:id="_Sn_ycAWjEey-kNQ7esRa_g" type="2003" element="_Sn32oAWjEey-kNQ7esRa_g">
-          <children xmi:type="notation:Node" xmi:id="_SoAZgAWjEey-kNQ7esRa_g" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_SoAZgQWjEey-kNQ7esRa_g" type="7004">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_SoAZggWjEey-kNQ7esRa_g"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_SoAZgwWjEey-kNQ7esRa_g"/>
-          </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_Sn_ycQWjEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sn_ycgWjEey-kNQ7esRa_g" x="1350" y="144" width="120" height="100"/>
-        </children>
         <children xmi:type="notation:Node" xmi:id="_YPBsYAWjEey-kNQ7esRa_g" type="2003" element="_YO6XoAWjEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_YPBsYwWjEey-kNQ7esRa_g" type="5007"/>
           <children xmi:type="notation:Node" xmi:id="_YPBsZAWjEey-kNQ7esRa_g" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_ZINmUCdREey8t_kDLBrwCg" type="3010" element="_ZHyIgCdREey8t_kDLBrwCg">
+              <styles xmi:type="notation:FontStyle" xmi:id="_ZINmUSdREey8t_kDLBrwCg" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_ZIONYCdREey8t_kDLBrwCg"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_dZcK8CdREey8t_kDLBrwCg" type="3010" element="_dZJ3ECdREey8t_kDLBrwCg">
+              <styles xmi:type="notation:FontStyle" xmi:id="_dZcK8SdREey8t_kDLBrwCg" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_dZcK8idREey8t_kDLBrwCg"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_g0umECdREey8t_kDLBrwCg" type="3010" element="_g0c5QCdREey8t_kDLBrwCg">
+              <styles xmi:type="notation:FontStyle" xmi:id="_g0umESdREey8t_kDLBrwCg" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_g0umEidREey8t_kDLBrwCg"/>
+            </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="_YPBsZQWjEey-kNQ7esRa_g"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="_YPBsZgWjEey-kNQ7esRa_g"/>
           </children>
@@ -370,11 +377,15 @@
               <styles xmi:type="notation:FontStyle" xmi:id="_qBsbcQcREey-kNQ7esRa_g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
               <layoutConstraint xmi:type="notation:Location" xmi:id="_qBsbcgcREey-kNQ7esRa_g"/>
             </children>
+            <children xmi:type="notation:Node" xmi:id="_9OAo0CeeEeydzb6PKf1sDQ" type="3010" element="_9NuU8CeeEeydzb6PKf1sDQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_9OAo0SeeEeydzb6PKf1sDQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_9OAo0ieeEeydzb6PKf1sDQ"/>
+            </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="_s0mpQQWjEey-kNQ7esRa_g"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="_s0mpQgWjEey-kNQ7esRa_g"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_s0mCMQWjEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s0mCMgWjEey-kNQ7esRa_g" x="1035" y="-18" width="120" height="100"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s0mCMgWjEey-kNQ7esRa_g" x="1035" y="-24" width="132" height="106"/>
         </children>
         <children xmi:type="notation:Node" xmi:id="_lCMqkAZsEey-kNQ7esRa_g" type="2003" element="_lBuJcAZsEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_lCN4sAZsEey-kNQ7esRa_g" type="5007"/>
@@ -393,15 +404,6 @@
           <styles xmi:type="notation:ShapeStyle" xmi:id="_lCNRoAZsEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lCNRoQZsEey-kNQ7esRa_g" x="1542" y="714" width="120" height="100"/>
         </children>
-        <children xmi:type="notation:Node" xmi:id="_ovs3EAZsEey-kNQ7esRa_g" type="2003" element="_ovifAAZsEey-kNQ7esRa_g">
-          <children xmi:type="notation:Node" xmi:id="_ovs3EwZsEey-kNQ7esRa_g" type="5007"/>
-          <children xmi:type="notation:Node" xmi:id="_ovs3FAZsEey-kNQ7esRa_g" type="7004">
-            <styles xmi:type="notation:SortingStyle" xmi:id="_ovs3FQZsEey-kNQ7esRa_g"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_ovs3FgZsEey-kNQ7esRa_g"/>
-          </children>
-          <styles xmi:type="notation:ShapeStyle" xmi:id="_ovs3EQZsEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ovs3EgZsEey-kNQ7esRa_g" x="2328" y="-174" width="120" height="100"/>
-        </children>
         <children xmi:type="notation:Node" xmi:id="_uNQr8AZsEey-kNQ7esRa_g" type="2003" element="_uNHiAAZsEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_uNRTAAZsEey-kNQ7esRa_g" type="5007"/>
           <children xmi:type="notation:Node" xmi:id="_uNRTAQZsEey-kNQ7esRa_g" type="7004">
@@ -1013,22 +1015,6 @@
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PAtYIAWiEey-kNQ7esRa_g" id="(0.6101694915254238,0.0)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PAtYIQWiEey-kNQ7esRa_g" id="(0.6068965517241379,1.0)"/>
         </edges>
-        <edges xmi:type="notation:Edge" xmi:id="_cCGVYAWjEey-kNQ7esRa_g" type="4001" element="_cB2dzAWjEey-kNQ7esRa_g" source="_NxDRoAWjEey-kNQ7esRa_g" target="_Sn_ycAWjEey-kNQ7esRa_g">
-          <children xmi:type="notation:Node" xmi:id="_cCGVZAWjEey-kNQ7esRa_g" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cCG8cAWjEey-kNQ7esRa_g" x="3" y="-10"/>
-          </children>
-          <children xmi:type="notation:Node" xmi:id="_cCG8cQWjEey-kNQ7esRa_g" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cCG8cgWjEey-kNQ7esRa_g" y="10"/>
-          </children>
-          <children xmi:type="notation:Node" xmi:id="_cCG8cwWjEey-kNQ7esRa_g" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cCG8dAWjEey-kNQ7esRa_g" x="-37" y="-15"/>
-          </children>
-          <styles xmi:type="notation:ConnectorStyle" xmi:id="_cCGVYQWjEey-kNQ7esRa_g" routing="Rectilinear"/>
-          <styles xmi:type="notation:FontStyle" xmi:id="_cCGVYgWjEey-kNQ7esRa_g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cCGVYwWjEey-kNQ7esRa_g" points="[0, 0, 49, -58]$[0, 14, 49, -44]$[-49, 14, 0, -44]$[-49, 58, 0, 0]"/>
-          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cCG8dQWjEey-kNQ7esRa_g" id="(0.5,1.0)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cCG8dgWjEey-kNQ7esRa_g" id="(0.5423728813559322,0.0)"/>
-        </edges>
         <edges xmi:type="notation:Edge" xmi:id="_cxxe0AWjEey-kNQ7esRa_g" type="4001" element="_cxcusAWjEey-kNQ7esRa_g" source="_NxDRoAWjEey-kNQ7esRa_g" target="_YPBsYAWjEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_cxyF4AWjEey-kNQ7esRa_g" type="6001">
             <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cxyF4QWjEey-kNQ7esRa_g" x="-21" y="-10"/>
@@ -1077,22 +1063,6 @@
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_izFhCgWjEey-kNQ7esRa_g" id="(0.3724137931034483,0.0)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_izFhCwWjEey-kNQ7esRa_g" id="(0.5,0.5)"/>
         </edges>
-        <edges xmi:type="notation:Edge" xmi:id="_T8AZIAaBEey-kNQ7esRa_g" type="4001" element="_T72oPgaBEey-kNQ7esRa_g" source="_ovs3EAZsEey-kNQ7esRa_g" target="__k3HcAWcEey-kNQ7esRa_g">
-          <children xmi:type="notation:Node" xmi:id="_T8AZJAaBEey-kNQ7esRa_g" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T8AZJQaBEey-kNQ7esRa_g" x="253" y="-10"/>
-          </children>
-          <children xmi:type="notation:Node" xmi:id="_T8AZJgaBEey-kNQ7esRa_g" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T8AZJwaBEey-kNQ7esRa_g" x="607" y="10"/>
-          </children>
-          <children xmi:type="notation:Node" xmi:id="_T8AZKAaBEey-kNQ7esRa_g" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T8AZKQaBEey-kNQ7esRa_g" x="76" y="10"/>
-          </children>
-          <styles xmi:type="notation:ConnectorStyle" xmi:id="_T8AZIQaBEey-kNQ7esRa_g" routing="Rectilinear"/>
-          <styles xmi:type="notation:FontStyle" xmi:id="_T8AZIgaBEey-kNQ7esRa_g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_T8AZIwaBEey-kNQ7esRa_g" points="[0, 6, 722, 6]$[-722, 6, 0, 6]"/>
-          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T8BAMAaBEey-kNQ7esRa_g" id="(0.0,0.10204081632653061)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T8BAMQaBEey-kNQ7esRa_g" id="(1.0,0.16326530612244897)"/>
-        </edges>
         <edges xmi:type="notation:Edge" xmi:id="_0ITFAAaCEey-kNQ7esRa_g" type="4001" element="_0IAKIgaCEey-kNQ7esRa_g" source="_nuczcAaCEey-kNQ7esRa_g" target="_IONsYAZtEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_0ITFBAaCEey-kNQ7esRa_g" type="6001">
             <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0ITFBQaCEey-kNQ7esRa_g" x="-50" y="2"/>
@@ -1170,7 +1140,7 @@
           <styles xmi:type="notation:ConnectorStyle" xmi:id="_WT7CkQcMEey-kNQ7esRa_g" routing="Tree"/>
           <styles xmi:type="notation:FontStyle" xmi:id="_WT7CkgcMEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
           <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WT7CkwcMEey-kNQ7esRa_g" points="[0, 0, -342, 161]$[342, -161, 0, 0]"/>
-          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WT7CmgcMEey-kNQ7esRa_g" id="(0.559322033898305,0.0)"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WT7CmgcMEey-kNQ7esRa_g" id="(0.5076923076923077,0.057692307692307696)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WT7CmwcMEey-kNQ7esRa_g" id="(0.5,0.5)"/>
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_9YKTIAcMEey-kNQ7esRa_g" type="4001" element="_9X2xLAcMEey-kNQ7esRa_g" source="_zBjrsAcMEey-kNQ7esRa_g" target="_DsJToAWiEey-kNQ7esRa_g">
@@ -1203,7 +1173,7 @@
           <styles xmi:type="notation:FontStyle" xmi:id="_Prz0MgcOEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
           <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Prz0MwcOEey-kNQ7esRa_g" points="[0, 0, -54, 11]$[54, -11, 0, 0]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Prz0OgcOEey-kNQ7esRa_g" id="(0.5,0.0)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Prz0OwcOEey-kNQ7esRa_g" id="(0.5,0.5)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Prz0OwcOEey-kNQ7esRa_g" id="(0.45384615384615384,0.5288461538461539)"/>
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_QKsvoAcOEey-kNQ7esRa_g" type="4001" element="_QKU8MAcOEey-kNQ7esRa_g" source="_K7QPQAcOEey-kNQ7esRa_g" target="_s0mCMAWjEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_QKsvpAcOEey-kNQ7esRa_g" type="6001">
@@ -1219,7 +1189,7 @@
           <styles xmi:type="notation:FontStyle" xmi:id="_QKsvogcOEey-kNQ7esRa_g" fontName="Segoe UI" fontHeight="8"/>
           <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QKsvowcOEey-kNQ7esRa_g" points="[0, 0, 18, 103]$[-18, -103, 0, 0]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QKsvqgcOEey-kNQ7esRa_g" id="(0.4406779661016949,0.0)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QKsvqwcOEey-kNQ7esRa_g" id="(0.5,0.5)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QKsvqwcOEey-kNQ7esRa_g" id="(0.45384615384615384,0.5288461538461539)"/>
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_aEfQgAcUEey-kNQ7esRa_g" type="4001" element="_aEKgcgcUEey-kNQ7esRa_g" source="_VKA6kAcUEey-kNQ7esRa_g" target="_s0mCMAWjEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_aEfQhAcUEey-kNQ7esRa_g" type="6001">
@@ -1235,7 +1205,7 @@
           <styles xmi:type="notation:FontStyle" xmi:id="_aEfQggcUEey-kNQ7esRa_g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
           <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aEfQgwcUEey-kNQ7esRa_g" points="[0, 0, 135, 258]$[-135, -258, 0, 0]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aEf3kAcUEey-kNQ7esRa_g" id="(0.5,0.0)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aEf3kQcUEey-kNQ7esRa_g" id="(0.5,0.5)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aEf3kQcUEey-kNQ7esRa_g" id="(0.45384615384615384,0.5288461538461539)"/>
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_HJJjsAcbEey-kNQ7esRa_g" type="4001" element="_HI0zogcbEey-kNQ7esRa_g" source="_pEG-0AaCEey-kNQ7esRa_g" target="_IONsYAZtEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_HJKKwAcbEey-kNQ7esRa_g" type="6001">
@@ -1284,22 +1254,6 @@
           <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oMShkwcoEey-kNQ7esRa_g" points="[59, 41, -229, 48]$[229, 41, -59, 48]"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oMTIoQcoEey-kNQ7esRa_g" id="(0.5,0.0)"/>
         </edges>
-        <edges xmi:type="notation:Edge" xmi:id="_RDIQ0AcsEey-kNQ7esRa_g" type="4001" element="_RCvPUgcsEey-kNQ7esRa_g" source="_Ml8T0AcsEey-kNQ7esRa_g" target="_fodekAQjEey-kNQ7esRa_g">
-          <children xmi:type="notation:Node" xmi:id="_RDIQ1AcsEey-kNQ7esRa_g" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RDIQ1QcsEey-kNQ7esRa_g" y="-10"/>
-          </children>
-          <children xmi:type="notation:Node" xmi:id="_RDIQ1gcsEey-kNQ7esRa_g" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RDIQ1wcsEey-kNQ7esRa_g" y="10"/>
-          </children>
-          <children xmi:type="notation:Node" xmi:id="_RDIQ2AcsEey-kNQ7esRa_g" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RDIQ2QcsEey-kNQ7esRa_g" y="10"/>
-          </children>
-          <styles xmi:type="notation:ConnectorStyle" xmi:id="_RDIQ0QcsEey-kNQ7esRa_g" routing="Rectilinear"/>
-          <styles xmi:type="notation:FontStyle" xmi:id="_RDIQ0gcsEey-kNQ7esRa_g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RDIQ0wcsEey-kNQ7esRa_g" points="[0, 0, -119, 0]$[119, 0, 0, 0]"/>
-          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RDI34AcsEey-kNQ7esRa_g" id="(1.0,0.1326530612244898)"/>
-          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RDI34QcsEey-kNQ7esRa_g" id="(0.0,0.030612244897959183)"/>
-        </edges>
         <edges xmi:type="notation:Edge" xmi:id="_JkaXUAc-Eey-kNQ7esRa_g" type="4001" element="_JkOxSgc-Eey-kNQ7esRa_g" source="_IONsYAZtEey-kNQ7esRa_g" target="_D9ZrgAc-Eey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_JkaXVAc-Eey-kNQ7esRa_g" type="6001">
             <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JkaXVQc-Eey-kNQ7esRa_g" x="7" y="-9"/>
@@ -1460,6 +1414,38 @@
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G-S6cBxXEeyPOIo-WqURQQ" id="(0.7372881355932204,0.0)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G-S6cRxXEeyPOIo-WqURQQ" id="(0.0,0.12244897959183673)"/>
         </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_TlgywCdREey8t_kDLBrwCg" type="4001" element="_cB2dzAWjEey-kNQ7esRa_g" source="_NxDRoAWjEey-kNQ7esRa_g" target="_YB0RsATxEey-kNQ7esRa_g">
+          <children xmi:type="notation:Node" xmi:id="_TlmSUCdREey8t_kDLBrwCg" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TlmSUSdREey8t_kDLBrwCg" x="-132" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_Tlm5YCdREey8t_kDLBrwCg" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tlm5YSdREey8t_kDLBrwCg" x="-2" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_TlngcCdREey8t_kDLBrwCg" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TlngcSdREey8t_kDLBrwCg" y="128"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_TlgywSdREey8t_kDLBrwCg" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_TlgywidREey8t_kDLBrwCg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TlgywydREey8t_kDLBrwCg" points="[0, 0, 195, -297]$[0, 14, 195, -283]$[-71, 14, 124, -283]$[-71, 346, 124, 49]$[-157, 346, 38, 49]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TlrK0CdREey8t_kDLBrwCg" id="(0.5,1.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TlrK0SdREey8t_kDLBrwCg" id="(0.6779661016949152,0.04672897196261682)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_BMxgQCemEeyTddajI1jY8w" type="4001" element="_RCvPUgcsEey-kNQ7esRa_g" source="_Ml8T0AcsEey-kNQ7esRa_g" target="_beL2gAQjEey-kNQ7esRa_g">
+          <children xmi:type="notation:Node" xmi:id="_BM41ACemEeyTddajI1jY8w" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BM41ASemEeyTddajI1jY8w" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_BM6DICemEeyTddajI1jY8w" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BM6DISemEeyTddajI1jY8w" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_BNmmsCemEeyTddajI1jY8w" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNmmsSemEeyTddajI1jY8w" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_BMxgQSemEeyTddajI1jY8w" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_BMxgQiemEeyTddajI1jY8w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BMxgQyemEeyTddajI1jY8w" points="[0, 0, -124, 84]$[60, 0, -64, 84]$[60, -85, -64, -1]$[119, -85, -5, -1]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNpqACemEeyTddajI1jY8w" id="(1.0,0.1326530612244898)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNpqASemEeyTddajI1jY8w" id="(0.0423728813559322,0.826530612244898)"/>
+        </edges>
       </data>
     </ownedAnnotationEntries>
     <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_EwhNwAQNEey-kNQ7esRa_g" source="DANNOTATION_CUSTOMIZATION_KEY">
@@ -1562,7 +1548,7 @@
         <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="_beGW8AQjEey-kNQ7esRa_g" name="Placing" tooltipText="" outgoingEdges="_OlBg0AQlEey-kNQ7esRa_g _S3W4sAQlEey-kNQ7esRa_g" incomingEdges="_t9fiEwQxEey-kNQ7esRa_g _92h2_gccEey-kNQ7esRa_g _Q-uURhuHEeyPOIo-WqURQQ _G94qwBxXEeyPOIo-WqURQQ" width="12" height="10">
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_beGW8AQjEey-kNQ7esRa_g" name="Placing" tooltipText="" outgoingEdges="_OlBg0AQlEey-kNQ7esRa_g _S3W4sAQlEey-kNQ7esRa_g" incomingEdges="_t9fiEwQxEey-kNQ7esRa_g _92h2_gccEey-kNQ7esRa_g _Q-uURhuHEeyPOIo-WqURQQ _G94qwBxXEeyPOIo-WqURQQ _RCvPUgcsEey-kNQ7esRa_g" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Placing"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Placing"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1573,7 +1559,7 @@
       </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:DNodeList" uid="_foX_AAQjEey-kNQ7esRa_g" name="Position" tooltipText="" outgoingEdges="_X6rBlgQlEey-kNQ7esRa_g _r-z1gBrzEeyPOIo-WqURQQ _t3gckhrzEeyPOIo-WqURQQ" incomingEdges="_OlBg0AQlEey-kNQ7esRa_g _RCvPUgcsEey-kNQ7esRa_g" width="12" height="10">
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_foX_AAQjEey-kNQ7esRa_g" name="Position" tooltipText="" outgoingEdges="_X6rBlgQlEey-kNQ7esRa_g _r-z1gBrzEeyPOIo-WqURQQ _t3gckhrzEeyPOIo-WqURQQ" incomingEdges="_OlBg0AQlEey-kNQ7esRa_g" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Position"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Position"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1920,7 +1906,7 @@
       </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_EReference']"/>
     </ownedDiagramElements>
-    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_YBru0ATxEey-kNQ7esRa_g" name="Quaternion" tooltipText="" outgoingEdges="_eXVOvgcoEey-kNQ7esRa_g" width="12" height="10">
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_YBru0ATxEey-kNQ7esRa_g" name="Quaternion" tooltipText="" outgoingEdges="_eXVOvgcoEey-kNQ7esRa_g" incomingEdges="_cB2dzAWjEey-kNQ7esRa_g" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Quaternion"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Quaternion"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -2029,21 +2015,20 @@
       </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="__kvLoAWcEey-kNQ7esRa_g" name="Rawdata" tooltipText="" incomingEdges="_iSeHXgWjEey-kNQ7esRa_g _iy-MfAWjEey-kNQ7esRa_g _T72oPgaBEey-kNQ7esRa_g _WTwDiAcMEey-kNQ7esRa_g" width="12" height="10">
-      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Rawdata"/>
-      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Rawdata"/>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="__kvLoAWcEey-kNQ7esRa_g" name="RawdataEvent" tooltipText="" incomingEdges="_iSeHXgWjEey-kNQ7esRa_g _iy-MfAWjEey-kNQ7esRa_g _WTwDiAcMEey-kNQ7esRa_g" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//RawdataEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//RawdataEvent"/>
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
       <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
       <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="__rmE0wWgEey-kNQ7esRa_g" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
-        <labelFormat>italic</labelFormat>
-        <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']/@conditionnalStyles.1/@style"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_6Oi9IyeVEeydzb6PKf1sDQ" 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="_9wYVQAWgEey-kNQ7esRa_g" name="sensorId : EString" tooltipText="">
-        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Rawdata/sensorId"/>
-        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Rawdata/sensorId"/>
-        <ownedStyle xmi:type="diagram:BundledImage" uid="__rnS5wWgEey-kNQ7esRa_g" labelAlignment="LEFT">
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_4ZOaQCeVEeydzb6PKf1sDQ" name="timeStamp : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//RawdataEvent/timeStamp"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//RawdataEvent/timeStamp"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_6OnOkyeVEeydzb6PKf1sDQ" 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']"/>
@@ -2152,21 +2137,18 @@
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
       <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
       <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Nw8j8QWjEey-kNQ7esRa_g" 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:DNodeList" uid="_Sn32oAWjEey-kNQ7esRa_g" name="AngularRate" tooltipText="" incomingEdges="_cB2dzAWjEey-kNQ7esRa_g" width="12" height="10">
-      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//AngularRate"/>
-      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//AngularRate"/>
-      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
-      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
-      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Sn32oQWjEey-kNQ7esRa_g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_76gZlieeEeydzb6PKf1sDQ" 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="_5-c8kCeeEeydzb6PKf1sDQ" name="sensorId : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IMU/sensorId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IMU/sensorId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_76kD8ieeEeydzb6PKf1sDQ" 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="_YO6XoAWjEey-kNQ7esRa_g" name="Acceleration" tooltipText="" incomingEdges="_cxcusAWjEey-kNQ7esRa_g" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Acceleration"/>
@@ -2174,19 +2156,46 @@
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
       <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
       <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_YO6-sAWjEey-kNQ7esRa_g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_hliX-ydREey8t_kDLBrwCg" 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="_ZHyIgCdREey8t_kDLBrwCg" name="x : Float = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Acceleration/x"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Acceleration/x"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_adqWUSdREey8t_kDLBrwCg" 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="_dZJ3ECdREey8t_kDLBrwCg" name="y : Float = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Acceleration/y"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Acceleration/y"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_fTxwtydREey8t_kDLBrwCg" 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="_g0c5QCdREey8t_kDLBrwCg" name="z : Float = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Acceleration/z"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Acceleration/z"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_hlk0NSdREey8t_kDLBrwCg" 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="_cB2dzAWjEey-kNQ7esRa_g" name="[1..1] angularrate" sourceNode="_Nw8j8AWjEey-kNQ7esRa_g" targetNode="_Sn32oAWjEey-kNQ7esRa_g">
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_cB2dzAWjEey-kNQ7esRa_g" name="[1..1] angularrate" sourceNode="_Nw8j8AWjEey-kNQ7esRa_g" targetNode="_YBru0ATxEey-kNQ7esRa_g">
       <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IMU/angularrate"/>
       <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IMU/angularrate"/>
       <ownedStyle xmi:type="diagram:EdgeStyle" uid="_eks1GwWjEey-kNQ7esRa_g" description="_oD68EAQwEey-kNQ7esRa_g" routingStyle="manhattan" strokeColor="0,0,0">
         <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_eks1HQWjEey-kNQ7esRa_g" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
           <labelFormat>bold</labelFormat>
         </centerLabelStyle>
-        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_eks1HAWjEey-kNQ7esRa_g" labelSize="6" showIcon="false" labelColor="39,76,114"/>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_eks1HAWjEey-kNQ7esRa_g" showIcon="false" labelColor="39,76,114">
+          <customFeatures>labelSize</customFeatures>
+        </endLabelStyle>
       </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_EReference']"/>
     </ownedDiagramElements>
@@ -2204,12 +2213,12 @@
     <ownedDiagramElements xmi:type="diagram:DEdge" uid="_iSeHXgWjEey-kNQ7esRa_g" sourceNode="_Nw8j8AWjEey-kNQ7esRa_g" targetNode="__kvLoAWcEey-kNQ7esRa_g">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IMU"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IMU"/>
-      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_iSeHXwWjEey-kNQ7esRa_g" targetArrow="InputClosedArrow" routingStyle="tree">
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_76tN7CeeEeydzb6PKf1sDQ" 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="_iSeHYAWjEey-kNQ7esRa_g" showIcon="false">
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_76tN7SeeEeydzb6PKf1sDQ" showIcon="false">
           <labelFormat>italic</labelFormat>
         </beginLabelStyle>
-        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_iSeHYQWjEey-kNQ7esRa_g" showIcon="false"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_76tN7ieeEeydzb6PKf1sDQ" 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>
@@ -2231,7 +2240,7 @@
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
       <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
       <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_E4I5hQcSEey-kNQ7esRa_g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_-ag4MSeeEeydzb6PKf1sDQ" 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']"/>
@@ -2251,6 +2260,14 @@
         </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="_9NuU8CeeEeydzb6PKf1sDQ" name="sensorId : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Beacon/sensorId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Beacon/sensorId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_-ajUdieeEeydzb6PKf1sDQ" 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="_lBuJcAZsEey-kNQ7esRa_g" name="PositionEvent" tooltipText="" outgoingEdges="_92h2_gccEey-kNQ7esRa_g" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//PositionEvent"/>
@@ -2279,17 +2296,6 @@
         <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="_ovifAAZsEey-kNQ7esRa_g" name="RawdataEvent" tooltipText="" outgoingEdges="_T72oPgaBEey-kNQ7esRa_g" width="12" height="10">
-      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//RawdataEvent"/>
-      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//RawdataEvent"/>
-      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
-      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
-      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_ovjGEAZsEey-kNQ7esRa_g" 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:DNodeList" uid="_uNHiAAZsEey-kNQ7esRa_g" name="TrackingRequest" tooltipText="" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//TrackingRequest"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//TrackingRequest"/>
@@ -2482,17 +2488,6 @@
       </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="_T72oPgaBEey-kNQ7esRa_g" name="[1..*] rawdata" sourceNode="_ovifAAZsEey-kNQ7esRa_g" targetNode="__kvLoAWcEey-kNQ7esRa_g">
-      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//RawdataEvent/rawdata"/>
-      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//RawdataEvent/rawdata"/>
-      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_XIKMRgaBEey-kNQ7esRa_g" description="_oD68EAQwEey-kNQ7esRa_g" routingStyle="manhattan" strokeColor="0,0,0">
-        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_XIKMSAaBEey-kNQ7esRa_g" showIcon="false">
-          <labelFormat>bold</labelFormat>
-        </centerLabelStyle>
-        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_XIKMRwaBEey-kNQ7esRa_g" labelSize="6" showIcon="false" labelColor="39,76,114"/>
-      </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_EReference']"/>
-    </ownedDiagramElements>
     <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_nuR0UAaCEey-kNQ7esRa_g" name="MonitoringTask" tooltipText="" outgoingEdges="_0IAKIgaCEey-kNQ7esRa_g" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//MonitoringTask"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//MonitoringTask"/>
@@ -2591,12 +2586,12 @@
     <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WTwDiAcMEey-kNQ7esRa_g" sourceNode="_s0dfUAWjEey-kNQ7esRa_g" targetNode="__kvLoAWcEey-kNQ7esRa_g">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Beacon"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Beacon"/>
-      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_E4UfrAcSEey-kNQ7esRa_g" targetArrow="InputClosedArrow" routingStyle="tree">
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_-apbOieeEeydzb6PKf1sDQ" 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="_E4UfrQcSEey-kNQ7esRa_g" showIcon="false">
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_-apbOyeeEeydzb6PKf1sDQ" showIcon="false">
           <labelFormat>italic</labelFormat>
         </beginLabelStyle>
-        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_E4UfrgcSEey-kNQ7esRa_g" showIcon="false"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_-apbPCeeEeydzb6PKf1sDQ" 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>
@@ -2637,14 +2632,14 @@
       <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
       <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
       <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
-      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_I-N60QcOEey-kNQ7esRa_g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_d_Ac5iejEeyTddajI1jY8w" 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="_10SAEAcOEey-kNQ7esRa_g" name="rss : EMap" tooltipText="">
         <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Bluetooth/rss"/>
         <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//Bluetooth/rss"/>
-        <ownedStyle xmi:type="diagram:BundledImage" uid="_D-2hAQcSEey-kNQ7esRa_g" labelAlignment="LEFT">
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_d_K08iejEeyTddajI1jY8w" 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']"/>
@@ -2664,12 +2659,12 @@
     <ownedDiagramElements xmi:type="diagram:DEdge" uid="_PraypgcOEey-kNQ7esRa_g" sourceNode="_I-N60AcOEey-kNQ7esRa_g" targetNode="_s0dfUAWjEey-kNQ7esRa_g">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Bluetooth"/>
       <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//Bluetooth"/>
-      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_PraypwcOEey-kNQ7esRa_g" targetArrow="InputClosedArrow" routingStyle="tree">
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_d_dI0CejEeyTddajI1jY8w" 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="_PrayqAcOEey-kNQ7esRa_g" showIcon="false">
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_d_dI0SejEeyTddajI1jY8w" showIcon="false">
           <labelFormat>italic</labelFormat>
         </beginLabelStyle>
-        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_PrayqQcOEey-kNQ7esRa_g" showIcon="false"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_d_dI0iejEeyTddajI1jY8w" 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>
@@ -2799,14 +2794,17 @@
         <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="_RCvPUgcsEey-kNQ7esRa_g" name="[1..1] position" sourceNode="_Mlx7wAcsEey-kNQ7esRa_g" targetNode="_foX_AAQjEey-kNQ7esRa_g">
-      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//POI/position"/>
-      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//POI/position"/>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_RCvPUgcsEey-kNQ7esRa_g" name="[1..1] placing" sourceNode="_Mlx7wAcsEey-kNQ7esRa_g" targetNode="_beGW8AQjEey-kNQ7esRa_g">
+      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//POI/placing"/>
+      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//POI/placing"/>
       <ownedStyle xmi:type="diagram:EdgeStyle" uid="_R838QwcsEey-kNQ7esRa_g" description="_oD68EAQwEey-kNQ7esRa_g" routingStyle="manhattan" strokeColor="0,0,0">
         <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_R838RQcsEey-kNQ7esRa_g" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
           <labelFormat>bold</labelFormat>
         </centerLabelStyle>
-        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_R838RAcsEey-kNQ7esRa_g" labelSize="6" showIcon="false" labelColor="39,76,114"/>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_R838RAcsEey-kNQ7esRa_g" showIcon="false" labelColor="39,76,114">
+          <customFeatures>labelSize</customFeatures>
+        </endLabelStyle>
       </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_EReference']"/>
     </ownedDiagramElements>
diff --git a/emf_datamodel/model/iPos_Datamodel.ecore b/emf_datamodel/model/iPos_Datamodel.ecore
index f18d514..8c2cf8f 100644
--- a/emf_datamodel/model/iPos_Datamodel.ecore
+++ b/emf_datamodel/model/iPos_Datamodel.ecore
@@ -78,10 +78,10 @@
         defaultValueLiteral="0.0"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Point"/>
-  <eClassifiers xsi:type="ecore:EClass" name="Rawdata" abstract="true">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  <eClassifiers xsi:type="ecore:EClass" name="RawdataEvent">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="timeStamp" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Proximity" eSuperTypes="#//Rawdata">
+  <eClassifiers xsi:type="ecore:EClass" name="Proximity" eSuperTypes="#//RawdataEvent">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="tagId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="scannerId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -93,19 +93,23 @@
     <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:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+        <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
       </eGenericType>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IMU" eSuperTypes="#//Rawdata">
+  <eClassifiers xsi:type="ecore:EClass" name="IMU" eSuperTypes="#//RawdataEvent">
     <eStructuralFeatures xsi:type="ecore:EReference" name="angularrate" lowerBound="1"
-        eType="#//AngularRate"/>
+        eType="#//Quaternion"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="acceleration" lowerBound="1"
         eType="#//Acceleration"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Acceleration">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Float"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Float"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="z" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Float"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="AngularRate"/>
-  <eClassifiers xsi:type="ecore:EClass" name="Acceleration"/>
-  <eClassifiers xsi:type="ecore:EClass" name="Beacon" eSuperTypes="#//Rawdata">
+  <eClassifiers xsi:type="ecore:EClass" name="Beacon" eSuperTypes="#//RawdataEvent">
     <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/2002/Ecore#//EString"/>
@@ -113,6 +117,7 @@
       </eGenericType>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" 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/2003/XMLType#//String"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="PositionEvent">
     <eStructuralFeatures xsi:type="ecore:EReference" name="placing" lowerBound="1"
@@ -121,10 +126,6 @@
         transient="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="lObjectId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="RawdataEvent">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="rawdata" lowerBound="1"
-        upperBound="-1" eType="#//Rawdata"/>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TrackingRequest"/>
   <eClassifiers xsi:type="ecore:EClass" name="MonitoringRequest">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="frameId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
@@ -184,7 +185,7 @@
     <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:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+        <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
       </eGenericType>
     </eStructuralFeatures>
   </eClassifiers>
@@ -192,7 +193,7 @@
     <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/2002/Ecore#//EIntegerObject"/>
+        <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//IntObject"/>
       </eGenericType>
     </eStructuralFeatures>
   </eClassifiers>
@@ -202,13 +203,13 @@
     <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:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+        <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
       </eGenericType>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="POI">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="position" lowerBound="1"
-        eType="#//Position"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="placing" lowerBound="1"
+        eType="#//Placing"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" transient="true">
       <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
diff --git a/emf_datamodel/model/iPos_Datamodel.genmodel b/emf_datamodel/model/iPos_Datamodel.genmodel
index 26de11f..836325f 100644
--- a/emf_datamodel/model/iPos_Datamodel.genmodel
+++ b/emf_datamodel/model/iPos_Datamodel.genmodel
@@ -83,8 +83,8 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Gaussian/confidenceInterval"/>
     </genClasses>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//Point"/>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//Rawdata">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Rawdata/sensorId"/>
+    <genClasses ecoreClass="iPos_Datamodel.ecore#//RawdataEvent">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//RawdataEvent/timeStamp"/>
     </genClasses>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//Proximity">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Proximity/tagId"/>
@@ -100,21 +100,23 @@
     <genClasses ecoreClass="iPos_Datamodel.ecore#//IMU">
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//IMU/angularrate"/>
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//IMU/acceleration"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IMU/sensorId"/>
+    </genClasses>
+    <genClasses ecoreClass="iPos_Datamodel.ecore#//Acceleration">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Acceleration/x"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Acceleration/y"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Acceleration/z"/>
     </genClasses>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//AngularRate"/>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//Acceleration"/>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//Beacon">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Beacon/distances"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Beacon/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Beacon/sensorId"/>
     </genClasses>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//PositionEvent">
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//PositionEvent/placing"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//PositionEvent/timeStamp"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//PositionEvent/lObjectId"/>
     </genClasses>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//RawdataEvent">
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//RawdataEvent/rawdata"/>
-    </genClasses>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//TrackingRequest"/>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//MonitoringRequest">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/frameId"/>
@@ -164,7 +166,7 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OtherBeacon/data"/>
     </genClasses>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//POI">
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//POI/position"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//POI/placing"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//POI/description"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//POI/data"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//POI/id"/>
diff --git a/init_Industrierobotik.txt b/init_Industrierobotik.txt
index 708c899..ab99d24 100644
--- a/init_Industrierobotik.txt
+++ b/init_Industrierobotik.txt
@@ -1,5 +1,5 @@
-{"frames": [{"id": "cobot1_door_zone", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 2.0,"y": 0.0,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 4.0, "y": 4.0, "z":6.0}]}, {"id": "cobot1_window_zone", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 2.0,"y": 4.0,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 2.0, "y": 2.0, "z":6.0}]} ]}
+{"frames": [{"id": "cobot1_door_zone", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 2.0,"y": 0.0,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 4.0, "y": 4.0, "z":6.0}]}, {"id": "cobot1_window_zone", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 2.0,"y": 4.0,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 4.0, "y": 4.0, "z":6.0}]} ]}
 {"refSystems": [{"id": "ROOT"}, {"id": "CETI_ROOT", "position": {"refSystemId": "ROOT", "point": {"x": 3.05,"y": 2.08,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}}]}
-{"objectConfigs": [{"agentId": "Employee1", "sensorId": "UWB_1", "agentType": "HUMAN", "sensorType": "UWB"}, {"agentId": "Employee2", "sensorId": "UWB_2", "agentType": "HUMAN", "sensorType": "UWB"}]}
-{"pois": [{"id": "UWB_BEACON_1", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": 3.1,"y": 0.5,"z": 0.0}, "accuracy": 1.0} }, {"id": "UWB_BEACON_2", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": -0.3,"y": 4.5,"z": 0.0}, "accuracy": 1.0} } ]}
+{"objectConfigs": [{"agentId": "Employee1", "sensorId": "UWB_1", "agentType": "HUMAN", "sensorType": "UWB"}, {"agentId": "Employee2", "sensorId": "UWB_2", "agentType": "HUMAN", "sensorType": "UWB"}, {"agentId": "Turtlebot", "sensorId": "98:CD:AC:26:2D:18", "agentType": "ROBOT", "sensorType": "RFID_SCANNER"}]}
+{"pois": [{"id": "UWB_BEACON_1", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": 3.1,"y": 0.5,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }, {"id": "UWB_BEACON_2", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": -0.3,"y": 4.5,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}}, {"id": "83221710", "description": "RFID_TAG", "data": {"type" : "NFC"}, "position": {"refSystemId": "ROOT", "point": {"x": 2.1,"y": 0.4,"z": 0.5}, "accuracy": 1.0}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }]}
 {"monitoringRequests": [{"frameId": "cobot1_door_zone", "monitoringTaskId": "Human_at_Door_Side"}, {"frameId": "cobot1_window_zone", "monitoringTaskId": "Human_at_Window_Side"}]}
\ No newline at end of file
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
index c5026c9..ba2428d 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
+++ b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
@@ -34,7 +34,7 @@ public class SimpleSceneIntegration {
 
     public static void init(String path_to_init_data_file){
         Administration.initialize(); // clears WorldModel
-        File initFile = new File("./init_Industrierobotik.txt");
+        File initFile = new File(path_to_init_data_file);
         try {
             for (String line : readLines(initFile)) {
                 SimpleScene.IposConfigWrapper iposConfigWrapper = ProtoJsonMap.fromJson(line, SimpleScene.IposConfigWrapper.class);
@@ -87,12 +87,12 @@ public class SimpleSceneIntegration {
             MqttMessage mqttMessage = mqttService.createMqttMsg(posEvent_proto, 0, false);
 
             // publishes protobuf over MQTT
-            // mqttService.publish(monitoringTaskId, mqttMessage);
-            // LOG.info("publishing protobuf mqttMessage. JSON-representation:" + ProtoJsonMap.toJson(posEvent_proto) + " on topic: " + monitoringTaskId);
+             mqttService.publish(monitoringTaskId, mqttMessage);
+             LOG.info("publishing protobuf mqttMessage. JSON-representation:" + ProtoJsonMap.toJson(posEvent_proto) + " on topic: " + monitoringTaskId);
 
             // publishes JSON over MQTT
-             mqttService.publish(monitoringTaskId, ProtoJsonMap.toJson(posEvent_proto), 0, false);
-             LOG.info("publishing JSON mqttMessage:" + ProtoJsonMap.toJson(posEvent_proto) + " on topic: " + monitoringTaskId);
+            // mqttService.publish(monitoringTaskId, ProtoJsonMap.toJson(posEvent_proto), 0, false);
+            // LOG.info("publishing JSON mqttMessage:" + ProtoJsonMap.toJson(posEvent_proto) + " on topic: " + monitoringTaskId);
 
         }else{
             LOG.warn("Warning: SimpleScene: Received empty PositionEvent");
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java
index 4f9b628..086f3f5 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java
+++ b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java
@@ -185,7 +185,7 @@ public class SimpleSceneTransformer {
         poi.setId(poi_proto.getId());
         poi.setDescription(poi_proto.getDescription());
         poi.setData(poi_proto.getDataMap());
-        poi.setPosition(position_SScene2Internal(poi_proto.getPosition()));
+        poi.setPlacing(placing_SScene2Internal(poi_proto.getPosition(), poi_proto.getOrientation()));
         return poi;
     }
 }
diff --git a/src/main/java/ipos/project/Functionality/DataServices.java b/src/main/java/ipos/project/Functionality/DataServices.java
index a93c0a2..0d8b8fd 100644
--- a/src/main/java/ipos/project/Functionality/DataServices.java
+++ b/src/main/java/ipos/project/Functionality/DataServices.java
@@ -62,6 +62,8 @@ public class DataServices {
         for (Agent agent_loaded : wma.getAllAgents()){
             if (agent_loaded.getId().equals(agent_input.getId())){
                 Agent agent_merged = mergeAgents(agent_loaded, agent_input);
+
+                // TODO: careful: What about those LObjects that point on the currently existing agent-object?
                 wma.removeAgent(agent_loaded.getId());
                 wma.addAgent(agent_merged);
             }
@@ -118,9 +120,9 @@ public class DataServices {
         wma.addPoi(poi_input);
     }
 
-    public static POI createPOI(Position position, String description, Map<String, String> data){
+    public static POI createPOI(Placing placing, String description, Map<String, String> data){
         POI poi = modelFactory.createPOI();
-        poi.setPosition(position);
+        poi.setPlacing(placing);
         poi.setDescription(description);
         poi.setData(data);
         return poi;
@@ -202,4 +204,13 @@ public class DataServices {
         quaternion.setW(w);
         return quaternion;
     }
+
+    public static POI getPoiByIdOrNull(String poiId) {
+        for (POI poi : wma.getAllPois()){
+            if(poi.getId().equals(poiId)){
+                return poi;
+            }
+        }
+        return null;
+    }
 }
diff --git a/src/main/java/ipos/project/Functionality/PositionCalculation.java b/src/main/java/ipos/project/Functionality/PositionCalculation.java
new file mode 100644
index 0000000..80f354c
--- /dev/null
+++ b/src/main/java/ipos/project/Functionality/PositionCalculation.java
@@ -0,0 +1,44 @@
+package ipos.project.Functionality;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.*;
+import org.apache.logging.log4j.LogManager;
+
+public class PositionCalculation {
+
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
+
+    public static PositionEvent calcPositionFromNfcOrNull(NFC nfcRawDataEvent) {
+        if (isMobileScanner(nfcRawDataEvent)){
+            return createPosEvent(nfcRawDataEvent.getScannerId(), nfcRawDataEvent.getTagId(), nfcRawDataEvent.getTimeStamp());
+        }
+        if(isMobileTag(nfcRawDataEvent)){
+            return createPosEvent(nfcRawDataEvent.getTagId(), nfcRawDataEvent.getScannerId(), nfcRawDataEvent.getTimeStamp());
+        }
+        LOG.warn("NFC-RawdataEvent could not be processed, as the provided scanner " +
+                "and/or tag-id could not be associated to an registered object and/or " +
+                "an registered poi");
+        return null;
+    }
+
+    private static PositionEvent createPosEvent(String lObjectId, String poiId, String timeStamp) {
+        PositionEvent positionEvent = modelFactory.createPositionEvent();
+        positionEvent.setLObjectId(lObjectId);
+        positionEvent.setTimeStamp(timeStamp);
+        positionEvent.setPlacing(DataServices.getPoiByIdOrNull(poiId).getPlacing());
+        return positionEvent;
+    }
+
+    private static boolean isMobileScanner(NFC nfcRawDataEvent) {
+        Boolean scannerIsMobile = DataServices.getLObjectByIdOrNull(nfcRawDataEvent.getScannerId()) != null;
+        Boolean tagIsFixed = DataServices.getPoiByIdOrNull(nfcRawDataEvent.getTagId()) != null;
+        return scannerIsMobile && tagIsFixed;
+    }
+
+    private static boolean isMobileTag(NFC nfcRawDataEvent) {
+        Boolean tagIsMobile = DataServices.getLObjectByIdOrNull(nfcRawDataEvent.getTagId()) != null;
+        Boolean scannerIsFixed = DataServices.getPoiByIdOrNull(nfcRawDataEvent.getScannerId()) != null;
+        return tagIsMobile && scannerIsFixed;
+    }
+}
diff --git a/src/main/java/ipos/project/MainApp.java b/src/main/java/ipos/project/MainApp.java
index 67d159a..eb0dc21 100644
--- a/src/main/java/ipos/project/MainApp.java
+++ b/src/main/java/ipos/project/MainApp.java
@@ -2,6 +2,7 @@ package ipos.project;
 
 import ipos.project.DataModellntegration.SimpleSceneIntegration.SimpleSceneIntegration;
 import ipos.project.Functionality.eventfilter.TestEventFilter;
+import ipos.project.SensorValueIntegration.GenericSensorValueProcessor;
 import ipos.project.UseCaseController.Administration;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -17,11 +18,13 @@ import java.text.ParseException;
 public class MainApp {
 	public static final String INDUSTRIEROBOTIK_FILE = "./init_Industrierobotik.txt";
     public static final String SENSORDATENFUSION_FILE = "./init_Sensordatenfusion.txt";
+    public static final String TESTRAWDATA_FILE = "./testdata_raw.txt";
 
     public static void main(String[] args) throws ParseException {
         SpringApplication.run(MainApp.class, args);
         // SimpleSceneIntegration.init();
         SimpleSceneIntegration.init(INDUSTRIEROBOTIK_FILE);
         //SimpleSceneIntegration.init(SENSORDATENFUSION_FILE);
+        GenericSensorValueProcessor.processTestData(TESTRAWDATA_FILE);
 	}
 }
diff --git a/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java b/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
index 1154f19..e882878 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
@@ -1,13 +1,26 @@
 package ipos.project.SensorValueIntegration;
 
+import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.GenericSensor;
+import ipos.models.SimpleScene;
 import ipos.models.SimpleScene.IposPosition;
+import ipos.project.DataModellntegration.SimpleSceneIntegration.api.MqttRequestHandler;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.service.impl.ExternalPubServiceImpl;
+import ipos.project.SensorValueIntegration.api.MqttPositionHandler;
+import ipos.project.UseCaseController.Administration;
 import ipos.project.mapper.ProtoJsonMap;
 import org.apache.logging.log4j.LogManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.stereotype.Component;
 
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
 @Component
 public class GenericSensorValueProcessor {
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
@@ -24,4 +37,31 @@ public class GenericSensorValueProcessor {
             this.mqttService.publish("test51/subscribe/positions", jsonPos, 0, false);
         }
     }
+
+    public static void processTestData(String path_to_test_data_file){
+        File testDataFile = new File(path_to_test_data_file);
+        try {
+            for (String line : readLines(testDataFile)) {
+                GenericSensor.SensorEventWrapper sensorEventWrapper = ProtoJsonMap.fromJson(line, GenericSensor.SensorEventWrapper.class);
+                MqttPositionHandler.handleSensorEventWrapper(sensorEventWrapper);
+            }
+        }catch (InvalidProtocolBufferException e) {
+            LOG.error("Error trying to read JSON into protobuf-objects: ");
+            e.printStackTrace();
+        }
+    }
+
+    private static List<String> readLines(File initFile) {
+        List<String> lines = new ArrayList<>();
+        try(BufferedReader br = new BufferedReader(new FileReader(initFile))) { // br is automatically closed at the end of try-scope
+            for (String line; (line = br.readLine()) != null; ){
+                lines.add(line);
+            }
+        } catch (IOException e) {
+            LOG.error("Error while reading the text file: ");
+            e.printStackTrace();
+        }
+        return lines;
+    }
+
 }
diff --git a/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java b/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
index b217965..46b0ec3 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
@@ -4,9 +4,12 @@ import com.google.protobuf.ProtocolStringList;
 import ipos.models.GenericSensor;
 import ipos.models.SimpleScene;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
+import org.eclipse.emf.ecore.EObject;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class GenericSensorTransformer {
 
@@ -93,6 +96,25 @@ public class GenericSensorTransformer {
         return quaternion;
     }
 
+   public static NFC nfc_GSensor2Internal(GenericSensor.NFCRawDataEvent proto_nfcRawdataEvent) {
+        NFC internal_nfcRawdataEvent = modelFactory.createNFC();
+        internal_nfcRawdataEvent.setTimeStamp(proto_nfcRawdataEvent.getTimestamp());
+        internal_nfcRawdataEvent.setTagId(proto_nfcRawdataEvent.getTagId());
+        internal_nfcRawdataEvent.setScannerId(proto_nfcRawdataEvent.getScannerId());
+        internal_nfcRawdataEvent.setType(proto_nfcRawdataEvent.getType());
+        internal_nfcRawdataEvent.setTagData(convertToStringToObjectMap(proto_nfcRawdataEvent.getTagDataMap()));
+        return internal_nfcRawdataEvent;
+   }
+
+    private static Map<String, Object> convertToStringToObjectMap(Map<String, String> inputMap) {
+        Map<String,Object> outputMap =new HashMap<String,Object>();
+        for (Map.Entry<String, String> entry : inputMap.entrySet()) {
+            if(entry.getValue() != null){
+                outputMap.put(entry.getKey(), (Object) entry.getValue());
+            }
+        }
+        return outputMap;
+    }
 }
 
 
diff --git a/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java b/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java
index 3a38e64..d44a68a 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java
@@ -1,10 +1,13 @@
 package ipos.project.SensorValueIntegration.api;
 
 import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.GenericSensor;
 import ipos.models.GenericSensor.SensorPositionEvent;
+import ipos.models.SimpleScene;
 import ipos.models.SimpleScene.IposPosition;
 import ipos.models.GenericSensor.SensorEventWrapper;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.service.impl.ExternalPubServiceImpl;
+import ipos.project.DataModellntegration.iPos_Datamodel.NFC;
 import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
 import ipos.project.SensorValueIntegration.Service.GenericSensorTransformer;
 import ipos.project.UseCaseController.PositionMonitoring;
@@ -16,9 +19,11 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.core.JmsTemplate;
 
+import java.util.List;
+
 
 // subscribe to the topic
-@MqttListener("usertopic/SensorPositionEvent")
+@MqttListener("usertopic/SensorEventWrapper")
 public class MqttPositionHandler implements Handler {
 
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
@@ -35,18 +40,42 @@ public class MqttPositionHandler implements Handler {
     // method that handle new message from the topic
     public void handle(MqttMessage message) {
         try {
-            SensorPositionEvent protoSensPosEvent = ProtoJsonMap.fromJson(message.toString(), SensorPositionEvent.class);
-            //IposPosition pos = IposPosition.parseFrom(message.toString().getBytes());
-            assert protoSensPosEvent != null;
-            PositionEvent positionEvent = GenericSensorTransformer.posEvent_GSensor2Internal(protoSensPosEvent);
+            SensorEventWrapper protoSensEventWrapper = ProtoJsonMap.fromJson(message.toString(), GenericSensor.SensorEventWrapper.class);
+            handleSensorEventWrapper(protoSensEventWrapper);
+          } catch (InvalidProtocolBufferException e) {
+            LOG.error("Invalid mqtt message:", e);
+        }
+    }
+
+    public static void handleSensorEventWrapper(GenericSensor.SensorEventWrapper iposSensorEventWrapper) {
+        LOG.info("IposSensorEventWrapper received: \n"
+                + iposSensorEventWrapper.toString());
+        // Annahme: iposSensorEventWrapper enthält für leere Felder leere Listen und nicht null
+        
+        processPositionEvents(iposSensorEventWrapper.getSensorPositionEventList());
+        processNFCRawdataEvents(iposSensorEventWrapper.getNfcRawDataEventList());
+
+        // this.jmsTemplate.convertAndSend("/request123", monReqInternal); // submit request to the internal broker
+    }
+
+    private static void processNFCRawdataEvents(List<GenericSensor.NFCRawDataEvent> nfcRawDataEventList) {
+        for (GenericSensor.NFCRawDataEvent proto_nfcRawdataEvent : nfcRawDataEventList){
+            NFC internal_nfcRawDataEvent = GenericSensorTransformer.nfc_GSensor2Internal(proto_nfcRawdataEvent);
+            PositionMonitoring.receiveMessage(internal_nfcRawDataEvent);
+        }
+    }
+
+    private static void processPositionEvents(List<SensorPositionEvent> sensorPositionEventList) {
+        // assert sensorPositionEventList != null;
+        for (GenericSensor.SensorPositionEvent proto_sensPosEvent : sensorPositionEventList){
+            PositionEvent positionEvent = GenericSensorTransformer.posEvent_GSensor2Internal(proto_sensPosEvent);
             LOG.info("SensorValueIntegration: Transformed Protobuf-SensorPositionEvent into Internal-PositionEvent: " + positionEvent.toString() + ", " + positionEvent.getPlacing().getPosition().getPoint().toString() + ", " + positionEvent.getPlacing().getOrientation().toString());
 
-            // ggf. anstatt JMS einfach den PositionMonitoringController per Funktionsaufruf aufrufen
+            // vorübergehend: anstatt JMS einfach den PositionMonitoringController per Funktionsaufruf aufrufen
             PositionMonitoring.receiveMessage(positionEvent);
             // this.jmsTemplate.convertAndSend("/PositionEvent", protoSensPosEvent); // submit position to the internal broker
             //TODO: fix message converter for the internal broker
-        } catch (InvalidProtocolBufferException e) {
-            LOG.error("Invalid mqtt message:", e);
         }
     }
+
 }
diff --git a/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java b/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
index af7cffc..afa32aa 100644
--- a/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
+++ b/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
@@ -3,6 +3,7 @@ package ipos.project.UseCaseController;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.SimpleSceneIntegration;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
 import ipos.project.Functionality.DataServices;
+import ipos.project.Functionality.PositionCalculation;
 import ipos.project.Functionality.eventfilter.eventFilter;
 import ipos.project.Functionality.eventfilter.readConfig;
 import org.apache.logging.log4j.LogManager;
@@ -21,7 +22,7 @@ public class PositionMonitoring {
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
 
     private static List<eventFilter> eventFilters = new ArrayList<eventFilter>();
-    private static Map<String, List<String>> zonePopulation = new HashMap<String, List<String>>();
+    private static Map<String, List<String>> zonePopulation = new HashMap<String, List<String>>(); // maps zone-ids to list of ids of those lObjects that are currently located within that zone.
     private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
 
     public static final String EXIT_NOTIFICATION_TYPE = "ExitNotification";
@@ -34,6 +35,23 @@ public class PositionMonitoring {
 
     public PositionMonitoring(){}
 
+    public static void receiveMessage(NFC nfcRawDataEvent) {
+        PositionEvent positionEvent = PositionCalculation.calcPositionFromNfcOrNull(nfcRawDataEvent);
+        if (positionEvent != null) {
+            updateLocalizableObject(positionEvent);
+            receiveMessage(positionEvent);
+        }
+    }
+
+    private static void updateLocalizableObject(PositionEvent positionEvent) {
+        LocalizableObject lObject = DataServices.getLObjectByIdOrNull(positionEvent.getLObjectId());
+
+        // TODO: caution: all changes to the data model should be performed using DataServices.
+        // Directly changing this object just works for the current simple case that we only have the object-representation of the world model
+        // in general it has to be made sure that both, all links from this object and to this object keep intact
+        lObject.setCurrentPlacing(positionEvent.getPlacing());
+    }
+
     private MonitoringRequest createMonitoringRequest(String frameId, String monitoringTaskId) {
         MonitoringRequest monReq = modelFactory.createMonitoringRequest();
         monReq.setFrameId(frameId);
diff --git a/testdata_raw.txt b/testdata_raw.txt
new file mode 100644
index 0000000..e431c4a
--- /dev/null
+++ b/testdata_raw.txt
@@ -0,0 +1 @@
+{"nfcRawDataEvent" : [ {"timestamp" : "2021-09-14T10:51:20+00:00", "tagId": "83221710", "type": "RFID", "scannerId": "98:CD:AC:26:2D:18"} ] }
\ No newline at end of file
-- 
GitLab