From 4f44d674cbb1a237ea30ee2b4e39c8988c0135f6 Mon Sep 17 00:00:00 2001
From: Frank Rohde <frank.rohde@tu-dresden.de>
Date: Fri, 25 Mar 2022 12:56:25 +0100
Subject: [PATCH] completed OSM-extension (has been tested)
 SimpleSceneIntegration now publishes IposMonitoringWrapper

---
 build.gradle                                  |   3 +-
 emf_datamodel/model/iPos_Datamodel.aird       | 600 +++++++++++++++++-
 emf_datamodel/model/iPos_Datamodel.ecore      |  46 ++
 emf_datamodel/model/iPos_Datamodel.genmodel   |  49 ++
 init_Industrierobotik.txt                     |   2 +-
 .../ipos/project/CustomLoggingFilter.java     |   4 +-
 .../SimpleSceneIntegration.java               |  18 +-
 .../OSM/OSMExtractedAttributes.java           |  23 +
 .../iPos_Datamodel/OSM/OSMObject.java         | 222 -------
 .../iPos_Datamodel/OSM/OSMPackage.java        |  46 +-
 .../OSM/impl/OSMExtractedAttributesImpl.java  |  55 ++
 .../OSM/impl/OSMObjectImpl.java               |  91 +--
 .../OSM/impl/OSMPackageImpl.java              |  17 +-
 src/main/java/ipos/project/MainApp.java       |   8 +-
 .../orderpicker/OFBizOrderPicker.java         |   2 +-
 .../orderpicker/OFBizOrderPickerMqtt.java     |  19 +-
 .../ipos/project/iposextension/osm/OSM.java   |  16 +
 .../project/iposextension/osm/OSMExt.java     |   2 +-
 .../iposextension/osm/OSMExtInputMqtt.java    |   1 +
 .../iposextension/osm/OSMExtOutputMqtt.java   |  11 +-
 .../osm/OSMIPosMonitoringWrapperMqtt.java     |  11 +-
 .../project/iposextension/osm/OSMTrans.java   | 176 ++++-
 testdata_raw_orderpicker_posEvts.txt          |  34 +-
 testdata_raw_orderpicker_posEvts_readable.txt | 192 +++---
 24 files changed, 1227 insertions(+), 421 deletions(-)
 delete mode 100644 src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMObject.java

diff --git a/build.gradle b/build.gradle
index 2310a89..0c967f8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -85,7 +85,8 @@ sourceSets {
 			        "models/interfaces/SimpleScene",
 					"models/interfaces/OFBizOrderpicker",
 					"models/interfaces/Tooz",
-					"models/interfaces/VDA5050"
+					"models/interfaces/VDA5050",
+					"models/interfaces/OSM"
 			// srcDir "src/main/resources"
 		}
 		java {
diff --git a/emf_datamodel/model/iPos_Datamodel.aird b/emf_datamodel/model/iPos_Datamodel.aird
index 2c493ea..c2d8a26 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="35178b3f-3d7f-425c-b778-889bae2431fb">
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_Et4wgAQNEey-kNQ7esRa_g" name="iPos_Datamodel" repPath="#_Es-xkAQNEey-kNQ7esRa_g" changeId="312793ea-fa37-4cd3-9270-a2f279f61765">
         <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>
@@ -25,6 +25,10 @@
         <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#//VDA5050"/>
       </ownedRepresentationDescriptors>
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_q62u4KEeEeyjYoAVD5IwbQ" name="OSM" repPath="#_q60SoKEeEeyjYoAVD5IwbQ" changeId="95660e9c-3628-4a27-b3e3-fbe035508556">
+        <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#//OSM"/>
+      </ownedRepresentationDescriptors>
     </ownedViews>
   </viewpoint:DAnalysis>
   <diagram:DSemanticDiagram uid="_Es-xkAQNEey-kNQ7esRa_g">
@@ -779,6 +783,19 @@
           <styles xmi:type="notation:ShapeStyle" xmi:id="_-HZlMZosEeybDM53IXNodQ" fontName="Segoe UI" fontHeight="8"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-HZlMposEeybDM53IXNodQ" x="2715" y="924" width="276" height="141"/>
         </children>
+        <children xmi:type="notation:Node" xmi:id="_evlZ8KEgEeyjYoAVD5IwbQ" type="2003" element="_evTGEKEgEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_evlZ86EgEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_evlZ9KEgEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_evmBAKEgEeyjYoAVD5IwbQ" type="3010" element="_evdeJKEgEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_evmBAaEgEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8" italic="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_evmBAqEgEeyjYoAVD5IwbQ"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_evlZ9aEgEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_evlZ9qEgEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_evlZ8aEgEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_evlZ8qEgEeyjYoAVD5IwbQ" x="2232" y="967" width="140" height="50"/>
+        </children>
         <styles xmi:type="notation:DiagramStyle" xmi:id="_EuqzogQNEey-kNQ7esRa_g"/>
         <edges xmi:type="notation:Edge" xmi:id="_slHHwAQOEey-kNQ7esRa_g" type="4001" element="_sk66gAQOEey-kNQ7esRa_g" source="_OVBp4AQNEey-kNQ7esRa_g" target="_hS0UIAQOEey-kNQ7esRa_g">
           <children xmi:type="notation:Node" xmi:id="_slIV4AQOEey-kNQ7esRa_g" type="6001">
@@ -3154,6 +3171,26 @@
         <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%20EDataType']/@subNodeMappings[name='EC_DataType_InstanceClassName']"/>
       </ownedElements>
     </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_evTGEKEgEeyjYoAVD5IwbQ" name="IntArray" tooltipText="" width="14" height="5">
+      <target xmi:type="ecore:EDataType" href="iPos_Datamodel.ecore#//IntArray"/>
+      <semanticElements xmi:type="ecore:EDataType" href="iPos_Datamodel.ecore#//IntArray"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_evTGEaEgEeyjYoAVD5IwbQ" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="255,250,191">
+        <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%20EDataType']/@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%20EDataType']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_evdeJKEgEeyjYoAVD5IwbQ" name="int[]" tooltipText="">
+        <target xmi:type="ecore:EDataType" href="iPos_Datamodel.ecore#//IntArray"/>
+        <semanticElements xmi:type="ecore:EDataType" href="iPos_Datamodel.ecore#//IntArray"/>
+        <decorations xmi:type="viewpoint:Decoration" uid="_evdeJaEgEeyjYoAVD5IwbQ">
+          <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
+        </decorations>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_evdeJqEgEeyjYoAVD5IwbQ" showIcon="false">
+          <labelFormat>italic</labelFormat>
+          <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%20EDataType']/@subNodeMappings[name='EC_DataType_InstanceClassName']/@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%20EDataType']/@subNodeMappings[name='EC_DataType_InstanceClassName']"/>
+      </ownedElements>
+    </ownedDiagramElements>
     <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
     <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_EthkIAQNEey-kNQ7esRa_g"/>
     <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
@@ -5182,4 +5219,565 @@
     <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
     <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//VDA5050"/>
   </diagram:DSemanticDiagram>
+  <diagram:DSemanticDiagram uid="_q60SoKEeEeyjYoAVD5IwbQ">
+    <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_q9SX0KEeEeyjYoAVD5IwbQ" source="GMF_DIAGRAMS">
+      <data xmi:type="notation:Diagram" xmi:id="_q9SX0aEeEeyjYoAVD5IwbQ" type="Sirius" element="_q60SoKEeEeyjYoAVD5IwbQ" measurementUnit="Pixel">
+        <children xmi:type="notation:Node" xmi:id="_s0i0YKEeEeyjYoAVD5IwbQ" type="2003" element="_sz0boKEeEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_s0kpkKEeEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_s0lQoKEeEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_-dKQ4KEeEeyjYoAVD5IwbQ" type="3010" element="_-cfigKEeEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_-dKQ4aEeEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_-dKQ4qEeEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_AhMlMKEfEeyjYoAVD5IwbQ" type="3010" element="_AgyVgKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_AhMlMaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_AhMlMqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_DnwtgKEfEeyjYoAVD5IwbQ" type="3010" element="_DnXr8KEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_DnwtgaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_DnwtgqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_FEr-gKEfEeyjYoAVD5IwbQ" type="3010" element="_FEX1cKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_FEr-gaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_FEr-gqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_G-Als6EhEeyjYoAVD5IwbQ" type="3010" element="_G9wHAKEhEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_G-AltKEhEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_G-AltaEhEeyjYoAVD5IwbQ"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_s0lQoaEeEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_s0lQoqEeEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_s0i0YaEeEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s0i0YqEeEeyjYoAVD5IwbQ" x="516" y="156" width="207" height="279"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_JRsKcKEfEeyjYoAVD5IwbQ" type="2003" element="_JRUXAKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_JRsxgKEfEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_JRsxgaEfEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_L9H186EfEeyjYoAVD5IwbQ" type="3010" element="_L80T8KEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_L9H19KEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_L9H19aEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_YN65MKEfEeyjYoAVD5IwbQ" type="3010" element="_YNpzcKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_YN65MaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_YN65MqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_JRsxgqEfEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_JRsxg6EfEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_JRsKcaEfEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JRsKcqEfEeyjYoAVD5IwbQ" x="912" y="204" width="177" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_O8tMgKEfEeyjYoAVD5IwbQ" type="2003" element="_O8ZqgKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_O8tMg6EfEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_O8tMhKEfEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_TKxvcKEfEeyjYoAVD5IwbQ" type="3010" element="_TKeNcKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_TKxvcaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_TKxvcqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_UqkuQKEfEeyjYoAVD5IwbQ" type="3010" element="_UqTBcKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_UqkuQaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_UqkuQqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Vv7MwKEfEeyjYoAVD5IwbQ" type="3010" element="_VvgWAKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_Vv7MwaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Vv7MwqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_O8tMhaEfEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_O8tMhqEfEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_O8tMgaEfEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O8tMgqEfEeyjYoAVD5IwbQ" x="924" y="354" width="120" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_hzyAPKEfEeyjYoAVD5IwbQ" type="2003" element="_hzcpAKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_hzynQKEfEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_hzynQaEfEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_jX43QKEfEeyjYoAVD5IwbQ" type="3010" element="_jXeAgKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_jX43QaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_jX43QqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_k1y_sKEfEeyjYoAVD5IwbQ" type="3010" element="_k1ihAKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_k1y_saEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_k1y_sqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_l4qK4KEfEeyjYoAVD5IwbQ" type="3010" element="_l4S-gKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_l4qK4aEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_l4qK4qEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_n6h8AKEfEeyjYoAVD5IwbQ" type="3010" element="_n6OaAKEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_n6h8AaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_n6h8AqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_hzynQqEfEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_hzynQ6EfEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_hzyAPaEfEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hzyAPqEfEeyjYoAVD5IwbQ" x="252" y="156" width="120" height="100"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_xIh8rKEfEeyjYoAVD5IwbQ" type="2003" element="_xISFAKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_xIijsKEfEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_xIijsaEfEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_2FnhsKEfEeyjYoAVD5IwbQ" type="3010" element="_2FWb8KEfEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_2FnhsaEfEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_2FnhsqEfEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_Rkt7IKEgEeyjYoAVD5IwbQ" type="3010" element="_RkZLAKEgEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_Rkt7IaEgEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_Rkt7IqEgEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="__rZ6wKEgEeyjYoAVD5IwbQ" type="3010" element="__rJcEKEgEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="__rZ6waEgEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="__rZ6wqEgEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_VTZsMKO5EeydOu36HZmRaA" type="3010" element="_VSyoMKO5EeydOu36HZmRaA">
+              <styles xmi:type="notation:FontStyle" xmi:id="_VTZsMaO5EeydOu36HZmRaA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_VTZsMqO5EeydOu36HZmRaA"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_xIijsqEfEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_xIijs6EfEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_xIh8raEfEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xIh8rqEfEeyjYoAVD5IwbQ" x="240" y="330" width="165" height="117"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_XYLSEKEhEeyjYoAVD5IwbQ" type="2003" element="_XX3wEKEhEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_XYLSE6EhEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_XYLSFKEhEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_cGn-MKEhEeyjYoAVD5IwbQ" type="3010" element="_cGXfgKEhEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_cGn-MaEhEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_cGn-MqEhEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_e0n1gKEhEeyjYoAVD5IwbQ" type="3010" element="_e0QCEKEhEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_e0n1gaEhEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_e0n1gqEhEeyjYoAVD5IwbQ"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_XYLSFaEhEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_XYLSFqEhEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_XYLSEaEhEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XYLSEqEhEeyjYoAVD5IwbQ" x="762" y="516" width="195" height="75"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_imKT0KEpEeyjYoAVD5IwbQ" type="2003" element="_il2x0KEpEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_imK64KEpEeyjYoAVD5IwbQ" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_imK64aEpEeyjYoAVD5IwbQ" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_ohUDoKEpEeyjYoAVD5IwbQ" type="3010" element="_ohCW0KEpEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_ohUDoaEpEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_ohUDoqEpEeyjYoAVD5IwbQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_qKBG1qEpEeyjYoAVD5IwbQ" type="3010" element="_qJoFQKEpEeyjYoAVD5IwbQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_qKBG16EpEeyjYoAVD5IwbQ" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_qKBG2KEpEeyjYoAVD5IwbQ"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_imK64qEpEeyjYoAVD5IwbQ"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_imK646EpEeyjYoAVD5IwbQ"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_imKT0aEpEeyjYoAVD5IwbQ" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_imKT0qEpEeyjYoAVD5IwbQ" x="1098" y="444" width="204" height="100"/>
+        </children>
+        <styles xmi:type="notation:DiagramStyle" xmi:id="_q9SX0qEeEeyjYoAVD5IwbQ"/>
+        <edges xmi:type="notation:Edge" xmi:id="_bNm9cKEfEeyjYoAVD5IwbQ" type="4001" element="_bNQ_MKEfEeyjYoAVD5IwbQ" source="_JRsKcKEfEeyjYoAVD5IwbQ" target="_O8tMgKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_bNnkgKEfEeyjYoAVD5IwbQ" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bNnkgaEfEeyjYoAVD5IwbQ" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_bNoLkKEfEeyjYoAVD5IwbQ" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bNoLkaEfEeyjYoAVD5IwbQ" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_bNoLkqEfEeyjYoAVD5IwbQ" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bNoLk6EfEeyjYoAVD5IwbQ" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_bNm9caEfEeyjYoAVD5IwbQ" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_bNm9cqEfEeyjYoAVD5IwbQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bNm9c6EfEeyjYoAVD5IwbQ" points="[0, 0, 0, -52]$[0, 52, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bNrO4KEfEeyjYoAVD5IwbQ" id="(0.4057142857142857,1.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bNrO4aEfEeyjYoAVD5IwbQ" id="(0.5,0.0)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_dTwKkKEfEeyjYoAVD5IwbQ" type="4001" element="_dTY-NqEfEeyjYoAVD5IwbQ" source="_s0i0YKEeEeyjYoAVD5IwbQ" target="_JRsKcKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_dTwKlKEfEeyjYoAVD5IwbQ" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dTwKlaEfEeyjYoAVD5IwbQ" x="196" y="8"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_dTwKlqEfEeyjYoAVD5IwbQ" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dTwKl6EfEeyjYoAVD5IwbQ" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_dTwKmKEfEeyjYoAVD5IwbQ" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dTwKmaEfEeyjYoAVD5IwbQ" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_dTwKkaEfEeyjYoAVD5IwbQ" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_dTwKkqEfEeyjYoAVD5IwbQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dTwKk6EfEeyjYoAVD5IwbQ" points="[0, 0, -287, -36]$[287, 0, 0, -36]$[287, 36, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dTwKmqEfEeyjYoAVD5IwbQ" id="(1.0,0.04332129963898917)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dTwKm6EfEeyjYoAVD5IwbQ" id="(0.5485714285714286,0.0)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_pkY1wKEfEeyjYoAVD5IwbQ" type="4001" element="_pkI-LKEfEeyjYoAVD5IwbQ" source="_s0i0YKEeEeyjYoAVD5IwbQ" target="_hzyAPKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_pkY1xKEfEeyjYoAVD5IwbQ" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkY1xaEfEeyjYoAVD5IwbQ" x="11" y="20"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_pkY1xqEfEeyjYoAVD5IwbQ" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkY1x6EfEeyjYoAVD5IwbQ" x="-2" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_pkY1yKEfEeyjYoAVD5IwbQ" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pkY1yaEfEeyjYoAVD5IwbQ" x="-40" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_pkY1waEfEeyjYoAVD5IwbQ" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_pkY1wqEfEeyjYoAVD5IwbQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pkY1w6EfEeyjYoAVD5IwbQ" points="[0, 0, 146, 0]$[-146, 0, 0, 0]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkY1yqEfEeyjYoAVD5IwbQ" id="(0.0,0.04332129963898917)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pkY1y6EfEeyjYoAVD5IwbQ" id="(1.0,0.12244897959183673)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_CxgJAKEhEeyjYoAVD5IwbQ" type="4001" element="_CxOcQqEhEeyjYoAVD5IwbQ" source="_s0i0YKEeEeyjYoAVD5IwbQ" target="_xIh8rKEfEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_CxgwEKEhEeyjYoAVD5IwbQ" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CxgwEaEhEeyjYoAVD5IwbQ" x="57" y="21"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_CxgwEqEhEeyjYoAVD5IwbQ" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CxgwE6EhEeyjYoAVD5IwbQ" x="148" y="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_CxgwFKEhEeyjYoAVD5IwbQ" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CxgwFaEhEeyjYoAVD5IwbQ" y="-10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_CxgJAaEhEeyjYoAVD5IwbQ" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_CxgJAqEhEeyjYoAVD5IwbQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CxgJA6EhEeyjYoAVD5IwbQ" points="[103, 265, 283, 103]$[103, 317, 283, 155]$[-195, 317, -15, 155]$[-195, 277, -15, 115]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CxgwFqEhEeyjYoAVD5IwbQ" id="(0.0,0.04332129963898917)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CxgwF6EhEeyjYoAVD5IwbQ" id="(0.588957055214724,0.0)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_ibnxYKEhEeyjYoAVD5IwbQ" type="4001" element="_ibXSyKEhEeyjYoAVD5IwbQ" source="_s0i0YKEeEeyjYoAVD5IwbQ" target="_XYLSEKEhEeyjYoAVD5IwbQ">
+          <children xmi:type="notation:Node" xmi:id="_ibnxZKEhEeyjYoAVD5IwbQ" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ibnxZaEhEeyjYoAVD5IwbQ" x="7"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_ibnxZqEhEeyjYoAVD5IwbQ" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ibnxZ6EhEeyjYoAVD5IwbQ" x="10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_ibnxaKEhEeyjYoAVD5IwbQ" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ibnxaaEhEeyjYoAVD5IwbQ" x="-61" y="-121"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_ibnxYaEhEeyjYoAVD5IwbQ" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_ibnxYqEhEeyjYoAVD5IwbQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ibnxY6EhEeyjYoAVD5IwbQ" points="[-43, 277, -156, -83]$[-43, 410, -156, 50]$[41, 410, -72, 50]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ibnxaqEhEeyjYoAVD5IwbQ" id="(1.0,0.0)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ibnxa6EhEeyjYoAVD5IwbQ" id="(0.37305699481865284,0.0)"/>
+        </edges>
+      </data>
+    </ownedAnnotationEntries>
+    <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_q9Tl8KEeEeyjYoAVD5IwbQ" source="DANNOTATION_CUSTOMIZATION_KEY">
+      <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_q9Tl8aEeEeyjYoAVD5IwbQ"/>
+    </ownedAnnotationEntries>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sz0boKEeEeyjYoAVD5IwbQ" name="OSMObject" tooltipText="" outgoingEdges="_dTY-NqEfEeyjYoAVD5IwbQ _pkI-LKEfEeyjYoAVD5IwbQ _CxOcQqEhEeyjYoAVD5IwbQ _ibXSyKEhEeyjYoAVD5IwbQ" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMObject"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMObject"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_IMkDgaEhEeyjYoAVD5IwbQ" 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="_-cfigKEeEeyjYoAVD5IwbQ" name="id : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/id"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/id"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="__mhssaEeEeyjYoAVD5IwbQ" 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="_AgyVgKEfEeyjYoAVD5IwbQ" name="sensorId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/sensorId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/sensorId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_CCxss6EfEeyjYoAVD5IwbQ" 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="_DnXr8KEfEeyjYoAVD5IwbQ" name="type : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/type"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/type"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_EmwFU6EfEeyjYoAVD5IwbQ" 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="_FEX1cKEfEeyjYoAVD5IwbQ" name="sensorType : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/sensorType"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/sensorType"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_GFGSp6EfEeyjYoAVD5IwbQ" 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="_G9wHAKEhEeyjYoAVD5IwbQ" name="lastPosUpdate : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/lastPosUpdate"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMObject/lastPosUpdate"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_IMkqlKEhEeyjYoAVD5IwbQ" 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="_JRUXAKEfEeyjYoAVD5IwbQ" name="OSMPosition" tooltipText="" outgoingEdges="_bNQ_MKEfEeyjYoAVD5IwbQ" incomingEdges="_dTY-NqEfEeyjYoAVD5IwbQ" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMPosition"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMPosition"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_ZP3eY6EfEeyjYoAVD5IwbQ" 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="_L80T8KEfEeyjYoAVD5IwbQ" name="refSystemId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPosition/refSystemId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPosition/refSystemId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_M9oQsaEfEeyjYoAVD5IwbQ" 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="_YNpzcKEfEeyjYoAVD5IwbQ" name="accuracy : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPosition/accuracy"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPosition/accuracy"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_ZP3ebaEfEeyjYoAVD5IwbQ" 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="_O8ZqgKEfEeyjYoAVD5IwbQ" name="OSMPoint" tooltipText="" incomingEdges="_bNQ_MKEfEeyjYoAVD5IwbQ" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMPoint"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMPoint"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Wex21aEfEeyjYoAVD5IwbQ" 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="_TKeNcKEfEeyjYoAVD5IwbQ" name="x : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPoint/x"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPoint/x"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_UBptG6EfEeyjYoAVD5IwbQ" 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="_UqTBcKEfEeyjYoAVD5IwbQ" name="y : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPoint/y"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPoint/y"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_VbMS6KEfEeyjYoAVD5IwbQ" 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="_VvgWAKEfEeyjYoAVD5IwbQ" name="z : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPoint/z"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMPoint/z"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_Weyd46EfEeyjYoAVD5IwbQ" 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="_bNQ_MKEfEeyjYoAVD5IwbQ" name="[0..1] osmpoint" sourceNode="_JRUXAKEfEeyjYoAVD5IwbQ" targetNode="_O8ZqgKEfEeyjYoAVD5IwbQ">
+      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMPosition/osmpoint"/>
+      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMPosition/osmpoint"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_bNRmQKEfEeyjYoAVD5IwbQ" routingStyle="manhattan" strokeColor="0,0,0">
+        <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_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_bNRmQqEfEeyjYoAVD5IwbQ" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_bNRmQaEfEeyjYoAVD5IwbQ" 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>
+    <ownedDiagramElements xmi:type="diagram:DEdge" uid="_dTY-NqEfEeyjYoAVD5IwbQ" name="[0..1] osmposition" sourceNode="_sz0boKEeEeyjYoAVD5IwbQ" targetNode="_JRUXAKEfEeyjYoAVD5IwbQ">
+      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmposition"/>
+      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmposition"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dTY-N6EfEeyjYoAVD5IwbQ" routingStyle="manhattan" strokeColor="0,0,0">
+        <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_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dTY-OaEfEeyjYoAVD5IwbQ" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_dTY-OKEfEeyjYoAVD5IwbQ" 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>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_hzcpAKEfEeyjYoAVD5IwbQ" name="OSMOrientation" tooltipText="" incomingEdges="_pkI-LKEfEeyjYoAVD5IwbQ" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMOrientation"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMOrientation"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_oiBZ16EfEeyjYoAVD5IwbQ" 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="_jXeAgKEfEeyjYoAVD5IwbQ" name="x : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/x"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/x"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_keKi1KEfEeyjYoAVD5IwbQ" 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="_k1ihAKEfEeyjYoAVD5IwbQ" name="y : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/y"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/y"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_lkl_dKEfEeyjYoAVD5IwbQ" 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="_l4S-gKEfEeyjYoAVD5IwbQ" name="z : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/z"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/z"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_nXan7aEfEeyjYoAVD5IwbQ" 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="_n6OaAKEfEeyjYoAVD5IwbQ" name="w : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/w"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMOrientation/w"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_oiBZ5qEfEeyjYoAVD5IwbQ" 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="_pkI-LKEfEeyjYoAVD5IwbQ" name="[0..1] osmorientation" sourceNode="_sz0boKEeEeyjYoAVD5IwbQ" targetNode="_hzcpAKEfEeyjYoAVD5IwbQ">
+      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmorientation"/>
+      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmorientation"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_pkI-LaEfEeyjYoAVD5IwbQ" routingStyle="manhattan" strokeColor="0,0,0">
+        <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_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_pkI-L6EfEeyjYoAVD5IwbQ" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_pkI-LqEfEeyjYoAVD5IwbQ" 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>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xISFAKEfEeyjYoAVD5IwbQ" name="OSMExtractedAttributes" tooltipText="" incomingEdges="_CxOcQqEhEeyjYoAVD5IwbQ" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_XwGYIaO5EeydOu36HZmRaA" 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="_2FWb8KEfEeyjYoAVD5IwbQ" name="batteryChargeLevel : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/batteryChargeLevel"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/batteryChargeLevel"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_3zXdCaEfEeyjYoAVD5IwbQ" 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="_RkZLAKEgEeyjYoAVD5IwbQ" name="loadedItems : IntArray" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/loadedItems"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/loadedItems"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_6mR0EKEgEeyjYoAVD5IwbQ" 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="__rJcEKEgEeyjYoAVD5IwbQ" name="errors : IntArray" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/errors"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/errors"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_A1d6O6EhEeyjYoAVD5IwbQ" 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="_VSyoMKO5EeydOu36HZmRaA" name="theta : EFloat = 0.0" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/theta"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/theta"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_XwINVqO5EeydOu36HZmRaA" 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="_CxOcQqEhEeyjYoAVD5IwbQ" name="[0..1] osmextractedattributes" sourceNode="_sz0boKEeEeyjYoAVD5IwbQ" targetNode="_xISFAKEfEeyjYoAVD5IwbQ">
+      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmextractedattributes"/>
+      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmextractedattributes"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_CxOcQ6EhEeyjYoAVD5IwbQ" routingStyle="manhattan" strokeColor="0,0,0">
+        <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_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_CxOcRaEhEeyjYoAVD5IwbQ" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_CxOcRKEhEeyjYoAVD5IwbQ" 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>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_XX3wEKEhEeyjYoAVD5IwbQ" name="OSMZoneDescriptor" tooltipText="" incomingEdges="_ibXSyKEhEeyjYoAVD5IwbQ" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_li6Se6EhEeyjYoAVD5IwbQ" 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="_cGXfgKEhEeyjYoAVD5IwbQ" name="zoneId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor/zoneId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor/zoneId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_ebWZ8qEhEeyjYoAVD5IwbQ" 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="_e0QCEKEhEeyjYoAVD5IwbQ" name="notificationType : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor/notificationType"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor/notificationType"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_gEStu6EhEeyjYoAVD5IwbQ" 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="_ibXSyKEhEeyjYoAVD5IwbQ" name="[0..*] osmzonedescriptor" sourceNode="_sz0boKEeEeyjYoAVD5IwbQ" targetNode="_XX3wEKEhEeyjYoAVD5IwbQ">
+      <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmzonedescriptor"/>
+      <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//OSM/OSMObject/osmzonedescriptor"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ibX5wKEhEeyjYoAVD5IwbQ" routingStyle="manhattan" strokeColor="0,0,0">
+        <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_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ibX5wqEhEeyjYoAVD5IwbQ" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ibX5waEhEeyjYoAVD5IwbQ" 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>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_il2x0KEpEeyjYoAVD5IwbQ" name="OSMMonitoringTarget" tooltipText="" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_rA8HzaEpEeyjYoAVD5IwbQ" 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="_ohCW0KEpEeyjYoAVD5IwbQ" name="monitoringTaskId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget/monitoringTaskId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget/monitoringTaskId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_purOpqEpEeyjYoAVD5IwbQ" 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="_qJoFQKEpEeyjYoAVD5IwbQ" name="protocol : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget/protocol"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget/protocol"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_rA8u3qEpEeyjYoAVD5IwbQ" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+    <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_q61gwKEeEeyjYoAVD5IwbQ"/>
+    <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+    <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+    <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
+    <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//OSM"/>
+  </diagram:DSemanticDiagram>
 </xmi:XMI>
diff --git a/emf_datamodel/model/iPos_Datamodel.ecore b/emf_datamodel/model/iPos_Datamodel.ecore
index 4b05f36..e58900e 100644
--- a/emf_datamodel/model/iPos_Datamodel.ecore
+++ b/emf_datamodel/model/iPos_Datamodel.ecore
@@ -250,6 +250,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EDataType" name="ByteArray" instanceClassName="java.lang.byte[]"/>
   <eClassifiers xsi:type="ecore:EDataType" name="ListOfStringMaps" instanceClassName="java.util.LinkedList&lt;java.util.HashMap&lt;java.lang.String, java.lang.String>>"/>
+  <eClassifiers xsi:type="ecore:EDataType" name="IntArray" instanceClassName="int[]"/>
   <eSubpackages name="OFBiz" nsURI="ofbiz" nsPrefix="ofbiz">
     <eClassifiers xsi:type="ecore:EClass" name="Picklist">
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="picklistId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
@@ -436,4 +437,49 @@
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="loadId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     </eClassifiers>
   </eSubpackages>
+  <eSubpackages name="OSM" nsURI="osm" nsPrefix="osm">
+    <eClassifiers xsi:type="ecore:EClass" name="OSMObject">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="osmposition" eType="#//OSM/OSMPosition"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="osmorientation" eType="#//OSM/OSMOrientation"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="osmextractedattributes"
+          eType="#//OSM/OSMExtractedAttributes"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastPosUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="osmzonedescriptor" upperBound="-1"
+          eType="#//OSM/OSMZoneDescriptor"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OSMPosition">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="refSystemId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="accuracy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="osmpoint" eType="#//OSM/OSMPoint"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OSMPoint">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="z" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OSMOrientation">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="z" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="w" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OSMExtractedAttributes">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="batteryChargeLevel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="loadedItems" eType="#//IntArray"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="errors" eType="#//IntArray"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="theta" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OSMZoneDescriptor">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="zoneId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="notificationType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OSMMonitoringTarget">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitoringTaskId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+  </eSubpackages>
 </ecore:EPackage>
diff --git a/emf_datamodel/model/iPos_Datamodel.genmodel b/emf_datamodel/model/iPos_Datamodel.genmodel
index f526d0d..0eabcb0 100644
--- a/emf_datamodel/model/iPos_Datamodel.genmodel
+++ b/emf_datamodel/model/iPos_Datamodel.genmodel
@@ -17,6 +17,7 @@
     <genDataTypes ecoreDataType="iPos_Datamodel.ecore#//FloatArray"/>
     <genDataTypes ecoreDataType="iPos_Datamodel.ecore#//ByteArray"/>
     <genDataTypes ecoreDataType="iPos_Datamodel.ecore#//ListOfStringMaps"/>
+    <genDataTypes ecoreDataType="iPos_Datamodel.ecore#//IntArray"/>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//Agent">
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//Agent/lObject"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Agent/agentType"/>
@@ -339,5 +340,53 @@
         <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//VDA5050/Load/loadId"/>
       </genClasses>
     </nestedGenPackages>
+    <nestedGenPackages prefix="OSM" disposableProviderFactory="true" ecorePackage="iPos_Datamodel.ecore#//OSM">
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OSM/OSMObject">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMObject/id"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMObject/sensorId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMObject/type"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMObject/sensorType"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OSM/OSMObject/osmposition"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OSM/OSMObject/osmorientation"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OSM/OSMObject/osmextractedattributes"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMObject/lastPosUpdate"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OSM/OSMObject/osmzonedescriptor"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OSM/OSMPosition">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMPosition/refSystemId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMPosition/accuracy"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OSM/OSMPosition/osmpoint"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OSM/OSMPoint">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMPoint/x"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMPoint/y"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMPoint/z"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OSM/OSMOrientation">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMOrientation/x"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMOrientation/y"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMOrientation/z"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMOrientation/w"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/batteryChargeLevel"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/loadedItems"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/errors"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMExtractedAttributes/theta"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor/zoneId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMZoneDescriptor/notificationType"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget/monitoringTaskId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OSM/OSMMonitoringTarget/protocol"/>
+      </genClasses>
+    </nestedGenPackages>
   </genPackages>
 </genmodel:GenModel>
diff --git a/init_Industrierobotik.txt b/init_Industrierobotik.txt
index ebec6ac..c5e6fbd 100644
--- a/init_Industrierobotik.txt
+++ b/init_Industrierobotik.txt
@@ -2,4 +2,4 @@
 {"refSystems": [{"id": "ROOT"}, {"id": "CETI_ROOT", "position": {"refSystemId": "ROOT", "point": {"x": 0.5,"y": 0.75,"z": 1.0}, "accuracy": 1.0}, "orientation": {"x": 0.7071067811865477,"y": 0.0,"z": 0.0, "w": 0.7071067811865477}}, {"id": "CETI_ROBOLAB", "position": {"refSystemId": "CETI_ROOT", "point": {"x": 0.2,"y": 0.2,"z": 0.2}, "accuracy": 1.0}, "orientation": {"x": 0.4082481001180531,"y": 0.4082481001180531,"z": 0.4082481001180531, "w": 0.7071067811865477}}, {"id": "CETI_OFFICE", "position": {"refSystemId": "CETI_ROOT", "point": {"x": 2.0,"y": 2.0,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}}, {"id": "TL_TESTHALL", "position": {"refSystemId": "ROOT", "point": {"x": 40.0,"y": 60.0,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.21643961393810285, "w": 0.9762960071199334}}, {"id": "CETI_ROBOTARM_CELL", "position": {"refSystemId": "CETI_ROBOLAB", "point": {"x": 0.0,"y": 1.2,"z": 2.2}, "accuracy": 1.0}, "orientation": {"x": 0.2705992818596786,"y": 0.2705992818596786,"z": 0.0, "w": 0.9238795325112868}}]}
 {"objectConfigs": [{"agentId": "Employee_1", "sensorId": "UWB_2", "agentType": "HUMAN", "sensorType": "UWB"}, {"agentId": "turtlebot", "sensorId": "UWB_1", "agentType": "ROBOT", "sensorType": "UWB"}, {"agentId": "turtlebot", "sensorId": "98:CD:AC:26:2D:18", "agentType": "ROBOT", "sensorType": "RFID_SCANNER"}, {"agentId": "turtlebot", "sensorId": "handy1", "agentType": "ROBOT", "sensorType": "IMU"}, {"agentId": "tooz_employee", "sensorId": "tooz_employee_uwb", "agentType": "HUMAN", "sensorType": "UWB"}, {"agentId": "TL_TUD-Virtual_AGV", "sensorId": "TL_TUD-Virtual_AGV", "agentType": "Robot", "sensorType": "virtual"}]}
 {"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": 0.1}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }, {"id": "31762128", "description": "RFID_TAG", "data": {"type" : "NFC"}, "position": {"refSystemId": "ROOT", "point": {"x": 2.2,"y": 3.4,"z": 0.5}, "accuracy": 0.1}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }, {"id": "885", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }, {"id": "2934", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": 4.24,"y": 1.33,"z": 1.0}, "accuracy": 0.01}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }, {"id": "3383", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": 1.25,"y": 5.89,"z": 1.06}, "accuracy": 0.01}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }, {"id": "1107", "description": "Beacon_Position", "data": {"type" : "UWB"}, "position": {"refSystemId": "ROOT", "point": {"x": 4.24,"y": 5.83,"z": 1.05}, "accuracy": 0.01}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0} }]}
-{"monitoringRequests": [{"frameIds": ["cobot1_door_zone", "cobot1_window_zone"], "monitoringTaskId": "RobolabMonitoringCeti", "refSystemId": "CETI_ROBOTARM_CELL", "serializationType": "protobuf"}, {"frameIds": ["cobot1_door_zone", "cobot1_window_zone"], "monitoringTaskId": "RobolabMonitoringFrontend", "refSystemId": "ROOT", "serializationType": "json"}, {"properties" : ["VDA5050"], "monitoringTaskId" : "AGVViewer_VDA5050", "refSystemId": "ROOT", "serializationType": "json"}]}
\ No newline at end of file
+{"monitoringRequests": [{"frameIds": ["cobot1_door_zone", "cobot1_window_zone"], "monitoringTaskId": "RobolabMonitoringCeti", "refSystemId": "CETI_ROBOTARM_CELL", "serializationType": "protobuf"}, {"frameIds": ["cobot1_door_zone", "cobot1_window_zone"], "monitoringTaskId": "AGVViewer_VDA5050", "refSystemId": "ROOT", "serializationType": "json"}]}
\ No newline at end of file
diff --git a/src/main/java/ipos/project/CustomLoggingFilter.java b/src/main/java/ipos/project/CustomLoggingFilter.java
index 56b94ba..e587e5d 100644
--- a/src/main/java/ipos/project/CustomLoggingFilter.java
+++ b/src/main/java/ipos/project/CustomLoggingFilter.java
@@ -25,11 +25,13 @@ public class CustomLoggingFilter extends Filter<ILoggingEvent> {
         } else if (event.getMessage().contains("Received a Message:")){ // MQTT-library meldet sich
             return FilterReply.DENY;
         } else if (event.getMessage().contains("OP:")){
-            return FilterReply.ACCEPT;
+            return FilterReply.DENY;
         } else if (event.getMessage().contains("TOOZ:")){
             return FilterReply.DENY;
         } else if (event.getMessage().contains("VDA5050:")){
             return FilterReply.ACCEPT;
+        } else if (event.getMessage().contains("OSM:")){
+            return FilterReply.ACCEPT;
         }else if (event.getMessage().contains("SHELL:")){
             return FilterReply.ACCEPT;
         } else {
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
index c17b57d..26180e5 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
+++ b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
@@ -105,10 +105,11 @@ public class SimpleSceneIntegration {
             // PositionEvent posEvent_copy = duplicatePositionEvent(positionEvent);
             // scale_position_frontend_app(posEvent_copy, 15);
             SimpleScene.IposPositionEvent posEvent_proto = SimpleSceneTransformer.posEvent_internal2Proto(positionEvent, notificationType);
+            SimpleScene.IposMonitoringWrapper iposMonitoringWrapper = wrapIntoMonitoringWrapper(posEvent_proto);
             logging_sdf(monitoringTaskId, serializationType, posEvent_proto);
             logging_indfro(positionEvent, monitoringTaskId, serializationType);
             logging_op(positionEvent, monitoringTaskId, serializationType);
-            OtherUtility.publishRespectingSerializationType(monitoringTaskId, serializationType, posEvent_proto);
+            OtherUtility.publishRespectingSerializationType(monitoringTaskId, serializationType, iposMonitoringWrapper);
 
         }else{
             LOG.warn("Warning: SimpleScene: Received empty PositionEvent");
@@ -118,12 +119,25 @@ public class SimpleSceneIntegration {
     public static void receiveMessage(IposMsgRcvEvent iposMsgRcvEvent, String monitoringTaskId, String serializationType){
         if (iposMsgRcvEvent != null){
             SimpleScene.IposMsgRcvEvent iposMsgRcvEvent_proto = SimpleSceneTransformer.iposMsgRcvEvent_internal2proto(iposMsgRcvEvent);
-            OtherUtility.publishRespectingSerializationType(monitoringTaskId, serializationType, iposMsgRcvEvent_proto);
+            SimpleScene.IposMonitoringWrapper iposMonitoringWrapper_proto = wrapIntoMonitoringWrapper(iposMsgRcvEvent_proto);
+            OtherUtility.publishRespectingSerializationType(monitoringTaskId, serializationType, iposMonitoringWrapper_proto);
         }else{
             LOG.warn("Warning: SimpleScene: Received empty IposMsgRcvEvent");
         }
     }
 
+    private static SimpleScene.IposMonitoringWrapper wrapIntoMonitoringWrapper(SimpleScene.IposPositionEvent posEvent_proto) {
+        SimpleScene.IposMonitoringWrapper.Builder iposMonitoringWrapper_proto = SimpleScene.IposMonitoringWrapper.newBuilder();
+        iposMonitoringWrapper_proto.addIposPositionEvents(posEvent_proto);
+        return iposMonitoringWrapper_proto.build();
+    }
+
+    private static SimpleScene.IposMonitoringWrapper wrapIntoMonitoringWrapper(SimpleScene.IposMsgRcvEvent iposMsg) {
+        SimpleScene.IposMonitoringWrapper.Builder iposMonitoringWrapper_proto = SimpleScene.IposMonitoringWrapper.newBuilder();
+        iposMonitoringWrapper_proto.addIposMsgRcvEvents(iposMsg);
+        return iposMonitoringWrapper_proto.build();
+    }
+
     private static void logging_op(PositionEvent positionEvent, String monitoringTaskId, String serializationType) {
         LOG.info("OP: Publishing PositionEvent on topic " + monitoringTaskId + ": ZoneDescriptors:" + logZoneDescr(positionEvent.getZonedescriptors()) + "; serializationType: " + serializationType);
         LOG.info("OP:");
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMExtractedAttributes.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMExtractedAttributes.java
index 9c42cb0..0407139 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMExtractedAttributes.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMExtractedAttributes.java
@@ -16,6 +16,7 @@ import org.eclipse.emf.ecore.EObject;
  *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes#getBatteryChargeLevel <em>Battery Charge Level</em>}</li>
  *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes#getLoadedItems <em>Loaded Items</em>}</li>
  *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes#getErrors <em>Errors</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes#getTheta <em>Theta</em>}</li>
  * </ul>
  *
  * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMExtractedAttributes()
@@ -89,4 +90,26 @@ public interface OSMExtractedAttributes extends EObject {
 	 */
 	void setErrors(int[] value);
 
+	/**
+	 * Returns the value of the '<em><b>Theta</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Theta</em>' attribute.
+	 * @see #setTheta(float)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMExtractedAttributes_Theta()
+	 * @model
+	 * @generated
+	 */
+	float getTheta();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes#getTheta <em>Theta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Theta</em>' attribute.
+	 * @see #getTheta()
+	 * @generated
+	 */
+	void setTheta(float value);
+
 } // OSMExtractedAttributes
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMObject.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMObject.java
deleted file mode 100644
index 9d4dfbc..0000000
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMObject.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/**
- */
-package ipos.project.DataModellntegration.iPos_Datamodel.OSM;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Object</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getId <em>Id</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getSensorId <em>Sensor Id</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getType <em>Type</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getSensorType <em>Sensor Type</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmposition <em>Osmposition</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmorientation <em>Osmorientation</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmextractedattributes <em>Osmextractedattributes</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getLastPosUpdate <em>Last Pos Update</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmzonedescriptor <em>Osmzonedescriptor</em>}</li>
- * </ul>
- *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject()
- * @model
- * @generated
- */
-public interface OSMObject extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Id</em>' attribute.
-	 * @see #setId(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_Id()
-	 * @model
-	 * @generated
-	 */
-	String getId();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getId <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Id</em>' attribute.
-	 * @see #getId()
-	 * @generated
-	 */
-	void setId(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Sensor Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Sensor Id</em>' attribute.
-	 * @see #setSensorId(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_SensorId()
-	 * @model
-	 * @generated
-	 */
-	String getSensorId();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getSensorId <em>Sensor Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Sensor Id</em>' attribute.
-	 * @see #getSensorId()
-	 * @generated
-	 */
-	void setSensorId(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_Type()
-	 * @model
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Sensor Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Sensor Type</em>' attribute.
-	 * @see #setSensorType(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_SensorType()
-	 * @model
-	 * @generated
-	 */
-	String getSensorType();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getSensorType <em>Sensor Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Sensor Type</em>' attribute.
-	 * @see #getSensorType()
-	 * @generated
-	 */
-	void setSensorType(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Osmposition</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Osmposition</em>' reference.
-	 * @see #setOsmposition(OSMPosition)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_Osmposition()
-	 * @model
-	 * @generated
-	 */
-	OSMPosition getOsmposition();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmposition <em>Osmposition</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Osmposition</em>' reference.
-	 * @see #getOsmposition()
-	 * @generated
-	 */
-	void setOsmposition(OSMPosition value);
-
-	/**
-	 * Returns the value of the '<em><b>Osmorientation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Osmorientation</em>' reference.
-	 * @see #setOsmorientation(OSMOrientation)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_Osmorientation()
-	 * @model
-	 * @generated
-	 */
-	OSMOrientation getOsmorientation();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmorientation <em>Osmorientation</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Osmorientation</em>' reference.
-	 * @see #getOsmorientation()
-	 * @generated
-	 */
-	void setOsmorientation(OSMOrientation value);
-
-	/**
-	 * Returns the value of the '<em><b>Osmextractedattributes</b></em>' reference list.
-	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Osmextractedattributes</em>' reference list.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_Osmextractedattributes()
-	 * @model
-	 * @generated
-	 */
-	EList<OSMExtractedAttributes> getOsmextractedattributes();
-
-	/**
-	 * Returns the value of the '<em><b>Last Pos Update</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Last Pos Update</em>' attribute.
-	 * @see #setLastPosUpdate(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_LastPosUpdate()
-	 * @model
-	 * @generated
-	 */
-	String getLastPosUpdate();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getLastPosUpdate <em>Last Pos Update</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Last Pos Update</em>' attribute.
-	 * @see #getLastPosUpdate()
-	 * @generated
-	 */
-	void setLastPosUpdate(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Osmzonedescriptor</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Osmzonedescriptor</em>' reference.
-	 * @see #setOsmzonedescriptor(OSMZoneDescriptor)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMPackage#getOSMObject_Osmzonedescriptor()
-	 * @model
-	 * @generated
-	 */
-	OSMZoneDescriptor getOsmzonedescriptor();
-
-	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmzonedescriptor <em>Osmzonedescriptor</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Osmzonedescriptor</em>' reference.
-	 * @see #getOsmzonedescriptor()
-	 * @generated
-	 */
-	void setOsmzonedescriptor(OSMZoneDescriptor value);
-
-} // OSMObject
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMPackage.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMPackage.java
index 516b4bd..63c47c0 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMPackage.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/OSMPackage.java
@@ -121,7 +121,7 @@ public interface OSMPackage extends EPackage {
 	int OSM_OBJECT__OSMORIENTATION = 5;
 
 	/**
-	 * The feature id for the '<em><b>Osmextractedattributes</b></em>' reference list.
+	 * The feature id for the '<em><b>Osmextractedattributes</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -139,7 +139,7 @@ public interface OSMPackage extends EPackage {
 	int OSM_OBJECT__LAST_POS_UPDATE = 7;
 
 	/**
-	 * The feature id for the '<em><b>Osmzonedescriptor</b></em>' reference.
+	 * The feature id for the '<em><b>Osmzonedescriptor</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -376,6 +376,15 @@ public interface OSMPackage extends EPackage {
 	 */
 	int OSM_EXTRACTED_ATTRIBUTES__ERRORS = 2;
 
+	/**
+	 * The feature id for the '<em><b>Theta</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OSM_EXTRACTED_ATTRIBUTES__THETA = 3;
+
 	/**
 	 * The number of structural features of the '<em>Extracted Attributes</em>' class.
 	 * <!-- begin-user-doc -->
@@ -383,7 +392,7 @@ public interface OSMPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int OSM_EXTRACTED_ATTRIBUTES_FEATURE_COUNT = 3;
+	int OSM_EXTRACTED_ATTRIBUTES_FEATURE_COUNT = 4;
 
 	/**
 	 * The number of operations of the '<em>Extracted Attributes</em>' class.
@@ -563,10 +572,10 @@ public interface OSMPackage extends EPackage {
 	EReference getOSMObject_Osmorientation();
 
 	/**
-	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmextractedattributes <em>Osmextractedattributes</em>}'.
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmextractedattributes <em>Osmextractedattributes</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference list '<em>Osmextractedattributes</em>'.
+	 * @return the meta object for the reference '<em>Osmextractedattributes</em>'.
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmextractedattributes()
 	 * @see #getOSMObject()
 	 * @generated
@@ -585,10 +594,10 @@ public interface OSMPackage extends EPackage {
 	EAttribute getOSMObject_LastPosUpdate();
 
 	/**
-	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmzonedescriptor <em>Osmzonedescriptor</em>}'.
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmzonedescriptor <em>Osmzonedescriptor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Osmzonedescriptor</em>'.
+	 * @return the meta object for the reference list '<em>Osmzonedescriptor</em>'.
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject#getOsmzonedescriptor()
 	 * @see #getOSMObject()
 	 * @generated
@@ -778,6 +787,17 @@ public interface OSMPackage extends EPackage {
 	 */
 	EAttribute getOSMExtractedAttributes_Errors();
 
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes#getTheta <em>Theta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Theta</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMExtractedAttributes#getTheta()
+	 * @see #getOSMExtractedAttributes()
+	 * @generated
+	 */
+	EAttribute getOSMExtractedAttributes_Theta();
+
 	/**
 	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMZoneDescriptor <em>Zone Descriptor</em>}'.
 	 * <!-- begin-user-doc -->
@@ -924,7 +944,7 @@ public interface OSMPackage extends EPackage {
 		EReference OSM_OBJECT__OSMORIENTATION = eINSTANCE.getOSMObject_Osmorientation();
 
 		/**
-		 * The meta object literal for the '<em><b>Osmextractedattributes</b></em>' reference list feature.
+		 * The meta object literal for the '<em><b>Osmextractedattributes</b></em>' reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
@@ -940,7 +960,7 @@ public interface OSMPackage extends EPackage {
 		EAttribute OSM_OBJECT__LAST_POS_UPDATE = eINSTANCE.getOSMObject_LastPosUpdate();
 
 		/**
-		 * The meta object literal for the '<em><b>Osmzonedescriptor</b></em>' reference feature.
+		 * The meta object literal for the '<em><b>Osmzonedescriptor</b></em>' reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
@@ -1092,6 +1112,14 @@ public interface OSMPackage extends EPackage {
 		 */
 		EAttribute OSM_EXTRACTED_ATTRIBUTES__ERRORS = eINSTANCE.getOSMExtractedAttributes_Errors();
 
+		/**
+		 * The meta object literal for the '<em><b>Theta</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute OSM_EXTRACTED_ATTRIBUTES__THETA = eINSTANCE.getOSMExtractedAttributes_Theta();
+
 		/**
 		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.impl.OSMZoneDescriptorImpl <em>Zone Descriptor</em>}' class.
 		 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMExtractedAttributesImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMExtractedAttributesImpl.java
index 8e64cf4..6aa6022 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMExtractedAttributesImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMExtractedAttributesImpl.java
@@ -23,6 +23,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
  *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.impl.OSMExtractedAttributesImpl#getBatteryChargeLevel <em>Battery Charge Level</em>}</li>
  *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.impl.OSMExtractedAttributesImpl#getLoadedItems <em>Loaded Items</em>}</li>
  *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.impl.OSMExtractedAttributesImpl#getErrors <em>Errors</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OSM.impl.OSMExtractedAttributesImpl#getTheta <em>Theta</em>}</li>
  * </ul>
  *
  * @generated
@@ -88,6 +89,26 @@ public class OSMExtractedAttributesImpl extends MinimalEObjectImpl.Container imp
 	 */
 	protected int[] errors = ERRORS_EDEFAULT;
 
+	/**
+	 * The default value of the '{@link #getTheta() <em>Theta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTheta()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final float THETA_EDEFAULT = 0.0F;
+
+	/**
+	 * The cached value of the '{@link #getTheta() <em>Theta</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTheta()
+	 * @generated
+	 * @ordered
+	 */
+	protected float theta = THETA_EDEFAULT;
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174,6 +195,28 @@ public class OSMExtractedAttributesImpl extends MinimalEObjectImpl.Container imp
 					oldErrors, errors));
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public float getTheta() {
+		return theta;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTheta(float newTheta) {
+		float oldTheta = theta;
+		theta = newTheta;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OSMPackage.OSM_EXTRACTED_ATTRIBUTES__THETA, oldTheta,
+					theta));
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188,6 +231,8 @@ public class OSMExtractedAttributesImpl extends MinimalEObjectImpl.Container imp
 			return getLoadedItems();
 		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__ERRORS:
 			return getErrors();
+		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__THETA:
+			return getTheta();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -209,6 +254,9 @@ public class OSMExtractedAttributesImpl extends MinimalEObjectImpl.Container imp
 		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__ERRORS:
 			setErrors((int[]) newValue);
 			return;
+		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__THETA:
+			setTheta((Float) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -230,6 +278,9 @@ public class OSMExtractedAttributesImpl extends MinimalEObjectImpl.Container imp
 		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__ERRORS:
 			setErrors(ERRORS_EDEFAULT);
 			return;
+		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__THETA:
+			setTheta(THETA_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -248,6 +299,8 @@ public class OSMExtractedAttributesImpl extends MinimalEObjectImpl.Container imp
 			return LOADED_ITEMS_EDEFAULT == null ? loadedItems != null : !LOADED_ITEMS_EDEFAULT.equals(loadedItems);
 		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__ERRORS:
 			return ERRORS_EDEFAULT == null ? errors != null : !ERRORS_EDEFAULT.equals(errors);
+		case OSMPackage.OSM_EXTRACTED_ATTRIBUTES__THETA:
+			return theta != THETA_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -269,6 +322,8 @@ public class OSMExtractedAttributesImpl extends MinimalEObjectImpl.Container imp
 		result.append(loadedItems);
 		result.append(", errors: ");
 		result.append(errors);
+		result.append(", theta: ");
+		result.append(theta);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMObjectImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMObjectImpl.java
index c89b352..25d6ccd 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMObjectImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMObjectImpl.java
@@ -146,14 +146,14 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	protected OSMOrientation osmorientation;
 
 	/**
-	 * The cached value of the '{@link #getOsmextractedattributes() <em>Osmextractedattributes</em>}' reference list.
+	 * The cached value of the '{@link #getOsmextractedattributes() <em>Osmextractedattributes</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getOsmextractedattributes()
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<OSMExtractedAttributes> osmextractedattributes;
+	protected OSMExtractedAttributes osmextractedattributes;
 
 	/**
 	 * The default value of the '{@link #getLastPosUpdate() <em>Last Pos Update</em>}' attribute.
@@ -176,14 +176,14 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	protected String lastPosUpdate = LAST_POS_UPDATE_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getOsmzonedescriptor() <em>Osmzonedescriptor</em>}' reference.
+	 * The cached value of the '{@link #getOsmzonedescriptor() <em>Osmzonedescriptor</em>}' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getOsmzonedescriptor()
 	 * @generated
 	 * @ordered
 	 */
-	protected OSMZoneDescriptor osmzonedescriptor;
+	protected EList<OSMZoneDescriptor> osmzonedescriptor;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -375,10 +375,16 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EList<OSMExtractedAttributes> getOsmextractedattributes() {
-		if (osmextractedattributes == null) {
-			osmextractedattributes = new EObjectResolvingEList<OSMExtractedAttributes>(OSMExtractedAttributes.class,
-					this, OSMPackage.OSM_OBJECT__OSMEXTRACTEDATTRIBUTES);
+	public OSMExtractedAttributes getOsmextractedattributes() {
+		if (osmextractedattributes != null && osmextractedattributes.eIsProxy()) {
+			InternalEObject oldOsmextractedattributes = (InternalEObject) osmextractedattributes;
+			osmextractedattributes = (OSMExtractedAttributes) eResolveProxy(oldOsmextractedattributes);
+			if (osmextractedattributes != oldOsmextractedattributes) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							OSMPackage.OSM_OBJECT__OSMEXTRACTEDATTRIBUTES, oldOsmextractedattributes,
+							osmextractedattributes));
+			}
 		}
 		return osmextractedattributes;
 	}
@@ -388,8 +394,8 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String getLastPosUpdate() {
-		return lastPosUpdate;
+	public OSMExtractedAttributes basicGetOsmextractedattributes() {
+		return osmextractedattributes;
 	}
 
 	/**
@@ -397,12 +403,12 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setLastPosUpdate(String newLastPosUpdate) {
-		String oldLastPosUpdate = lastPosUpdate;
-		lastPosUpdate = newLastPosUpdate;
+	public void setOsmextractedattributes(OSMExtractedAttributes newOsmextractedattributes) {
+		OSMExtractedAttributes oldOsmextractedattributes = osmextractedattributes;
+		osmextractedattributes = newOsmextractedattributes;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, OSMPackage.OSM_OBJECT__LAST_POS_UPDATE,
-					oldLastPosUpdate, lastPosUpdate));
+			eNotify(new ENotificationImpl(this, Notification.SET, OSMPackage.OSM_OBJECT__OSMEXTRACTEDATTRIBUTES,
+					oldOsmextractedattributes, osmextractedattributes));
 	}
 
 	/**
@@ -410,17 +416,8 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public OSMZoneDescriptor getOsmzonedescriptor() {
-		if (osmzonedescriptor != null && osmzonedescriptor.eIsProxy()) {
-			InternalEObject oldOsmzonedescriptor = (InternalEObject) osmzonedescriptor;
-			osmzonedescriptor = (OSMZoneDescriptor) eResolveProxy(oldOsmzonedescriptor);
-			if (osmzonedescriptor != oldOsmzonedescriptor) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, OSMPackage.OSM_OBJECT__OSMZONEDESCRIPTOR,
-							oldOsmzonedescriptor, osmzonedescriptor));
-			}
-		}
-		return osmzonedescriptor;
+	public String getLastPosUpdate() {
+		return lastPosUpdate;
 	}
 
 	/**
@@ -428,8 +425,12 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public OSMZoneDescriptor basicGetOsmzonedescriptor() {
-		return osmzonedescriptor;
+	public void setLastPosUpdate(String newLastPosUpdate) {
+		String oldLastPosUpdate = lastPosUpdate;
+		lastPosUpdate = newLastPosUpdate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OSMPackage.OSM_OBJECT__LAST_POS_UPDATE,
+					oldLastPosUpdate, lastPosUpdate));
 	}
 
 	/**
@@ -437,12 +438,12 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setOsmzonedescriptor(OSMZoneDescriptor newOsmzonedescriptor) {
-		OSMZoneDescriptor oldOsmzonedescriptor = osmzonedescriptor;
-		osmzonedescriptor = newOsmzonedescriptor;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, OSMPackage.OSM_OBJECT__OSMZONEDESCRIPTOR,
-					oldOsmzonedescriptor, osmzonedescriptor));
+	public EList<OSMZoneDescriptor> getOsmzonedescriptor() {
+		if (osmzonedescriptor == null) {
+			osmzonedescriptor = new EObjectResolvingEList<OSMZoneDescriptor>(OSMZoneDescriptor.class, this,
+					OSMPackage.OSM_OBJECT__OSMZONEDESCRIPTOR);
+		}
+		return osmzonedescriptor;
 	}
 
 	/**
@@ -470,13 +471,13 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 				return getOsmorientation();
 			return basicGetOsmorientation();
 		case OSMPackage.OSM_OBJECT__OSMEXTRACTEDATTRIBUTES:
-			return getOsmextractedattributes();
+			if (resolve)
+				return getOsmextractedattributes();
+			return basicGetOsmextractedattributes();
 		case OSMPackage.OSM_OBJECT__LAST_POS_UPDATE:
 			return getLastPosUpdate();
 		case OSMPackage.OSM_OBJECT__OSMZONEDESCRIPTOR:
-			if (resolve)
-				return getOsmzonedescriptor();
-			return basicGetOsmzonedescriptor();
+			return getOsmzonedescriptor();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -509,14 +510,14 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 			setOsmorientation((OSMOrientation) newValue);
 			return;
 		case OSMPackage.OSM_OBJECT__OSMEXTRACTEDATTRIBUTES:
-			getOsmextractedattributes().clear();
-			getOsmextractedattributes().addAll((Collection<? extends OSMExtractedAttributes>) newValue);
+			setOsmextractedattributes((OSMExtractedAttributes) newValue);
 			return;
 		case OSMPackage.OSM_OBJECT__LAST_POS_UPDATE:
 			setLastPosUpdate((String) newValue);
 			return;
 		case OSMPackage.OSM_OBJECT__OSMZONEDESCRIPTOR:
-			setOsmzonedescriptor((OSMZoneDescriptor) newValue);
+			getOsmzonedescriptor().clear();
+			getOsmzonedescriptor().addAll((Collection<? extends OSMZoneDescriptor>) newValue);
 			return;
 		}
 		super.eSet(featureID, newValue);
@@ -549,13 +550,13 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 			setOsmorientation((OSMOrientation) null);
 			return;
 		case OSMPackage.OSM_OBJECT__OSMEXTRACTEDATTRIBUTES:
-			getOsmextractedattributes().clear();
+			setOsmextractedattributes((OSMExtractedAttributes) null);
 			return;
 		case OSMPackage.OSM_OBJECT__LAST_POS_UPDATE:
 			setLastPosUpdate(LAST_POS_UPDATE_EDEFAULT);
 			return;
 		case OSMPackage.OSM_OBJECT__OSMZONEDESCRIPTOR:
-			setOsmzonedescriptor((OSMZoneDescriptor) null);
+			getOsmzonedescriptor().clear();
 			return;
 		}
 		super.eUnset(featureID);
@@ -582,12 +583,12 @@ public class OSMObjectImpl extends MinimalEObjectImpl.Container implements OSMOb
 		case OSMPackage.OSM_OBJECT__OSMORIENTATION:
 			return osmorientation != null;
 		case OSMPackage.OSM_OBJECT__OSMEXTRACTEDATTRIBUTES:
-			return osmextractedattributes != null && !osmextractedattributes.isEmpty();
+			return osmextractedattributes != null;
 		case OSMPackage.OSM_OBJECT__LAST_POS_UPDATE:
 			return LAST_POS_UPDATE_EDEFAULT == null ? lastPosUpdate != null
 					: !LAST_POS_UPDATE_EDEFAULT.equals(lastPosUpdate);
 		case OSMPackage.OSM_OBJECT__OSMZONEDESCRIPTOR:
-			return osmzonedescriptor != null;
+			return osmzonedescriptor != null && !osmzonedescriptor.isEmpty();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMPackageImpl.java
index 27196ff..6ff26b2 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMPackageImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OSM/impl/OSMPackageImpl.java
@@ -434,6 +434,15 @@ public class OSMPackageImpl extends EPackageImpl implements OSMPackage {
 		return (EAttribute) osmExtractedAttributesEClass.getEStructuralFeatures().get(2);
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getOSMExtractedAttributes_Theta() {
+		return (EAttribute) osmExtractedAttributesEClass.getEStructuralFeatures().get(3);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -548,6 +557,7 @@ public class OSMPackageImpl extends EPackageImpl implements OSMPackage {
 		createEAttribute(osmExtractedAttributesEClass, OSM_EXTRACTED_ATTRIBUTES__BATTERY_CHARGE_LEVEL);
 		createEAttribute(osmExtractedAttributesEClass, OSM_EXTRACTED_ATTRIBUTES__LOADED_ITEMS);
 		createEAttribute(osmExtractedAttributesEClass, OSM_EXTRACTED_ATTRIBUTES__ERRORS);
+		createEAttribute(osmExtractedAttributesEClass, OSM_EXTRACTED_ATTRIBUTES__THETA);
 
 		osmZoneDescriptorEClass = createEClass(OSM_ZONE_DESCRIPTOR);
 		createEAttribute(osmZoneDescriptorEClass, OSM_ZONE_DESCRIPTOR__ZONE_ID);
@@ -610,13 +620,13 @@ public class OSMPackageImpl extends EPackageImpl implements OSMPackage {
 				OSMObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
 				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getOSMObject_Osmextractedattributes(), this.getOSMExtractedAttributes(), null,
-				"osmextractedattributes", null, 0, -1, OSMObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				"osmextractedattributes", null, 0, 1, OSMObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
 				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getOSMObject_LastPosUpdate(), ecorePackage.getEString(), "lastPosUpdate", null, 0, 1,
 				OSMObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
 				!IS_DERIVED, IS_ORDERED);
 		initEReference(getOSMObject_Osmzonedescriptor(), this.getOSMZoneDescriptor(), null, "osmzonedescriptor", null,
-				0, 1, OSMObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				0, -1, OSMObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
 				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(osmPositionEClass, OSMPosition.class, "OSMPosition", !IS_ABSTRACT, !IS_INTERFACE,
@@ -661,6 +671,9 @@ public class OSMPackageImpl extends EPackageImpl implements OSMPackage {
 		initEAttribute(getOSMExtractedAttributes_Errors(), theIPos_DatamodelPackage.getIntArray(), "errors", null, 0, 1,
 				OSMExtractedAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
 				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getOSMExtractedAttributes_Theta(), ecorePackage.getEFloat(), "theta", null, 0, 1,
+				OSMExtractedAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(osmZoneDescriptorEClass, OSMZoneDescriptor.class, "OSMZoneDescriptor", !IS_ABSTRACT, !IS_INTERFACE,
 				IS_GENERATED_INSTANCE_CLASS);
diff --git a/src/main/java/ipos/project/MainApp.java b/src/main/java/ipos/project/MainApp.java
index 1be2cea..7e0f566 100644
--- a/src/main/java/ipos/project/MainApp.java
+++ b/src/main/java/ipos/project/MainApp.java
@@ -39,7 +39,6 @@ public class MainApp {
     public static final String COMMAND_OP_EVTS = "opevts testdata";
     public static final String COMMAND_SDF = "sdf testdata";
     public static final String COMMAND_TOOZ_TARGET = "tooz setMonitoringTarget";
-    public static final String COMMAND_OSM_TARGET = "setMonitoringTarget osm";
     public static final String COMMAND_TOOZ = "tooz testdata";
     public static final String COMMAND_VDA5050 = "testdata VDA5050";
     public static final String COMMAND_EXIT = "exit";
@@ -68,12 +67,11 @@ public class MainApp {
                     case COMMAND_INIT_INDFRO: initIndfro(); break;
                     case COMMAND_INIT_SDF: initSdf(); break;
                     case COMMAND_INIT_OP: initOp(); break;
-                    case COMMAND_INIT_OSM: initOSM(); break;
+                    case COMMAND_INIT_OSM: initOSM(TESTDATA_OSM_MONTARGET); break;
                     case COMMAND_EXIT : proceed = false; break;
                     case COMMAND_HELP: printCommands(); break;
                     case COMMAND_INDFRO: GenericSensorValueProcessor.processTestData(TESTDATA_INDFRO); break;
                     case COMMAND_TOOZ_TARGET: Tooz.processMonTargetTestdata(TESTDATA_TOOZ_MONTARGET); break;
-                    case COMMAND_OSM_TARGET: OSM.processMonTargetTestdata(TESTDATA_OSM_MONTARGET); break;
                     case COMMAND_VDA5050: VDA5050Processor.processTestData(TESTDATA_VDA5050); break;
                     case COMMAND_TOOZ: GenericSensorValueProcessor.processTestData(TESTDATA_TOOZ); break;
                     case COMMAND_SDF: GenericSensorValueProcessor.processTestData(TESTDATA_SDF); break;
@@ -86,8 +84,8 @@ public class MainApp {
         }
     }
 
-    private static void initOSM() {
-        int[] intlist;
+    private static void initOSM(String testdataOsmMontarget) {
+        OSM.processTestData(testdataOsmMontarget);
     }
 
     private static void initIndfro() {
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPicker.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPicker.java
index e93f1f3..c230ae9 100644
--- a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPicker.java
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPicker.java
@@ -97,7 +97,7 @@ public class OFBizOrderPicker {
     public static void processPosEvtTestData(String path_to_test_data_file){
         File testDataFile = new File(path_to_test_data_file);
         for (String line : OtherUtility.readLines(testDataFile)) {
-            OFBizOrderPickerMqtt.handleJsonPosEvt(line);
+            OFBizOrderPickerMqtt.handleIPosMonitoringWrapper(line);
         }
     }
 }
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerMqtt.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerMqtt.java
index c4f3d49..04186ad 100644
--- a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerMqtt.java
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerMqtt.java
@@ -39,18 +39,23 @@ public class OFBizOrderPickerMqtt implements Handler {
 
     @Override
     public void handle(MqttMessage message) {
-        handleJsonPosEvt(message.toString());
+        handleIPosMonitoringWrapper(message.toString());
     }
 
-    public static void handleJsonPosEvt(String jsonPosEvt){
+    static void handleIPosMonitoringWrapper(String jsonMsg) {
         try {
-            SimpleScene.IposPositionEvent proto_positionEvent = ProtoJsonMap.fromJson(jsonPosEvt, SimpleScene.IposPositionEvent.class);
-            List<IposPositionEvent> internal_iposPositionEvents = IPos2protoTransformer.transformToInternal(proto_positionEvent);
-            for (IposPositionEvent iposPositionEvent : internal_iposPositionEvents){
-                OFBizOrderPicker.ofbizOpIposExt.handlePositionEvent(iposPositionEvent);
-            }
+            SimpleScene.IposMonitoringWrapper iPosMonitoringWrapper = ProtoJsonMap.fromJson(jsonMsg, SimpleScene.IposMonitoringWrapper.class);
+            iPosMonitoringWrapper.getIposPositionEventsList().stream().forEach(iposPositionEvent_proto -> handleJsonPosEvt(iposPositionEvent_proto));
         } catch (InvalidProtocolBufferException e) {
             e.printStackTrace();
         }
     }
+
+    public static void handleJsonPosEvt(SimpleScene.IposPositionEvent proto_positionEvent){
+        // SimpleScene.IposPositionEvent proto_positionEvent = ProtoJsonMap.fromJson(jsonPosEvt, SimpleScene.IposPositionEvent.class);
+        List<IposPositionEvent> internal_iposPositionEvents = IPos2protoTransformer.transformToInternal(proto_positionEvent);
+        for (IposPositionEvent iposPositionEvent : internal_iposPositionEvents){
+            OFBizOrderPicker.ofbizOpIposExt.handlePositionEvent(iposPositionEvent);
+        }
+    }
 }
diff --git a/src/main/java/ipos/project/iposextension/osm/OSM.java b/src/main/java/ipos/project/iposextension/osm/OSM.java
index 2e5e996..8dfc82a 100644
--- a/src/main/java/ipos/project/iposextension/osm/OSM.java
+++ b/src/main/java/ipos/project/iposextension/osm/OSM.java
@@ -1,14 +1,20 @@
 package ipos.project.iposextension.osm;
 
+import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.VDA5050;
+import ipos.project.DataModellntegration.VDA5050Processor.api.MqttRequestHandler;
 import ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMMonitoringTarget;
 import ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject;
 import ipos.project.devkit.iposext.IPosArguments;
 import ipos.project.devkit.utility.ExternalPubServiceImpl;
 import ipos.project.devkit.utility.OtherUtility;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import org.apache.logging.log4j.LogManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.io.File;
+import java.util.Scanner;
 
 @Component
 public class OSM {
@@ -17,6 +23,7 @@ public class OSM {
     public static final String SERIALIZATIONTYPE_TOOZEXT_OUTPUT = "json";
     public static final String OSM_MONREQ = "{\"monitoringRequests\": [{\"properties\": [\"%s\"], \"monitoringTaskId\": \"%s\", \"refSystemId\": \"ROOT\", \"serializationType\": \"json\"}]}";
     public static final String TOPIC_OSM_ENVIRONMENT = "OSM_ENVIRONMENT";
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
 
     @Autowired
     public OSM(ExternalPubServiceImpl mqttService){
@@ -43,4 +50,13 @@ public class OSM {
         IPosArguments.IPosConfigData osmConf = new OSMArgs.OSMConf(OSMExt.TOPIC_OSM_EXT, osmMonitoringTarget_internal.getProtocol());
         osmExt.configureIpos(osmConf);
     }
+
+    public static void processTestData(String path_to_test_data_file){
+        File testDataFile = new File(path_to_test_data_file);
+        Scanner scanner = new Scanner(System.in);
+            for (String line : OtherUtility.readLines(testDataFile)) {
+                OSMExtInputMqtt.handleOsmExtInput(line);
+        }
+    }
+
 }
diff --git a/src/main/java/ipos/project/iposextension/osm/OSMExt.java b/src/main/java/ipos/project/iposextension/osm/OSMExt.java
index 24640bc..b382267 100644
--- a/src/main/java/ipos/project/iposextension/osm/OSMExt.java
+++ b/src/main/java/ipos/project/iposextension/osm/OSMExt.java
@@ -14,7 +14,7 @@ import static ipos.project.iposextension.tooz.Tooz.TOOZ_MONITORINGTASKID;
 
 public class OSMExt extends IPosExtension {
     public static final String TOPIC_OSM_EXT = "AGVViewer_VDA5050";
-    public static final String TOPIC_OSM_EXT_OUTPUT = "OSM_EXT_OUTPUT";
+    public static final String TOPIC_OSM_EXT_OUTPUT = "ipos/client/position";
     public static final String SERIALIZATION_TYPE_OSM_EXT = "json";
 
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
diff --git a/src/main/java/ipos/project/iposextension/osm/OSMExtInputMqtt.java b/src/main/java/ipos/project/iposextension/osm/OSMExtInputMqtt.java
index 0f93598..38440b1 100644
--- a/src/main/java/ipos/project/iposextension/osm/OSMExtInputMqtt.java
+++ b/src/main/java/ipos/project/iposextension/osm/OSMExtInputMqtt.java
@@ -27,6 +27,7 @@ public class OSMExtInputMqtt implements Handler {
     public static void handleOsmExtInput(String jsonMsg) {
         ipos.models.OSM.OSMExtInputWrapper osmInputWrapper = null;
         try {
+            LOG.info("OSM: Handling message in order to initialize OSM-application: " + jsonMsg);
             osmInputWrapper = ProtoJsonMap.fromJson(jsonMsg, ipos.models.OSM.OSMExtInputWrapper.class);
         } catch (InvalidProtocolBufferException e) {
             e.printStackTrace();
diff --git a/src/main/java/ipos/project/iposextension/osm/OSMExtOutputMqtt.java b/src/main/java/ipos/project/iposextension/osm/OSMExtOutputMqtt.java
index f5bbfa6..ee4da3d 100644
--- a/src/main/java/ipos/project/iposextension/osm/OSMExtOutputMqtt.java
+++ b/src/main/java/ipos/project/iposextension/osm/OSMExtOutputMqtt.java
@@ -9,7 +9,7 @@ import ipos.project.devkit.utility.OtherUtility;
 import org.apache.logging.log4j.LogManager;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
 
-@MqttListener("")
+@MqttListener("invalid_topic")
 public class OSMExtOutputMqtt implements Handler {
 
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
@@ -24,8 +24,15 @@ public class OSMExtOutputMqtt implements Handler {
 
     public static void transmitOSMObject(OSMObject osmObject, String topic, String serializationType){
         OSM.OSMObject osmObject_proto = OSMTrans.osmObject_internal2proto(osmObject);
+        OSM.OSMOutputWrapper osmOutputWrapper_proto = wrapIntoOutputWrapper(osmObject_proto);
         logging_osm(topic, serializationType, osmObject_proto);
-        OtherUtility.publishRespectingSerializationType(topic, serializationType, osmObject_proto);
+        OtherUtility.publishRespectingSerializationType(topic, serializationType, osmOutputWrapper_proto);
+    }
+
+    private static OSM.OSMOutputWrapper wrapIntoOutputWrapper(OSM.OSMObject osmObject_proto) {
+     OSM.OSMOutputWrapper.Builder osmOutputWrapper_proto = OSM.OSMOutputWrapper.newBuilder();
+     osmOutputWrapper_proto.addObjects(osmObject_proto);
+     return osmOutputWrapper_proto.build();
     }
 
     private static void logging_osm(String topic, String serializationType, OSM.OSMObject osmObject_proto) {
diff --git a/src/main/java/ipos/project/iposextension/osm/OSMIPosMonitoringWrapperMqtt.java b/src/main/java/ipos/project/iposextension/osm/OSMIPosMonitoringWrapperMqtt.java
index 1a15660..2b790fb 100644
--- a/src/main/java/ipos/project/iposextension/osm/OSMIPosMonitoringWrapperMqtt.java
+++ b/src/main/java/ipos/project/iposextension/osm/OSMIPosMonitoringWrapperMqtt.java
@@ -33,8 +33,9 @@ public class OSMIPosMonitoringWrapperMqtt implements Handler {
     // generierter code: grundsätzlich für jede mögliche Nachricht etwas generieren, nicht nur für IPosUWBEvent
     private void handleIPosMonitoringWrapper(String jsonMsg) {
         try {
+            LOG.info("OSM-app Received Message: " + jsonMsg + " on topic " + OSMExt.TOPIC_OSM_EXT);
             SimpleScene.IposMonitoringWrapper iPosMonitoringWrapper = ProtoJsonMap.fromJson(jsonMsg, SimpleScene.IposMonitoringWrapper.class);
-            iPosMonitoringWrapper.getIposMsgRcvEventList().stream().forEach(iposMsgRcvEvent -> this.handleIPosMsgRcvEvent(iposMsgRcvEvent));
+            iPosMonitoringWrapper.getIposMsgRcvEventsList().stream().forEach(iposMsgRcvEvent -> this.handleIPosMsgRcvEvent(iposMsgRcvEvent));
             iPosMonitoringWrapper.getIposPositionEventsList().stream().forEach(iposPositionEvent -> this.handleIPosPositionEvent(iposPositionEvent));
         } catch (InvalidProtocolBufferException e) {
             e.printStackTrace();
@@ -43,11 +44,17 @@ public class OSMIPosMonitoringWrapperMqtt implements Handler {
 
     private void handleIPosMsgRcvEvent(SimpleScene.IposMsgRcvEvent iPosMsgRcvEvent_proto) {
         OSMObject osmObject_internal = OSMTrans.msgRcvEv_proto2OSMObject(iPosMsgRcvEvent_proto);
+        LOG.info("OSM: Translated IPosMsgRcvEvent to OSMObject: " + osmObject_internal.toString());
         OSM.handleOSMObject(osmObject_internal);
     }
 
     private void handleIPosPositionEvent(SimpleScene.IposPositionEvent iPosPositionEvent_proto) {
-        OSMObject osmObject_internal = OSMTrans.posEv_proto2OSMObject(iPosPositionEvent_proto);
+        iPosPositionEvent_proto.getObjectsList().stream().forEach(iposObject -> handleIposObject(iposObject));
+    }
+
+    private void handleIposObject(SimpleScene.IposObject iposObject_proto) {
+        OSMObject osmObject_internal = OSMTrans.posEv_proto2OSMObject(iposObject_proto);
+        LOG.info("OSM: Translated IposObject into OSMObject: " + osmObject_internal.toString());
         OSM.handleOSMObject(osmObject_internal);
     }
 
diff --git a/src/main/java/ipos/project/iposextension/osm/OSMTrans.java b/src/main/java/ipos/project/iposextension/osm/OSMTrans.java
index c771b1a..67e6d3a 100644
--- a/src/main/java/ipos/project/iposextension/osm/OSMTrans.java
+++ b/src/main/java/ipos/project/iposextension/osm/OSMTrans.java
@@ -3,13 +3,17 @@ package ipos.project.iposextension.osm;
 import ipos.models.OSM;
 import ipos.models.SimpleScene;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
-import ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMFactory;
-import ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMMonitoringTarget;
-import ipos.project.DataModellntegration.iPos_Datamodel.OSM.OSMObject;
+import ipos.project.DataModellntegration.iPos_Datamodel.OSM.*;
+import org.apache.logging.log4j.LogManager;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
 
 public class OSMTrans {
     private static IPosDevKitFactory devKitFactory = IPosDevKitFactory.eINSTANCE;
     private static OSMFactory osmFactory = OSMFactory.eINSTANCE;
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
 
     public static OSMMonitoringTarget osmMonTarget_proto2internal(OSM.OSMMonitoringTarget osmMonitoringTarget_proto) {
         OSMMonitoringTarget osmMonitoringTarget_internal = osmFactory.createOSMMonitoringTarget();
@@ -18,18 +22,180 @@ public class OSMTrans {
         return osmMonitoringTarget_internal;
     }
 
-   public static OSM.OSMObject osmObject_internal2proto(OSMObject osmObject) {
+   public static OSM.OSMObject osmObject_internal2proto(OSMObject osmObject_internal) {
        OSM.OSMObject.Builder osmObject_proto = OSM.OSMObject.newBuilder();
+       if(null != osmObject_internal.getId()) osmObject_proto.setId(osmObject_internal.getId());
+       if(null != osmObject_internal.getSensorId()) osmObject_proto.setSensorId(osmObject_internal.getSensorId());
+       if(null != osmObject_internal.getType()) osmObject_proto.setType(osmObject_internal.getType());
+       if(null != osmObject_internal.getSensorType()) osmObject_proto.setSensorType(osmObject_internal.getSensorType());
+       if(null != osmObject_internal.getLastPosUpdate()) osmObject_proto.setLastPosUpdate(osmObject_internal.getLastPosUpdate());
+       if(null != osmObject_internal.getOsmposition()) osmObject_proto.setPosition(osmposition_internal2proto(osmObject_internal.getOsmposition()));
+       if(null != osmObject_internal.getOsmorientation()) osmObject_proto.setOrientation(osmorientation_internal2proto(osmObject_internal.getOsmorientation()));
+       if(null != osmObject_internal.getOsmzonedescriptor()) osmObject_proto.addAllZoneDescriptors(osmObject_internal.getOsmzonedescriptor().stream().map(OSMTrans::zdescr_osm2proto).collect(Collectors.toList()));
+       if(null != osmObject_internal.getOsmextractedattributes()) osmObject_proto.setExtractedAttributes(exAtr_internal2proto(osmObject_internal.getOsmextractedattributes()));
        return osmObject_proto.build();
    }
 
+    private static OSM.OSMExtractedAttributes exAtr_internal2proto(OSMExtractedAttributes osmExtractedattributes_internal) {
+        OSM.OSMExtractedAttributes.Builder osmExtractedAttributes_proto = OSM.OSMExtractedAttributes.newBuilder();
+        osmExtractedAttributes_proto.setTheta(osmExtractedattributes_internal.getTheta()); // getTheta default-value: 0.0F
+        osmExtractedAttributes_proto.setBatteryChargeLevel(osmExtractedattributes_internal.getBatteryChargeLevel()); // getBatteryChargeLevel default-value: 0.0F
+        if(null != osmExtractedattributes_internal.getErrors()) {
+            List<Integer> errorsAsList = Arrays.stream(osmExtractedattributes_internal.getErrors()).boxed().collect(Collectors.toList());
+            osmExtractedAttributes_proto.addAllErrors(errorsAsList);
+        }
+        if (null != osmExtractedattributes_internal.getLoadedItems()) {
+            List<Integer> loadsAsList = Arrays.stream(osmExtractedattributes_internal.getLoadedItems()).boxed().collect(Collectors.toList());
+            osmExtractedAttributes_proto.addAllLoadedItems(loadsAsList);
+        }
+        return osmExtractedAttributes_proto.build();
+    }
+
+    private static OSM.OSMZoneDescriptor zdescr_osm2proto(OSMZoneDescriptor osmZoneDescriptor_internal) {
+        OSM.OSMZoneDescriptor.Builder osmZoneDescriptor_proto = OSM.OSMZoneDescriptor.newBuilder();
+        if( null != osmZoneDescriptor_internal.getZoneId()) osmZoneDescriptor_proto.setZoneId(osmZoneDescriptor_internal.getZoneId());
+        if( null != osmZoneDescriptor_internal.getNotificationType()) osmZoneDescriptor_proto.setNotificationType(osmZoneDescriptor_internal.getNotificationType());
+        return osmZoneDescriptor_proto.build();
+    }
+
+    private static OSM.OSMOrientation osmorientation_internal2proto(OSMOrientation osmOrientation_internal) {
+        OSM.OSMOrientation.Builder osmOrientation_proto = OSM.OSMOrientation.newBuilder();
+        osmOrientation_proto.setX(osmOrientation_internal.getX()); // getX default-value: 0.0F
+        osmOrientation_proto.setY(osmOrientation_internal.getY()); // getY default-value: 0.0F
+        osmOrientation_proto.setZ(osmOrientation_internal.getZ()); // getZ default-value: 0.0F
+        osmOrientation_proto.setW(osmOrientation_internal.getW()); // getW default-value: 0.0F
+        return osmOrientation_proto.build();
+    }
+
+    private static OSM.OSMPosition osmposition_internal2proto(OSMPosition osmposition_internal) {
+        OSM.OSMPosition.Builder osmPosition_proto = OSM.OSMPosition.newBuilder();
+        if (null != osmposition_internal.getRefSystemId()) osmPosition_proto.setRefSystemId(osmposition_internal.getRefSystemId());
+        osmPosition_proto.setAccuracy(osmposition_internal.getAccuracy()); // accuracy-default value 0.0F
+        if (null != osmposition_internal.getOsmpoint()) osmPosition_proto.setPoint(osmpoint_internal2proto(osmposition_internal.getOsmpoint()));
+        return osmPosition_proto.build();
+    }
+
+    private static OSM.OSMPoint osmpoint_internal2proto(OSMPoint osmpoint_internal) {
+        OSM.OSMPoint.Builder osmPoint_proto = OSM.OSMPoint.newBuilder();
+        osmPoint_proto.setX(osmpoint_internal.getX());
+        osmPoint_proto.setY(osmpoint_internal.getY());
+        osmPoint_proto.setZ(osmpoint_internal.getZ());
+        return osmPoint_proto.build();
+    }
+
     public static OSMObject msgRcvEv_proto2OSMObject(SimpleScene.IposMsgRcvEvent iPosMsgRcvEvent_proto) {
         OSMObject osmObject_internal = osmFactory.createOSMObject();
+        osmObject_internal.setId(iPosMsgRcvEvent_proto.getAgentId());
+        osmObject_internal.setSensorId(iPosMsgRcvEvent_proto.getAgentId()); // Annahme: für VDA5050-artige Protokolle gilt: sensorId == agentId
+        osmObject_internal.setType(""); // Annahme: VDA5050-artige Protokolle schicken zwar meist Nachrichten von AGVs, geben aber den Agententyp typischerweise nicht an
+        osmObject_internal.setSensorType(""); // Annahme: VDA5050-artige Protokolle berechnen zwar die Position aber schicken nicht unbedingt die Information Sensortype mit
+        osmObject_internal.setLastPosUpdate(iPosMsgRcvEvent_proto.getLastPosUpdate());
+        if (null != iPosMsgRcvEvent_proto.getLastKnownPosition()) {
+            OSMPosition osmPosition = position_proto2OSM(iPosMsgRcvEvent_proto.getLastKnownPosition());
+            osmObject_internal.setOsmposition(osmPosition);
+        }
+        if (null != iPosMsgRcvEvent_proto.getLastKnownOrientation()) {
+            OSMOrientation osmOrientation = orientation_proto2OSM(iPosMsgRcvEvent_proto.getLastKnownOrientation());
+            osmObject_internal.setOsmorientation(osmOrientation);
+        }
+        if (null != iPosMsgRcvEvent_proto.getLastKnownZoneDescriptorsList()) osmObject_internal.getOsmzonedescriptor().addAll(iPosMsgRcvEvent_proto.getLastKnownZoneDescriptorsList().stream().map(OSMTrans::zoneDescr_proto2OSM).collect(Collectors.toList()));
+        if (null != iPosMsgRcvEvent_proto.getExtractedAttributesList()) osmObject_internal.setOsmextractedattributes(exAtr_proto2OSM(iPosMsgRcvEvent_proto.getExtractedAttributesList()));
         return osmObject_internal;
     }
 
-    public static OSMObject posEv_proto2OSMObject(SimpleScene.IposPositionEvent iPosPositionEvent_proto) {
+    private static OSMExtractedAttributes exAtr_proto2OSM(List<SimpleScene.Attribute> extractedAttributes_proto) {
+        OSMExtractedAttributes osmExtractedAttributes = osmFactory.createOSMExtractedAttributes();
+        for (SimpleScene.Attribute attribute : extractedAttributes_proto) {
+            extractProtoAttributeIntoOSMAtr(osmExtractedAttributes, attribute);
+        }
+        return osmExtractedAttributes;
+    }
+
+    private static void extractProtoAttributeIntoOSMAtr(OSMExtractedAttributes osmExtractedAttributes, SimpleScene.Attribute attribute) {
+        try {
+            switch (attribute.getName()) {
+                case "batteryCharge":
+                    osmExtractedAttributes.setBatteryChargeLevel(Float.parseFloat(attribute.getData()));
+                    break;
+                case "theta":
+                    osmExtractedAttributes.setTheta(Float.parseFloat(attribute.getData())); break;
+                case "loads":
+                    osmExtractedAttributes.setLoadedItems(parseIntArray(attribute.getData())); break;
+                case "errors":
+                    osmExtractedAttributes.setErrors(parseIntArray(attribute.getData())); break;
+                default:
+                    LOG.info("Unknown extracted attribute: " + attribute.getName()); break;
+            }
+        } catch(NumberFormatException e){
+            LOG.info("Warning: Extracted attribute " + attribute.getName() + " could not be parsed: " + e.getMessage());
+        }
+    }
+
+    private static int[] parseIntArray(String data) {
+        String[] stringArray = data
+                .replaceAll("\\[", "")
+                .replaceAll("]", "")
+                .replaceAll("\\s+","") // removing whitespace
+                .split(",");
+        int[] intArray = new int[stringArray.length];
+        for (int i = 0; i < stringArray.length; i++) {
+             intArray[i] = Integer.parseInt(stringArray[i]);
+        }
+        return intArray;
+    }
+
+    private static OSMZoneDescriptor zoneDescr_proto2OSM(SimpleScene.IposZoneDescriptor iposZoneDescriptor) {
+        OSMZoneDescriptor osmZoneDescriptor = osmFactory.createOSMZoneDescriptor();
+        osmZoneDescriptor.setZoneId(iposZoneDescriptor.getZoneId());
+        osmZoneDescriptor.setNotificationType(iposZoneDescriptor.getNotificationType());
+        return osmZoneDescriptor;
+    }
+
+    private static OSMOrientation orientation_proto2OSM(SimpleScene.IposSimpleOrientation lastKnownOrientation) {
+        OSMOrientation orientation = osmFactory.createOSMOrientation();
+        orientation.setX(lastKnownOrientation.getX()); // getX-default: 0F
+        orientation.setY(lastKnownOrientation.getY());
+        orientation.setZ(lastKnownOrientation.getZ());
+        orientation.setW(lastKnownOrientation.getW());
+        return orientation;
+    }
+
+    private static OSMPosition position_proto2OSM(SimpleScene.IposPosition position_proto) {
+        OSMPosition position = osmFactory.createOSMPosition();
+        position.setRefSystemId(position_proto.getRefSystemId());
+        position.setAccuracy(position_proto.getAccuracy());
+        position.setOsmpoint(point_proto2OSM(position_proto.getPoint()));
+        return position;
+    }
+
+    private static OSMPoint point_proto2OSM(SimpleScene.IposPoint3D point_proto) {
+        OSMPoint osmPoint = osmFactory.createOSMPoint();
+        osmPoint.setX(point_proto.getX());
+        osmPoint.setY(point_proto.getY());
+        osmPoint.setZ(point_proto.getZ());
+        return osmPoint;
+    }
+
+
+    public static OSMObject posEv_proto2OSMObject(SimpleScene.IposObject iposObject_proto) {
         OSMObject osmObject_internal = osmFactory.createOSMObject();
+        osmObject_internal.setId(iposObject_proto.getId());
+        osmObject_internal.setSensorId(iposObject_proto.getSensorId());
+        osmObject_internal.setType(iposObject_proto.getType());
+        osmObject_internal.setSensorType(iposObject_proto.getSensorType());
+        osmObject_internal.setLastPosUpdate(iposObject_proto.getLastPosUpdate());
+        if (null != iposObject_proto.getPosition()) {
+            OSMPosition osmPosition = position_proto2OSM(iposObject_proto.getPosition());
+            osmObject_internal.setOsmposition(osmPosition);
+        }
+        if (null != iposObject_proto.getOrientation()) {
+            OSMOrientation osmOrientation = orientation_proto2OSM(iposObject_proto.getOrientation());
+            osmObject_internal.setOsmorientation(osmOrientation);
+        }
+        if (null != iposObject_proto.getZoneDescriptorsList()) {
+            osmObject_internal.getOsmzonedescriptor().addAll(
+                    iposObject_proto.getZoneDescriptorsList().stream().map(OSMTrans::zoneDescr_proto2OSM).collect(Collectors.toList()));
+        }
         return osmObject_internal;
     }
 }
diff --git a/testdata_raw_orderpicker_posEvts.txt b/testdata_raw_orderpicker_posEvts.txt
index 865e787..4561fe3 100644
--- a/testdata_raw_orderpicker_posEvts.txt
+++ b/testdata_raw_orderpicker_posEvts.txt
@@ -1,26 +1,8 @@
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_1", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_1", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_1", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_1", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_1", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_1", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_3", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_3", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_3", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_3", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_3", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_5", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_5", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_5", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "box_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
-{"objects" : [ 	{ 		"id" : "Employee_1", 		"sensorId" : "UWB_1", 		"type" : "HUMAN", 		"sensorType" : "UWB", 		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 		"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 	} ]}
\ No newline at end of file
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "box_1", "notificationType" : "undefined"}] 		} 	]} ]}
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "shipmentBin_5", "notificationType" : "undefined"}] 		} 	]} ]}
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "box_4", "notificationType" : "undefined"}] 		} 	]} ]}
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "shipmentBin_3", "notificationType" : "undefined"}] 		} 	]} ]}
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "box_5", "notificationType" : "undefined"}] 		} 	]} ]}
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "shipmentBin_3", "notificationType" : "undefined"}] 		} 	]} ]}
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "box_2", "notificationType" : "undefined"}] 		} 	]} ]}
+{"iposPositionEvents" : [ 	{"objects" : [ 		{ 			"id" : "Employee_1", 			"sensorId" : "UWB_1", 			"type" : "HUMAN", 			"sensorType" : "UWB", 			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01}, 			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}, 			"lastPosUpdate" : "2021-10-14T19:32:20+00:00", 			"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}] 		} 	]} ]}
\ No newline at end of file
diff --git a/testdata_raw_orderpicker_posEvts_readable.txt b/testdata_raw_orderpicker_posEvts_readable.txt
index c549bbe..f6bc0a7 100644
--- a/testdata_raw_orderpicker_posEvts_readable.txt
+++ b/testdata_raw_orderpicker_posEvts_readable.txt
@@ -1,96 +1,112 @@
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "box_1", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "box_1", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "shipmentBin_5", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "shipmentBin_5", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "box_4", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "box_4", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "shipmentBin_3", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "shipmentBin_3", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "box_5", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "box_5", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "shipmentBin_3", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "shipmentBin_3", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "box_2", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "box_2", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
-{"objects" : [
-	{
-		"id" : "Employee_1",
-		"sensorId" : "UWB_1",
-		"type" : "HUMAN",
-		"sensorType" : "UWB",
-		"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
-		"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
-		"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
-		"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}]
-	}
+{"iposPositionEvents" : [
+	{"objects" : [
+		{
+			"id" : "Employee_1",
+			"sensorId" : "UWB_1",
+			"type" : "HUMAN",
+			"sensorType" : "UWB",
+			"position" : {"refSystemId": "ROOT", "point": {"x": 0,"y": 0,"z": 0.97}, "accuracy": 0.01},
+			"orientation" : {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0},
+			"lastPosUpdate" : "2021-10-14T19:32:20+00:00",
+			"zoneDescriptors" : [{"zoneId" : "shipmentBin_2", "notificationType" : "undefined"}]
+		}
+	]}
 ]}
\ No newline at end of file
-- 
GitLab