diff --git a/build.gradle b/build.gradle
index fa1357edf34fe8c5344dd49b36ecd689a2514bfd..e8895f486a4db838f5de1cfb494ad31724d116e0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -38,6 +38,10 @@ repositories {
 	maven { url "https://packages.confluent.io/maven/" }
 }
 
+bootRun{
+	standardInput(System.in)
+}
+
 dependencies {
 	developmentOnly 'org.springframework.boot:spring-boot-devtools'
 	implementation 'org.eclipse.emf:org.eclipse.emf.ecore:2.+'
@@ -78,7 +82,8 @@ sourceSets {
 	main {
 		proto {
 			srcDirs "models/interfaces/GenericSensor",
-			        "models/interfaces/SimpleScene"
+			        "models/interfaces/SimpleScene",
+					"models/interfaces/OFBizOrderpicker"
 			// srcDir "src/main/resources"
 		}
 		java {
diff --git a/emf_datamodel/model/iPos_Datamodel.aird b/emf_datamodel/model/iPos_Datamodel.aird
index 674b02f910e4c561caf7cd2f36ec834d52ab2011..82db91d5c118ab307d3c98dca53d5483d69dc44b 100644
--- a/emf_datamodel/model/iPos_Datamodel.aird
+++ b/emf_datamodel/model/iPos_Datamodel.aird
@@ -13,7 +13,7 @@
         <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
         <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//OFBiz"/>
       </ownedRepresentationDescriptors>
-      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_FmM9IDx3EeyWNq6fFfWVSw" name="IPosDevKit" repPath="#_FmLvADx3EeyWNq6fFfWVSw" changeId="1dbbb490-11b1-4cea-9aca-88f2ec71f635">
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_FmM9IDx3EeyWNq6fFfWVSw" name="IPosDevKit" repPath="#_FmLvADx3EeyWNq6fFfWVSw" changeId="5d6cffd9-40cf-4e43-ae27-ccfd4f29d08b">
         <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
         <target xmi:type="ecore:EPackage" href="iPos_Datamodel.ecore#//IPosDevKit"/>
       </ownedRepresentationDescriptors>
@@ -3471,11 +3471,59 @@
           <styles xmi:type="notation:ShapeStyle" xmi:id="_GFHtxTx3EeyWNq6fFfWVSw" fontName="Segoe UI" fontHeight="8"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFHtxjx3EeyWNq6fFfWVSw" x="1620"/>
         </children>
+        <children xmi:type="notation:Node" xmi:id="_TTtGwD8bEeyWNq6fFfWVSw" type="2003" element="_TTCYYD8bEeyWNq6fFfWVSw">
+          <children xmi:type="notation:Node" xmi:id="_TTtt0D8bEeyWNq6fFfWVSw" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_TTtt0T8bEeyWNq6fFfWVSw" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_1Gu8YD8bEeyWNq6fFfWVSw" type="3010" element="_1F_VgD8bEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_1Gu8YT8bEeyWNq6fFfWVSw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_1Gu8Yj8bEeyWNq6fFfWVSw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="__9PL4D8bEeyWNq6fFfWVSw" type="3010" element="__83_gD8bEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="__9PL4T8bEeyWNq6fFfWVSw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="__9PL4j8bEeyWNq6fFfWVSw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_BI5GsD8cEeyWNq6fFfWVSw" type="3010" element="_BIooAD8cEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_BI5GsT8cEeyWNq6fFfWVSw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_BI5Gsj8cEeyWNq6fFfWVSw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_B6FTED8cEeyWNq6fFfWVSw" type="3010" element="_B52CgD8cEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_B6FTET8cEeyWNq6fFfWVSw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_B6FTEj8cEeyWNq6fFfWVSw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_E86K4D8cEeyWNq6fFfWVSw" type="3010" element="_E8oeED8cEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_E86K4T8cEeyWNq6fFfWVSw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_E86K4j8cEeyWNq6fFfWVSw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_mTvzwD8cEeyWNq6fFfWVSw" type="3010" element="_mTJW1j8cEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_mTvzwT8cEeyWNq6fFfWVSw" fontName="Segoe UI" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_mTvzwj8cEeyWNq6fFfWVSw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_mTwa0D8cEeyWNq6fFfWVSw" type="3010" element="_mTLzED8cEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_mTwa0T8cEeyWNq6fFfWVSw" fontName="Segoe UI" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_mTwa0j8cEeyWNq6fFfWVSw"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_mTwa0z8cEeyWNq6fFfWVSw" type="3010" element="_mTLzEj8cEeyWNq6fFfWVSw">
+              <styles xmi:type="notation:FontStyle" xmi:id="_mTwa1D8cEeyWNq6fFfWVSw" fontName="Segoe UI" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_mTwa1T8cEeyWNq6fFfWVSw"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_TTtt0j8bEeyWNq6fFfWVSw"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_TTtt0z8bEeyWNq6fFfWVSw"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_TTtGwT8bEeyWNq6fFfWVSw" fontName="Segoe UI" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TTtGwj8bEeyWNq6fFfWVSw" x="582" y="168" width="153" height="231"/>
+        </children>
         <styles xmi:type="notation:DiagramStyle" xmi:id="_FmNkMjx3EeyWNq6fFfWVSw"/>
       </data>
     </ownedAnnotationEntries>
     <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_FmPZYDx3EeyWNq6fFfWVSw" source="DANNOTATION_CUSTOMIZATION_KEY">
-      <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_FmPZYTx3EeyWNq6fFfWVSw"/>
+      <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_FmPZYTx3EeyWNq6fFfWVSw">
+        <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_mTLMAD8cEeyWNq6fFfWVSw" labelExpression="service:renderAsNode" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+          <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <labelFormat>bold</labelFormat>
+          <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
+        </computedStyleDescriptions>
+      </data>
     </ownedAnnotationEntries>
     <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_GE5EQDx3EeyWNq6fFfWVSw" name="TrackingRequest" tooltipText="" width="12" height="10">
       <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/TrackingRequest"/>
@@ -3637,6 +3685,78 @@
       </ownedStyle>
       <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
     </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_TTCYYD8bEeyWNq6fFfWVSw" name="IposPositionEvent" tooltipText="" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent"/>
+      <semanticElements xmi:type="ecore:EClass" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent"/>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_KV8sMD8cEeyWNq6fFfWVSw" 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="_1F_VgD8bEeyWNq6fFfWVSw" name="agentId : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/agentId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/agentId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_HwByzz8cEeyWNq6fFfWVSw" 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="__83_gD8bEeyWNq6fFfWVSw" name="sensorId : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/sensorId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/sensorId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_IZCTmz8cEeyWNq6fFfWVSw" 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="_BIooAD8cEeyWNq6fFfWVSw" name="type : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/type"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/type"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_JH5kpT8cEeyWNq6fFfWVSw" 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="_B52CgD8cEeyWNq6fFfWVSw" name="sensorType : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/sensorType"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/sensorType"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_JsF22T8cEeyWNq6fFfWVSw" 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="_E8oeED8cEeyWNq6fFfWVSw" name="lastPosUpdate : String" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/lastPosUpdate"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/lastPosUpdate"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_KV9TOj8cEeyWNq6fFfWVSw" 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="_mTJW1j8cEeyWNq6fFfWVSw" name=" position : Position" tooltipText="">
+        <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/position"/>
+        <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/position"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_mTLMAT8cEeyWNq6fFfWVSw" labelAlignment="LEFT" description="_mTLMAD8cEeyWNq6fFfWVSw" color="114,159,207">
+          <labelFormat>bold</labelFormat>
+        </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%20EReferenceNode']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_mTLzED8cEeyWNq6fFfWVSw" name=" orientation : Orientation" tooltipText="">
+        <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/orientation"/>
+        <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/orientation"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_mTLzET8cEeyWNq6fFfWVSw" labelAlignment="LEFT" description="_mTLMAD8cEeyWNq6fFfWVSw" color="114,159,207">
+          <labelFormat>bold</labelFormat>
+        </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%20EReferenceNode']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_mTLzEj8cEeyWNq6fFfWVSw" name=" zoneDescriptors : ZoneDescriptor" tooltipText="">
+        <target xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/zoneDescriptors"/>
+        <semanticElements xmi:type="ecore:EReference" href="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/zoneDescriptors"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_mTMaID8cEeyWNq6fFfWVSw" labelAlignment="LEFT" color="114,159,207">
+          <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%20EReferenceNode']/@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%20EReferenceNode']"/>
+      </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="_FmMWEDx3EeyWNq6fFfWVSw"/>
     <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
diff --git a/emf_datamodel/model/iPos_Datamodel.ecore b/emf_datamodel/model/iPos_Datamodel.ecore
index 56b3abdaffad86c7a2c66169c1b2352716ba4051..de00fce4222b9aa5867bdf30d48a482c7a6b2ba8 100644
--- a/emf_datamodel/model/iPos_Datamodel.ecore
+++ b/emf_datamodel/model/iPos_Datamodel.ecore
@@ -128,22 +128,6 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="zonedescriptors" upperBound="-1"
         eType="#//ZoneDescriptor"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TrackingRequest"/>
-  <eClassifiers xsi:type="ecore:EClass" name="MonitoringRequest">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="frameIds" eType="#//StringList"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="delta" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Float"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="updateFrequency" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Float"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//StringList"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="#//StringList"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fusionStrategy" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="exitNotification" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="properties" eType="#//StringList"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitoringTaskId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="requestorProtocol" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="serializationType" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="WorldModelUpdateRequest"/>
-  <eClassifiers xsi:type="ecore:EClass" name="DataStorageRequest"/>
   <eClassifiers xsi:type="ecore:EClass" name="EventFilterConfiguration">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="positionAmbiguityStrategy"
         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -163,11 +147,6 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="eventfiltercondition" upperBound="-1"
         eType="#//EventFilterCondition"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="WorldModelQueryRequest"/>
-  <eClassifiers xsi:type="ecore:EClass" name="DataStorageQueryRequest">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="trackingTaskId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="AgentRegistrationRequest"/>
   <eClassifiers xsi:type="ecore:EClass" name="MonitoringTask">
     <eStructuralFeatures xsi:type="ecore:EReference" name="eventfilterconfiguration"
         lowerBound="1" eType="#//EventFilterConfiguration"/>
@@ -203,7 +182,6 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="UWB" eSuperTypes="#//Beacon"/>
-  <eClassifiers xsi:type="ecore:EClass" name="SensorConfigurationRequest"/>
   <eClassifiers xsi:type="ecore:EClass" name="OtherBeacon" eSuperTypes="#//Beacon">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" transient="true">
       <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -262,4 +240,70 @@
         eType="#//PositionEvent"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="trackingTaskId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
   </eClassifiers>
+  <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"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="picklistRoles" upperBound="-1"
+          eType="#//OFBiz/PicklistRole"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="picklistBins" upperBound="-1"
+          eType="#//OFBiz/PicklistBin"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PicklistBin">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="picklistId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="binLocationNumber" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="picklistItems" upperBound="-1"
+          eType="#//OFBiz/PicklistItem"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PicklistItem">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="inventoryItem" lowerBound="1"
+          eType="#//OFBiz/InventoryItem"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="InventoryItem">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="inventoryItemId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="containerId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="productId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PicklistRole">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="picklistId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="partyId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="roleTypeId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="IPosDevKit" nsURI="IDK" nsPrefix="IDK">
+    <eClassifiers xsi:type="ecore:EClass" name="TrackingRequest"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MonitoringRequest">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="frameIds" eType="#//StringList"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="delta" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Float"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="updateFrequency" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Float"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//StringList"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="#//StringList"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="fusionStrategy" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="exitNotification" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="properties" eType="#//StringList"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitoringTaskId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="requestorProtocol" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="serializationType" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="WorldModelUpdateRequest"/>
+    <eClassifiers xsi:type="ecore:EClass" name="DataStorageRequest"/>
+    <eClassifiers xsi:type="ecore:EClass" name="WorldModelQueryRequest"/>
+    <eClassifiers xsi:type="ecore:EClass" name="DataStorageQueryRequest">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="trackingTaskId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AgentRegistrationRequest"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SensorConfigurationRequest"/>
+    <eClassifiers xsi:type="ecore:EClass" name="IposPositionEvent">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="agentId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorId" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensorType" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastPosUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="position" lowerBound="1"
+          eType="#//Position"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="orientation" lowerBound="1"
+          eType="#//Orientation"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="zoneDescriptors" upperBound="-1"
+          eType="#//ZoneDescriptor"/>
+    </eClassifiers>
+  </eSubpackages>
 </ecore:EPackage>
diff --git a/emf_datamodel/model/iPos_Datamodel.genmodel b/emf_datamodel/model/iPos_Datamodel.genmodel
index 1176dbeb40201997d86b0dfdb13c5472df367bd4..571545c871e2169fe1886938b64a1fa41373cafe 100644
--- a/emf_datamodel/model/iPos_Datamodel.genmodel
+++ b/emf_datamodel/model/iPos_Datamodel.genmodel
@@ -118,33 +118,12 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//PositionEvent/lObjectId"/>
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//PositionEvent/zonedescriptors"/>
     </genClasses>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//TrackingRequest"/>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//MonitoringRequest">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/frameIds"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/delta"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/updateFrequency"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/type"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/id"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/fusionStrategy"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/exitNotification"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/properties"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/monitoringTaskId"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/requestorProtocol"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//MonitoringRequest/serializationType"/>
-    </genClasses>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//WorldModelUpdateRequest"/>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//DataStorageRequest"/>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//EventFilterConfiguration">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//EventFilterConfiguration/positionAmbiguityStrategy"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//EventFilterConfiguration/positionAmbiguityParameters"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//EventFilterConfiguration/filterCriteria"/>
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//EventFilterConfiguration/eventfiltercondition"/>
     </genClasses>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//WorldModelQueryRequest"/>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//DataStorageQueryRequest">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//DataStorageQueryRequest/trackingTaskId"/>
-    </genClasses>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//AgentRegistrationRequest"/>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//MonitoringTask">
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//MonitoringTask/eventfilterconfiguration"/>
     </genClasses>
@@ -165,7 +144,6 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//Bluetooth/rss"/>
     </genClasses>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//UWB"/>
-    <genClasses ecoreClass="iPos_Datamodel.ecore#//SensorConfigurationRequest"/>
     <genClasses ecoreClass="iPos_Datamodel.ecore#//OtherBeacon">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OtherBeacon/data"/>
     </genClasses>
@@ -195,5 +173,71 @@
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//DataStorageQueryResponse/positionEvents"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//DataStorageQueryResponse/trackingTaskId"/>
     </genClasses>
+    <nestedGenPackages prefix="OFBiz" disposableProviderFactory="true" ecorePackage="iPos_Datamodel.ecore#//OFBiz">
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OFBiz/Picklist">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/Picklist/picklistId"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OFBiz/Picklist/picklistRoles"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OFBiz/Picklist/picklistBins"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OFBiz/PicklistBin">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/PicklistBin/picklistId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/PicklistBin/binLocationNumber"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OFBiz/PicklistBin/picklistItems"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OFBiz/PicklistItem">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//OFBiz/PicklistItem/inventoryItem"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OFBiz/InventoryItem">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/InventoryItem/inventoryItemId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/InventoryItem/containerId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/InventoryItem/productId"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//OFBiz/PicklistRole">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/PicklistRole/picklistId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/PicklistRole/partyId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//OFBiz/PicklistRole/roleTypeId"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="IPosDevKit" disposableProviderFactory="true" ecorePackage="iPos_Datamodel.ecore#//IPosDevKit">
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/TrackingRequest"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/frameIds"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/delta"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/updateFrequency"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/type"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/id"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/fusionStrategy"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/exitNotification"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/properties"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/monitoringTaskId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/requestorProtocol"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/MonitoringRequest/serializationType"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/WorldModelUpdateRequest"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/DataStorageRequest"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/WorldModelQueryRequest"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/DataStorageQueryRequest">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/DataStorageQueryRequest/trackingTaskId"/>
+      </genClasses>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/AgentRegistrationRequest"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/SensorConfigurationRequest"/>
+      <genClasses ecoreClass="iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/agentId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/sensorId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/type"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/sensorType"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/lastPosUpdate"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/position"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/orientation"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference iPos_Datamodel.ecore#//IPosDevKit/IposPositionEvent/zoneDescriptors"/>
+      </genClasses>
+    </nestedGenPackages>
   </genPackages>
 </genmodel:GenModel>
diff --git a/emf_datamodel/model/iPos_Datamodel.jpg b/emf_datamodel/model/iPos_Datamodel.jpg
deleted file mode 100644
index 86fdaaf1c8c8231d456b4ef2cbdc1f6ca1ea747f..0000000000000000000000000000000000000000
Binary files a/emf_datamodel/model/iPos_Datamodel.jpg and /dev/null differ
diff --git a/init_Orderpicker.txt b/init_Orderpicker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..00c23c623b0eda265594d2679919e3fc3f0d874e
--- /dev/null
+++ b/init_Orderpicker.txt
@@ -0,0 +1,4 @@
+{"frames": [{"id": "box_1", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 0.0,"y": 4.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "box_2", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 0.8,"y": 4.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "box_3", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 1.6,"y": 4.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "box_4", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 2.4,"y": 4.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "box_5", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 3.2,"y": 4.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "box_6", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 4.0,"y": 4.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "shipmentBin_1", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 0.8,"y": 3.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "shipmentBin_2", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 1.6,"y": 3.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]}, {"id": "shipmentBin_3", "space": [{"position": {"refSystemId": "ROOT", "point": {"x": 2.4,"y": 3.0,"z": 0.0}, "accuracy": 0.0}, "orientation": {"x": 1.0,"y": 0.5,"z": 1.0, "w": 1.5}, "x": 0.6, "y": 1.0, "z":15.0}]} ]}
+{"refSystems": [{"id": "ROOT"}, {"id": "CETI_ROOT", "position": {"refSystemId": "ROOT", "point": {"x": 3.05,"y": 2.08,"z": 0.0}, "accuracy": 1.0}, "orientation": {"x": 0.0,"y": 0.0,"z": 0.0, "w": 0.0}}]}
+{"objectConfigs": [{"agentId": "Employee_1", "sensorId": "UWB_2", "agentType": "HUMAN", "sensorType": "UWB"}]}
+{"pois": [{"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} }]}
\ No newline at end of file
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
index 9c566996f02e0f5a96344a568e15e81675727bc4..fa0326cd160a3cae30cfe75dff3b4a0d569a95ab 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
+++ b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/SimpleSceneIntegration.java
@@ -5,12 +5,12 @@ import com.google.protobuf.InvalidProtocolBufferException;
 import ipos.models.SimpleScene;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.api.MqttRequestHandler;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.service.SimpleSceneTransformer;
-import ipos.project.DataModellntegration.SimpleSceneIntegration.service.impl.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
 import ipos.project.DataModellntegration.iPos_Datamodel.impl.PositionEventImpl;
 import ipos.project.UseCaseController.Administration;
 import ipos.project.UseCaseController.PositionMonitoring;
-import ipos.project.mapper.ProtoJsonMap;
+import ipos.project.devkit.utility.ProtoJsonMap;
 import org.apache.logging.log4j.LogManager;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
@@ -30,6 +30,11 @@ public class SimpleSceneIntegration {
     // private static final Logger LOG = LoggerFactory.getLogger(SimpleSceneIntegration.class);
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
 
+    @Autowired
+    public SimpleSceneIntegration(ExternalPubServiceImpl mqttService_){
+        mqttService = mqttService_;
+    }
+
     //@Autowired
     public static ExternalPubServiceImpl mqttService;
 
@@ -73,11 +78,6 @@ public class SimpleSceneIntegration {
         return lines;
     }
 
-    @Autowired
-    public SimpleSceneIntegration(ExternalPubServiceImpl mqttService_){
-        mqttService = mqttService_;
-    }
-
     /*
     @JmsListener(destination = "/positions", containerFactory = "jmsListenFactory")
     public static void receiveMessage(IposPosition pos) {
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/api/MqttRequestHandler.java b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/api/MqttRequestHandler.java
index ab246f46386b5e79de2515e0ecf1b97dbcfab871..43a83e74d2525cdf5bd4e5000cf011ac352b529e 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/api/MqttRequestHandler.java
+++ b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/api/MqttRequestHandler.java
@@ -5,11 +5,13 @@ import ipos.models.SimpleScene;
 import ipos.models.SimpleScene.IposMonitoringRequest;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.service.SimpleSceneTransformer;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
 import ipos.project.UseCaseController.Administration;
 import ipos.project.UseCaseController.PositionMonitoring;
 import ipos.project.config.mqtt.Handler;
 import ipos.project.config.mqtt.MqttListener;
-import ipos.project.mapper.ProtoJsonMap;
+import ipos.project.devkit.utility.ProtoJsonMap;
 import org.apache.logging.log4j.LogManager;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +21,7 @@ import java.util.List;
 
 
 // subscribe to the topic. It's example
-@MqttListener("usertopic/IposConfigWrapper")
+@MqttListener(PositionMonitoring.TOPIC_ConfigWrapper)
 public class MqttRequestHandler implements Handler {
 
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java
index 14caf9ee6c7401cb5b944b13951b0b70015daf8c..be074b790bbdd043b771c8a28bf878989756b5d7 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java
+++ b/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/SimpleSceneTransformer.java
@@ -3,6 +3,9 @@ package ipos.project.DataModellntegration.SimpleSceneIntegration.service;
 import ipos.models.SimpleScene;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
 import com.google.protobuf.ProtocolStringList;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
 import ipos.project.UseCaseController.PositionMonitoring;
 import org.apache.logging.log4j.LogManager;
 import org.eclipse.emf.common.util.EList;
@@ -13,10 +16,11 @@ import java.util.List;
 
 public class SimpleSceneTransformer {
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+    private static IPosDevKitFactory devKitFactory = IPosDevKitFactory.eINSTANCE;
     private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
 
     public static MonitoringRequest monReq_SScene2Internal(SimpleScene.IposMonitoringRequest monReqProto){
-        MonitoringRequest monReqInt = modelFactory.createMonitoringRequest();
+        MonitoringRequest monReqInt = devKitFactory.createMonitoringRequest();
         monReqInt.setFrameIds(new LinkedList<>());
         monReqInt.getFrameIds().addAll(monReqProto.getFrameIdsList());
         monReqInt.setDelta(monReqProto.getDelta());
@@ -80,9 +84,9 @@ public class SimpleSceneTransformer {
 
     private static SimpleScene.IposPositionEvent.Builder transformIntoProtoIposPosEvent(String notificationType, SimpleScene.IposObject.Builder protoIposObject) {
         SimpleScene.IposPositionEvent.Builder protoIposPosEvent = SimpleScene.IposPositionEvent.newBuilder();
-        if (!PositionMonitoring.UNDEFINED_TYPE.equals(notificationType)) { // if undefined, protobuf-object will be created without explicit notificationtype-information
+        /*if (!PositionMonitoring.UNDEFINED_TYPE.equals(notificationType)) { // if undefined, protobuf-object will be created without explicit notificationtype-information
             protoIposPosEvent.setType(notificationType);
-        }
+        }*/
         protoIposPosEvent.addObjects(protoIposObject);
         return protoIposPosEvent;
     }
@@ -215,7 +219,7 @@ public class SimpleSceneTransformer {
     }
 
     public static DataStorageQueryRequest queryReq_SScene2Internal(SimpleScene.IposQueryRequest proto_qReq) {
-        DataStorageQueryRequest internal_queryReq = modelFactory.createDataStorageQueryRequest();
+        DataStorageQueryRequest internal_queryReq = devKitFactory.createDataStorageQueryRequest();
         internal_queryReq.setTrackingTaskId(proto_qReq.getTrackingTaskId());
         return internal_queryReq;
     }
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterCondition.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterCondition.java
index 7785da018e6c69997787db9a419dc74a68a4b930..5c3ad50931fd9340fe804461ffccf104de0a32fc 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterCondition.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/EventFilterCondition.java
@@ -4,8 +4,8 @@ package ipos.project.DataModellntegration.iPos_Datamodel;
 
 import java.util.ArrayList;
 import java.util.List;
-
 import java.util.Map;
+
 import org.eclipse.emf.ecore.EObject;
 
 /**
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/AgentRegistrationRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/AgentRegistrationRequest.java
similarity index 62%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/AgentRegistrationRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/AgentRegistrationRequest.java
index 245a59a5ea83e5f860e65dadb596edc50600d603..50a046601aa580535e9792f26288d7c14d7ef83a 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/AgentRegistrationRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/AgentRegistrationRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -10,7 +10,7 @@ import org.eclipse.emf.ecore.EObject;
  * <!-- end-user-doc -->
  *
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getAgentRegistrationRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getAgentRegistrationRequest()
  * @model
  * @generated
  */
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageQueryRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/DataStorageQueryRequest.java
similarity index 67%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageQueryRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/DataStorageQueryRequest.java
index 15c18f9fd980a80d09cd0bd7885ec5152fcffb3f..b79fd4e0a3106485cd21fe67e4a73f3586833ebf 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageQueryRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/DataStorageQueryRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -13,29 +13,28 @@ import org.eclipse.emf.ecore.EObject;
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}</li>
  * </ul>
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getDataStorageQueryRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getDataStorageQueryRequest()
  * @model
  * @generated
  */
 public interface DataStorageQueryRequest extends EObject {
-
 	/**
 	 * Returns the value of the '<em><b>Tracking Task Id</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Tracking Task Id</em>' attribute.
 	 * @see #setTrackingTaskId(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getDataStorageQueryRequest_TrackingTaskId()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getDataStorageQueryRequest_TrackingTaskId()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
 	 * @generated
 	 */
 	String getTrackingTaskId();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Tracking Task Id</em>' attribute.
@@ -43,4 +42,5 @@ public interface DataStorageQueryRequest extends EObject {
 	 * @generated
 	 */
 	void setTrackingTaskId(String value);
+
 } // DataStorageQueryRequest
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/DataStorageRequest.java
similarity index 62%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/DataStorageRequest.java
index 460d3fea0334ca40d33c5a423fb87e629d07a25c..56035b22d714da8d2237d2607b199102a4159a3f 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/DataStorageRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/DataStorageRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -10,7 +10,7 @@ import org.eclipse.emf.ecore.EObject;
  * <!-- end-user-doc -->
  *
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getDataStorageRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getDataStorageRequest()
  * @model
  * @generated
  */
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..1f7c270b8fe592850a7b81f6f765c64ac9bdda78
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitFactory.java
@@ -0,0 +1,115 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage
+ * @generated
+ */
+public interface IPosDevKitFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	IPosDevKitFactory eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitFactoryImpl
+			.init();
+
+	/**
+	 * Returns a new object of class '<em>Tracking Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Tracking Request</em>'.
+	 * @generated
+	 */
+	TrackingRequest createTrackingRequest();
+
+	/**
+	 * Returns a new object of class '<em>Monitoring Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Monitoring Request</em>'.
+	 * @generated
+	 */
+	MonitoringRequest createMonitoringRequest();
+
+	/**
+	 * Returns a new object of class '<em>World Model Update Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>World Model Update Request</em>'.
+	 * @generated
+	 */
+	WorldModelUpdateRequest createWorldModelUpdateRequest();
+
+	/**
+	 * Returns a new object of class '<em>Data Storage Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Data Storage Request</em>'.
+	 * @generated
+	 */
+	DataStorageRequest createDataStorageRequest();
+
+	/**
+	 * Returns a new object of class '<em>World Model Query Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>World Model Query Request</em>'.
+	 * @generated
+	 */
+	WorldModelQueryRequest createWorldModelQueryRequest();
+
+	/**
+	 * Returns a new object of class '<em>Data Storage Query Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Data Storage Query Request</em>'.
+	 * @generated
+	 */
+	DataStorageQueryRequest createDataStorageQueryRequest();
+
+	/**
+	 * Returns a new object of class '<em>Agent Registration Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Agent Registration Request</em>'.
+	 * @generated
+	 */
+	AgentRegistrationRequest createAgentRegistrationRequest();
+
+	/**
+	 * Returns a new object of class '<em>Sensor Configuration Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Sensor Configuration Request</em>'.
+	 * @generated
+	 */
+	SensorConfigurationRequest createSensorConfigurationRequest();
+
+	/**
+	 * Returns a new object of class '<em>Ipos Position Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Ipos Position Event</em>'.
+	 * @generated
+	 */
+	IposPositionEvent createIposPositionEvent();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	IPosDevKitPackage getIPosDevKitPackage();
+
+} //IPosDevKitFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitPackage.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitPackage.java
new file mode 100644
index 0000000000000000000000000000000000000000..6c809431926b1014fee096e5b8a347bfedce28b9
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IPosDevKitPackage.java
@@ -0,0 +1,1077 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface IPosDevKitPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "IPosDevKit";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "IDK";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "IDK";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	IPosDevKitPackage eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl
+			.init();
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.TrackingRequestImpl <em>Tracking Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.TrackingRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getTrackingRequest()
+	 * @generated
+	 */
+	int TRACKING_REQUEST = 0;
+
+	/**
+	 * The number of structural features of the '<em>Tracking Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACKING_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Tracking Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRACKING_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl <em>Monitoring Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getMonitoringRequest()
+	 * @generated
+	 */
+	int MONITORING_REQUEST = 1;
+
+	/**
+	 * The feature id for the '<em><b>Frame Ids</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__FRAME_IDS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Delta</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__DELTA = 1;
+
+	/**
+	 * The feature id for the '<em><b>Update Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__UPDATE_FREQUENCY = 2;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__TYPE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__ID = 4;
+
+	/**
+	 * The feature id for the '<em><b>Fusion Strategy</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__FUSION_STRATEGY = 5;
+
+	/**
+	 * The feature id for the '<em><b>Exit Notification</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__EXIT_NOTIFICATION = 6;
+
+	/**
+	 * The feature id for the '<em><b>Properties</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__PROPERTIES = 7;
+
+	/**
+	 * The feature id for the '<em><b>Monitoring Task Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__MONITORING_TASK_ID = 8;
+
+	/**
+	 * The feature id for the '<em><b>Requestor Protocol</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__REQUESTOR_PROTOCOL = 9;
+
+	/**
+	 * The feature id for the '<em><b>Serialization Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST__SERIALIZATION_TYPE = 10;
+
+	/**
+	 * The number of structural features of the '<em>Monitoring Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST_FEATURE_COUNT = 11;
+
+	/**
+	 * The number of operations of the '<em>Monitoring Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MONITORING_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelUpdateRequestImpl <em>World Model Update Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelUpdateRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getWorldModelUpdateRequest()
+	 * @generated
+	 */
+	int WORLD_MODEL_UPDATE_REQUEST = 2;
+
+	/**
+	 * The number of structural features of the '<em>World Model Update Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_UPDATE_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>World Model Update Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_UPDATE_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageRequestImpl <em>Data Storage Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getDataStorageRequest()
+	 * @generated
+	 */
+	int DATA_STORAGE_REQUEST = 3;
+
+	/**
+	 * The number of structural features of the '<em>Data Storage Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Data Storage Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelQueryRequestImpl <em>World Model Query Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelQueryRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getWorldModelQueryRequest()
+	 * @generated
+	 */
+	int WORLD_MODEL_QUERY_REQUEST = 4;
+
+	/**
+	 * The number of structural features of the '<em>World Model Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_QUERY_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>World Model Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WORLD_MODEL_QUERY_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageQueryRequestImpl <em>Data Storage Query Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageQueryRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getDataStorageQueryRequest()
+	 * @generated
+	 */
+	int DATA_STORAGE_QUERY_REQUEST = 5;
+
+	/**
+	 * The feature id for the '<em><b>Tracking Task Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID = 0;
+
+	/**
+	 * The number of structural features of the '<em>Data Storage Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_QUERY_REQUEST_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Data Storage Query Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORAGE_QUERY_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.AgentRegistrationRequestImpl <em>Agent Registration Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.AgentRegistrationRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getAgentRegistrationRequest()
+	 * @generated
+	 */
+	int AGENT_REGISTRATION_REQUEST = 6;
+
+	/**
+	 * The number of structural features of the '<em>Agent Registration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_REGISTRATION_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Agent Registration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_REGISTRATION_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.SensorConfigurationRequestImpl <em>Sensor Configuration Request</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.SensorConfigurationRequestImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getSensorConfigurationRequest()
+	 * @generated
+	 */
+	int SENSOR_CONFIGURATION_REQUEST = 7;
+
+	/**
+	 * The number of structural features of the '<em>Sensor Configuration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SENSOR_CONFIGURATION_REQUEST_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Sensor Configuration Request</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SENSOR_CONFIGURATION_REQUEST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl <em>Ipos Position Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIposPositionEvent()
+	 * @generated
+	 */
+	int IPOS_POSITION_EVENT = 8;
+
+	/**
+	 * The feature id for the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__AGENT_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__SENSOR_ID = 1;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__TYPE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Sensor Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__SENSOR_TYPE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Last Pos Update</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__LAST_POS_UPDATE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Position</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__POSITION = 5;
+
+	/**
+	 * The feature id for the '<em><b>Orientation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__ORIENTATION = 6;
+
+	/**
+	 * The feature id for the '<em><b>Zone Descriptors</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT__ZONE_DESCRIPTORS = 7;
+
+	/**
+	 * The number of structural features of the '<em>Ipos Position Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT_FEATURE_COUNT = 8;
+
+	/**
+	 * The number of operations of the '<em>Ipos Position Event</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IPOS_POSITION_EVENT_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.TrackingRequest <em>Tracking Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Tracking Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.TrackingRequest
+	 * @generated
+	 */
+	EClass getTrackingRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest <em>Monitoring Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Monitoring Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest
+	 * @generated
+	 */
+	EClass getMonitoringRequest();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFrameIds <em>Frame Ids</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Frame Ids</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFrameIds()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_FrameIds();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getDelta <em>Delta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Delta</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getDelta()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Delta();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Update Frequency</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getUpdateFrequency()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_UpdateFrequency();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getType()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getId()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Id();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Fusion Strategy</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFusionStrategy()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_FusionStrategy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#isExitNotification <em>Exit Notification</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Exit Notification</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#isExitNotification()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_ExitNotification();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getProperties <em>Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Properties</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getProperties()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_Properties();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Monitoring Task Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getMonitoringTaskId()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_MonitoringTaskId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Requestor Protocol</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRequestorProtocol()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_RequestorProtocol();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType <em>Serialization Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Serialization Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType()
+	 * @see #getMonitoringRequest()
+	 * @generated
+	 */
+	EAttribute getMonitoringRequest_SerializationType();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelUpdateRequest <em>World Model Update Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>World Model Update Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelUpdateRequest
+	 * @generated
+	 */
+	EClass getWorldModelUpdateRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest <em>Data Storage Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Storage Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest
+	 * @generated
+	 */
+	EClass getDataStorageRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelQueryRequest <em>World Model Query Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>World Model Query Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelQueryRequest
+	 * @generated
+	 */
+	EClass getWorldModelQueryRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest <em>Data Storage Query Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Storage Query Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest
+	 * @generated
+	 */
+	EClass getDataStorageQueryRequest();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Tracking Task Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest#getTrackingTaskId()
+	 * @see #getDataStorageQueryRequest()
+	 * @generated
+	 */
+	EAttribute getDataStorageQueryRequest_TrackingTaskId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest <em>Agent Registration Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Agent Registration Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest
+	 * @generated
+	 */
+	EClass getAgentRegistrationRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest <em>Sensor Configuration Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Sensor Configuration Request</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest
+	 * @generated
+	 */
+	EClass getSensorConfigurationRequest();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent <em>Ipos Position Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Ipos Position Event</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent
+	 * @generated
+	 */
+	EClass getIposPositionEvent();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId <em>Agent Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Agent Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_AgentId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorId <em>Sensor Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Sensor Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorId()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_SensorId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getType()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_Type();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorType <em>Sensor Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Sensor Type</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorType()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_SensorType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getLastPosUpdate <em>Last Pos Update</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Last Pos Update</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getLastPosUpdate()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EAttribute getIposPositionEvent_LastPosUpdate();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getPosition <em>Position</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Position</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getPosition()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EReference getIposPositionEvent_Position();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getOrientation <em>Orientation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Orientation</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getOrientation()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EReference getIposPositionEvent_Orientation();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getZoneDescriptors <em>Zone Descriptors</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Zone Descriptors</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getZoneDescriptors()
+	 * @see #getIposPositionEvent()
+	 * @generated
+	 */
+	EReference getIposPositionEvent_ZoneDescriptors();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	IPosDevKitFactory getIPosDevKitFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.TrackingRequestImpl <em>Tracking Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.TrackingRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getTrackingRequest()
+		 * @generated
+		 */
+		EClass TRACKING_REQUEST = eINSTANCE.getTrackingRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl <em>Monitoring Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getMonitoringRequest()
+		 * @generated
+		 */
+		EClass MONITORING_REQUEST = eINSTANCE.getMonitoringRequest();
+
+		/**
+		 * The meta object literal for the '<em><b>Frame Ids</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__FRAME_IDS = eINSTANCE.getMonitoringRequest_FrameIds();
+
+		/**
+		 * The meta object literal for the '<em><b>Delta</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__DELTA = eINSTANCE.getMonitoringRequest_Delta();
+
+		/**
+		 * The meta object literal for the '<em><b>Update Frequency</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__UPDATE_FREQUENCY = eINSTANCE.getMonitoringRequest_UpdateFrequency();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__TYPE = eINSTANCE.getMonitoringRequest_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__ID = eINSTANCE.getMonitoringRequest_Id();
+
+		/**
+		 * The meta object literal for the '<em><b>Fusion Strategy</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__FUSION_STRATEGY = eINSTANCE.getMonitoringRequest_FusionStrategy();
+
+		/**
+		 * The meta object literal for the '<em><b>Exit Notification</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__EXIT_NOTIFICATION = eINSTANCE.getMonitoringRequest_ExitNotification();
+
+		/**
+		 * The meta object literal for the '<em><b>Properties</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__PROPERTIES = eINSTANCE.getMonitoringRequest_Properties();
+
+		/**
+		 * The meta object literal for the '<em><b>Monitoring Task Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__MONITORING_TASK_ID = eINSTANCE.getMonitoringRequest_MonitoringTaskId();
+
+		/**
+		 * The meta object literal for the '<em><b>Requestor Protocol</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__REQUESTOR_PROTOCOL = eINSTANCE.getMonitoringRequest_RequestorProtocol();
+
+		/**
+		 * The meta object literal for the '<em><b>Serialization Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MONITORING_REQUEST__SERIALIZATION_TYPE = eINSTANCE.getMonitoringRequest_SerializationType();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelUpdateRequestImpl <em>World Model Update Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelUpdateRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getWorldModelUpdateRequest()
+		 * @generated
+		 */
+		EClass WORLD_MODEL_UPDATE_REQUEST = eINSTANCE.getWorldModelUpdateRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageRequestImpl <em>Data Storage Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getDataStorageRequest()
+		 * @generated
+		 */
+		EClass DATA_STORAGE_REQUEST = eINSTANCE.getDataStorageRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelQueryRequestImpl <em>World Model Query Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.WorldModelQueryRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getWorldModelQueryRequest()
+		 * @generated
+		 */
+		EClass WORLD_MODEL_QUERY_REQUEST = eINSTANCE.getWorldModelQueryRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageQueryRequestImpl <em>Data Storage Query Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageQueryRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getDataStorageQueryRequest()
+		 * @generated
+		 */
+		EClass DATA_STORAGE_QUERY_REQUEST = eINSTANCE.getDataStorageQueryRequest();
+
+		/**
+		 * The meta object literal for the '<em><b>Tracking Task Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID = eINSTANCE.getDataStorageQueryRequest_TrackingTaskId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.AgentRegistrationRequestImpl <em>Agent Registration Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.AgentRegistrationRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getAgentRegistrationRequest()
+		 * @generated
+		 */
+		EClass AGENT_REGISTRATION_REQUEST = eINSTANCE.getAgentRegistrationRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.SensorConfigurationRequestImpl <em>Sensor Configuration Request</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.SensorConfigurationRequestImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getSensorConfigurationRequest()
+		 * @generated
+		 */
+		EClass SENSOR_CONFIGURATION_REQUEST = eINSTANCE.getSensorConfigurationRequest();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl <em>Ipos Position Event</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl#getIposPositionEvent()
+		 * @generated
+		 */
+		EClass IPOS_POSITION_EVENT = eINSTANCE.getIposPositionEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_POSITION_EVENT__AGENT_ID = eINSTANCE.getIposPositionEvent_AgentId();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_POSITION_EVENT__SENSOR_ID = eINSTANCE.getIposPositionEvent_SensorId();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_POSITION_EVENT__TYPE = eINSTANCE.getIposPositionEvent_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Sensor Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_POSITION_EVENT__SENSOR_TYPE = eINSTANCE.getIposPositionEvent_SensorType();
+
+		/**
+		 * The meta object literal for the '<em><b>Last Pos Update</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IPOS_POSITION_EVENT__LAST_POS_UPDATE = eINSTANCE.getIposPositionEvent_LastPosUpdate();
+
+		/**
+		 * The meta object literal for the '<em><b>Position</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IPOS_POSITION_EVENT__POSITION = eINSTANCE.getIposPositionEvent_Position();
+
+		/**
+		 * The meta object literal for the '<em><b>Orientation</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IPOS_POSITION_EVENT__ORIENTATION = eINSTANCE.getIposPositionEvent_Orientation();
+
+		/**
+		 * The meta object literal for the '<em><b>Zone Descriptors</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference IPOS_POSITION_EVENT__ZONE_DESCRIPTORS = eINSTANCE.getIposPositionEvent_ZoneDescriptors();
+
+	}
+
+} //IPosDevKitPackage
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IposPositionEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IposPositionEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..a3fa96f11a63bb4b92651c92d2d7f529049ee0bd
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/IposPositionEvent.java
@@ -0,0 +1,203 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Orientation;
+import ipos.project.DataModellntegration.iPos_Datamodel.Position;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ipos Position Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId <em>Agent Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorId <em>Sensor Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getSensorType <em>Sensor Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getLastPosUpdate <em>Last Pos Update</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getPosition <em>Position</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getOrientation <em>Orientation</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getZoneDescriptors <em>Zone Descriptors</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIposPositionEvent()
+ * @model
+ * @generated
+ */
+public interface IposPositionEvent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Agent Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent Id</em>' attribute.
+	 * @see #setAgentId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_AgentId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getAgentId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getAgentId <em>Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent Id</em>' attribute.
+	 * @see #getAgentId()
+	 * @generated
+	 */
+	void setAgentId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Sensor Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sensor Id</em>' attribute.
+	 * @see #setSensorId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_SensorId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getSensorId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_Type()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_SensorType()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getSensorType();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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>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.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_LastPosUpdate()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getLastPosUpdate();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#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>Position</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Position</em>' reference.
+	 * @see #setPosition(Position)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_Position()
+	 * @model required="true"
+	 * @generated
+	 */
+	Position getPosition();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getPosition <em>Position</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Position</em>' reference.
+	 * @see #getPosition()
+	 * @generated
+	 */
+	void setPosition(Position value);
+
+	/**
+	 * Returns the value of the '<em><b>Orientation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Orientation</em>' reference.
+	 * @see #setOrientation(Orientation)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_Orientation()
+	 * @model required="true"
+	 * @generated
+	 */
+	Orientation getOrientation();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent#getOrientation <em>Orientation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Orientation</em>' reference.
+	 * @see #getOrientation()
+	 * @generated
+	 */
+	void setOrientation(Orientation value);
+
+	/**
+	 * Returns the value of the '<em><b>Zone Descriptors</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Zone Descriptors</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getIposPositionEvent_ZoneDescriptors()
+	 * @model
+	 * @generated
+	 */
+	EList<ZoneDescriptor> getZoneDescriptors();
+
+} // IposPositionEvent
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/MonitoringRequest.java
similarity index 70%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/MonitoringRequest.java
index 4c3f7df316a59d61681c2b302753e45d24a87e40..9a723e89d0aad3d8b65975e09bc281db1a45917b 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/MonitoringRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/MonitoringRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import java.util.List;
 
@@ -15,20 +15,20 @@ import org.eclipse.emf.ecore.EObject;
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameIds <em>Frame Ids</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta <em>Delta</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getType <em>Type</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId <em>Id</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification <em>Exit Notification</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties <em>Properties</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getSerializationType <em>Serialization Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFrameIds <em>Frame Ids</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getDelta <em>Delta</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getId <em>Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#isExitNotification <em>Exit Notification</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getProperties <em>Properties</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType <em>Serialization Type</em>}</li>
  * </ul>
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest()
  * @model
  * @generated
  */
@@ -39,14 +39,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Frame Ids</em>' attribute.
 	 * @see #setFrameIds(List)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_FrameIds()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_FrameIds()
 	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
 	 * @generated
 	 */
 	List<String> getFrameIds();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameIds <em>Frame Ids</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFrameIds <em>Frame Ids</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Frame Ids</em>' attribute.
@@ -61,14 +61,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Delta</em>' attribute.
 	 * @see #setDelta(float)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Delta()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_Delta()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
 	 * @generated
 	 */
 	float getDelta();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta <em>Delta</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getDelta <em>Delta</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Delta</em>' attribute.
@@ -83,14 +83,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Update Frequency</em>' attribute.
 	 * @see #setUpdateFrequency(float)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_UpdateFrequency()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_UpdateFrequency()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.Float"
 	 * @generated
 	 */
 	float getUpdateFrequency();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Update Frequency</em>' attribute.
@@ -105,14 +105,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Type</em>' attribute.
 	 * @see #setType(List)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Type()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_Type()
 	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
 	 * @generated
 	 */
 	List<String> getType();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getType <em>Type</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getType <em>Type</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Type</em>' attribute.
@@ -127,14 +127,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Id</em>' attribute.
 	 * @see #setId(List)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Id()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_Id()
 	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
 	 * @generated
 	 */
 	List<String> getId();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId <em>Id</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getId <em>Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Id</em>' attribute.
@@ -149,14 +149,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Fusion Strategy</em>' attribute.
 	 * @see #setFusionStrategy(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_FusionStrategy()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_FusionStrategy()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
 	 * @generated
 	 */
 	String getFusionStrategy();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Fusion Strategy</em>' attribute.
@@ -171,14 +171,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Exit Notification</em>' attribute.
 	 * @see #setExitNotification(boolean)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_ExitNotification()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_ExitNotification()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.Boolean"
 	 * @generated
 	 */
 	boolean isExitNotification();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification <em>Exit Notification</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#isExitNotification <em>Exit Notification</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Exit Notification</em>' attribute.
@@ -193,14 +193,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Properties</em>' attribute.
 	 * @see #setProperties(List)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_Properties()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_Properties()
 	 * @model dataType="ipos.project.DataModellntegration.iPos_Datamodel.StringList"
 	 * @generated
 	 */
 	List<String> getProperties();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties <em>Properties</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getProperties <em>Properties</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Properties</em>' attribute.
@@ -215,14 +215,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Monitoring Task Id</em>' attribute.
 	 * @see #setMonitoringTaskId(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_MonitoringTaskId()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_MonitoringTaskId()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
 	 * @generated
 	 */
 	String getMonitoringTaskId();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Monitoring Task Id</em>' attribute.
@@ -237,14 +237,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Requestor Protocol</em>' attribute.
 	 * @see #setRequestorProtocol(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_RequestorProtocol()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_RequestorProtocol()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
 	 * @generated
 	 */
 	String getRequestorProtocol();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Requestor Protocol</em>' attribute.
@@ -259,14 +259,14 @@ public interface MonitoringRequest extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Serialization Type</em>' attribute.
 	 * @see #setSerializationType(String)
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getMonitoringRequest_SerializationType()
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getMonitoringRequest_SerializationType()
 	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
 	 * @generated
 	 */
 	String getSerializationType();
 
 	/**
-	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getSerializationType <em>Serialization Type</em>}' attribute.
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest#getSerializationType <em>Serialization Type</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Serialization Type</em>' attribute.
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/SensorConfigurationRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/SensorConfigurationRequest.java
similarity index 63%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/SensorConfigurationRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/SensorConfigurationRequest.java
index cf5138e30ca0ff886f4927f44f4e810eda31f197..c70aba222a5410a80bc0a59e4def8e5dfd97105a 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/SensorConfigurationRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/SensorConfigurationRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -10,7 +10,7 @@ import org.eclipse.emf.ecore.EObject;
  * <!-- end-user-doc -->
  *
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getSensorConfigurationRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getSensorConfigurationRequest()
  * @model
  * @generated
  */
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/TrackingRequest.java
similarity index 61%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/TrackingRequest.java
index ccad25d217c8b5581aec8e23d6980485c11cf36d..17e64339013e251df89d98b093bb5603646b2196 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/TrackingRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/TrackingRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -10,7 +10,7 @@ import org.eclipse.emf.ecore.EObject;
  * <!-- end-user-doc -->
  *
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getTrackingRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getTrackingRequest()
  * @model
  * @generated
  */
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelQueryRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/WorldModelQueryRequest.java
similarity index 62%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelQueryRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/WorldModelQueryRequest.java
index ed30cdffbd34fd2ecaa0530df02909f57d6c09a5..ef3145bc053708f236a6e8e8a7a165b7d7530e8a 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelQueryRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/WorldModelQueryRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -10,7 +10,7 @@ import org.eclipse.emf.ecore.EObject;
  * <!-- end-user-doc -->
  *
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModelQueryRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getWorldModelQueryRequest()
  * @model
  * @generated
  */
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelUpdateRequest.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/WorldModelUpdateRequest.java
similarity index 62%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelUpdateRequest.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/WorldModelUpdateRequest.java
index af3105797c20ad8e8870d47209f1281e90d67dee..b2deaef8bbdd54607a559491d7121a5f07b41da2 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/WorldModelUpdateRequest.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/WorldModelUpdateRequest.java
@@ -1,6 +1,6 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -10,7 +10,7 @@ import org.eclipse.emf.ecore.EObject;
  * <!-- end-user-doc -->
  *
  *
- * @see ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage#getWorldModelUpdateRequest()
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#getWorldModelUpdateRequest()
  * @model
  * @generated
  */
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentRegistrationRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/AgentRegistrationRequestImpl.java
similarity index 68%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentRegistrationRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/AgentRegistrationRequestImpl.java
index 6cdd6b82f25de7ca5c31963dcc7d921409e7b3da..d310edb1040ac84c11ae8ba12f25a787b1b5577a 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/AgentRegistrationRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/AgentRegistrationRequestImpl.java
@@ -1,9 +1,9 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest;
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
 
 import org.eclipse.emf.ecore.EClass;
 
@@ -33,7 +33,7 @@ public class AgentRegistrationRequestImpl extends MinimalEObjectImpl.Container i
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.AGENT_REGISTRATION_REQUEST;
+		return IPosDevKitPackage.Literals.AGENT_REGISTRATION_REQUEST;
 	}
 
 } //AgentRegistrationRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/DataStorageQueryRequestImpl.java
similarity index 80%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/DataStorageQueryRequestImpl.java
index be73228017f330f1efff695e9195cf4cd30105ad..caab60af66b197b2ad32a5125bb68080e6c67c2e 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/DataStorageQueryRequestImpl.java
@@ -1,11 +1,12 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest;
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
@@ -19,7 +20,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl#getTrackingTaskId <em>Tracking Task Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.DataStorageQueryRequestImpl#getTrackingTaskId <em>Tracking Task Id</em>}</li>
  * </ul>
  *
  * @generated
@@ -34,6 +35,7 @@ public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container im
 	 * @ordered
 	 */
 	protected static final String TRACKING_TASK_ID_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getTrackingTaskId() <em>Tracking Task Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -60,7 +62,7 @@ public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container im
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.DATA_STORAGE_QUERY_REQUEST;
+		return IPosDevKitPackage.Literals.DATA_STORAGE_QUERY_REQUEST;
 	}
 
 	/**
@@ -82,8 +84,7 @@ public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container im
 		trackingTaskId = newTrackingTaskId;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-					IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID, oldTrackingTaskId,
-					trackingTaskId));
+					IPosDevKitPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID, oldTrackingTaskId, trackingTaskId));
 	}
 
 	/**
@@ -94,7 +95,7 @@ public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container im
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
+		case IPosDevKitPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
 			return getTrackingTaskId();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -108,7 +109,7 @@ public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container im
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
+		case IPosDevKitPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
 			setTrackingTaskId((String) newValue);
 			return;
 		}
@@ -123,7 +124,7 @@ public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container im
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
+		case IPosDevKitPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
 			setTrackingTaskId(TRACKING_TASK_ID_EDEFAULT);
 			return;
 		}
@@ -138,7 +139,7 @@ public class DataStorageQueryRequestImpl extends MinimalEObjectImpl.Container im
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
+		case IPosDevKitPackage.DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID:
 			return TRACKING_TASK_ID_EDEFAULT == null ? trackingTaskId != null
 					: !TRACKING_TASK_ID_EDEFAULT.equals(trackingTaskId);
 		}
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/DataStorageRequestImpl.java
similarity index 68%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/DataStorageRequestImpl.java
index 44f57587b40cc8d70e6682f8f0420f1522a29050..b121dee32f816fb5a94da391e8a1b15cca3dc063 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/DataStorageRequestImpl.java
@@ -1,9 +1,9 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest;
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
 
 import org.eclipse.emf.ecore.EClass;
 
@@ -33,7 +33,7 @@ public class DataStorageRequestImpl extends MinimalEObjectImpl.Container impleme
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.DATA_STORAGE_REQUEST;
+		return IPosDevKitPackage.Literals.DATA_STORAGE_REQUEST;
 	}
 
 } //DataStorageRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitFactoryImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitFactoryImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..3cec2f34da1dbc8ff6faebc85eee1e4f9608d16f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitFactoryImpl.java
@@ -0,0 +1,192 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IPosDevKitFactoryImpl extends EFactoryImpl implements IPosDevKitFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static IPosDevKitFactory init() {
+		try {
+			IPosDevKitFactory theIPosDevKitFactory = (IPosDevKitFactory) EPackage.Registry.INSTANCE
+					.getEFactory(IPosDevKitPackage.eNS_URI);
+			if (theIPosDevKitFactory != null) {
+				return theIPosDevKitFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new IPosDevKitFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosDevKitFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case IPosDevKitPackage.TRACKING_REQUEST:
+			return createTrackingRequest();
+		case IPosDevKitPackage.MONITORING_REQUEST:
+			return createMonitoringRequest();
+		case IPosDevKitPackage.WORLD_MODEL_UPDATE_REQUEST:
+			return createWorldModelUpdateRequest();
+		case IPosDevKitPackage.DATA_STORAGE_REQUEST:
+			return createDataStorageRequest();
+		case IPosDevKitPackage.WORLD_MODEL_QUERY_REQUEST:
+			return createWorldModelQueryRequest();
+		case IPosDevKitPackage.DATA_STORAGE_QUERY_REQUEST:
+			return createDataStorageQueryRequest();
+		case IPosDevKitPackage.AGENT_REGISTRATION_REQUEST:
+			return createAgentRegistrationRequest();
+		case IPosDevKitPackage.SENSOR_CONFIGURATION_REQUEST:
+			return createSensorConfigurationRequest();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT:
+			return createIposPositionEvent();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TrackingRequest createTrackingRequest() {
+		TrackingRequestImpl trackingRequest = new TrackingRequestImpl();
+		return trackingRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public MonitoringRequest createMonitoringRequest() {
+		MonitoringRequestImpl monitoringRequest = new MonitoringRequestImpl();
+		return monitoringRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorldModelUpdateRequest createWorldModelUpdateRequest() {
+		WorldModelUpdateRequestImpl worldModelUpdateRequest = new WorldModelUpdateRequestImpl();
+		return worldModelUpdateRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataStorageRequest createDataStorageRequest() {
+		DataStorageRequestImpl dataStorageRequest = new DataStorageRequestImpl();
+		return dataStorageRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorldModelQueryRequest createWorldModelQueryRequest() {
+		WorldModelQueryRequestImpl worldModelQueryRequest = new WorldModelQueryRequestImpl();
+		return worldModelQueryRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataStorageQueryRequest createDataStorageQueryRequest() {
+		DataStorageQueryRequestImpl dataStorageQueryRequest = new DataStorageQueryRequestImpl();
+		return dataStorageQueryRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentRegistrationRequest createAgentRegistrationRequest() {
+		AgentRegistrationRequestImpl agentRegistrationRequest = new AgentRegistrationRequestImpl();
+		return agentRegistrationRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SensorConfigurationRequest createSensorConfigurationRequest() {
+		SensorConfigurationRequestImpl sensorConfigurationRequest = new SensorConfigurationRequestImpl();
+		return sensorConfigurationRequest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IposPositionEvent createIposPositionEvent() {
+		IposPositionEventImpl iposPositionEvent = new IposPositionEventImpl();
+		return iposPositionEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosDevKitPackage getIPosDevKitPackage() {
+		return (IPosDevKitPackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static IPosDevKitPackage getPackage() {
+		return IPosDevKitPackage.eINSTANCE;
+	}
+
+} //IPosDevKitFactoryImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitPackageImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea31f9ddd8cd47c9111454e19d83fab3c9663f4b
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IPosDevKitPackageImpl.java
@@ -0,0 +1,639 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.TrackingRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelUpdateRequest;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IPosDevKitPackageImpl extends EPackageImpl implements IPosDevKitPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass trackingRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass monitoringRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass worldModelUpdateRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataStorageRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass worldModelQueryRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataStorageQueryRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass agentRegistrationRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass sensorConfigurationRequestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iposPositionEventEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private IPosDevKitPackageImpl() {
+		super(eNS_URI, IPosDevKitFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link IPosDevKitPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static IPosDevKitPackage init() {
+		if (isInited)
+			return (IPosDevKitPackage) EPackage.Registry.INSTANCE.getEPackage(IPosDevKitPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredIPosDevKitPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		IPosDevKitPackageImpl theIPosDevKitPackage = registeredIPosDevKitPackage instanceof IPosDevKitPackageImpl
+				? (IPosDevKitPackageImpl) registeredIPosDevKitPackage
+				: new IPosDevKitPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(IPos_DatamodelPackage.eNS_URI);
+		IPos_DatamodelPackageImpl theIPos_DatamodelPackage = (IPos_DatamodelPackageImpl) (registeredPackage instanceof IPos_DatamodelPackageImpl
+				? registeredPackage
+				: IPos_DatamodelPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(OFBizPackage.eNS_URI);
+		OFBizPackageImpl theOFBizPackage = (OFBizPackageImpl) (registeredPackage instanceof OFBizPackageImpl
+				? registeredPackage
+				: OFBizPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theIPosDevKitPackage.createPackageContents();
+		theIPos_DatamodelPackage.createPackageContents();
+		theOFBizPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theIPosDevKitPackage.initializePackageContents();
+		theIPos_DatamodelPackage.initializePackageContents();
+		theOFBizPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theIPosDevKitPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(IPosDevKitPackage.eNS_URI, theIPosDevKitPackage);
+		return theIPosDevKitPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTrackingRequest() {
+		return trackingRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMonitoringRequest() {
+		return monitoringRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_FrameIds() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Delta() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_UpdateFrequency() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Type() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Id() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_FusionStrategy() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_ExitNotification() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_Properties() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_MonitoringTaskId() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_RequestorProtocol() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMonitoringRequest_SerializationType() {
+		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getWorldModelUpdateRequest() {
+		return worldModelUpdateRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDataStorageRequest() {
+		return dataStorageRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getWorldModelQueryRequest() {
+		return worldModelQueryRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDataStorageQueryRequest() {
+		return dataStorageQueryRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDataStorageQueryRequest_TrackingTaskId() {
+		return (EAttribute) dataStorageQueryRequestEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAgentRegistrationRequest() {
+		return agentRegistrationRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSensorConfigurationRequest() {
+		return sensorConfigurationRequestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIposPositionEvent() {
+		return iposPositionEventEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIposPositionEvent_AgentId() {
+		return (EAttribute) iposPositionEventEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIposPositionEvent_SensorId() {
+		return (EAttribute) iposPositionEventEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIposPositionEvent_Type() {
+		return (EAttribute) iposPositionEventEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIposPositionEvent_SensorType() {
+		return (EAttribute) iposPositionEventEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIposPositionEvent_LastPosUpdate() {
+		return (EAttribute) iposPositionEventEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIposPositionEvent_Position() {
+		return (EReference) iposPositionEventEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIposPositionEvent_Orientation() {
+		return (EReference) iposPositionEventEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIposPositionEvent_ZoneDescriptors() {
+		return (EReference) iposPositionEventEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosDevKitFactory getIPosDevKitFactory() {
+		return (IPosDevKitFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated)
+			return;
+		isCreated = true;
+
+		// Create classes and their features
+		trackingRequestEClass = createEClass(TRACKING_REQUEST);
+
+		monitoringRequestEClass = createEClass(MONITORING_REQUEST);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__FRAME_IDS);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__DELTA);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__UPDATE_FREQUENCY);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__TYPE);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__ID);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__FUSION_STRATEGY);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__EXIT_NOTIFICATION);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__PROPERTIES);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__MONITORING_TASK_ID);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__REQUESTOR_PROTOCOL);
+		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__SERIALIZATION_TYPE);
+
+		worldModelUpdateRequestEClass = createEClass(WORLD_MODEL_UPDATE_REQUEST);
+
+		dataStorageRequestEClass = createEClass(DATA_STORAGE_REQUEST);
+
+		worldModelQueryRequestEClass = createEClass(WORLD_MODEL_QUERY_REQUEST);
+
+		dataStorageQueryRequestEClass = createEClass(DATA_STORAGE_QUERY_REQUEST);
+		createEAttribute(dataStorageQueryRequestEClass, DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID);
+
+		agentRegistrationRequestEClass = createEClass(AGENT_REGISTRATION_REQUEST);
+
+		sensorConfigurationRequestEClass = createEClass(SENSOR_CONFIGURATION_REQUEST);
+
+		iposPositionEventEClass = createEClass(IPOS_POSITION_EVENT);
+		createEAttribute(iposPositionEventEClass, IPOS_POSITION_EVENT__AGENT_ID);
+		createEAttribute(iposPositionEventEClass, IPOS_POSITION_EVENT__SENSOR_ID);
+		createEAttribute(iposPositionEventEClass, IPOS_POSITION_EVENT__TYPE);
+		createEAttribute(iposPositionEventEClass, IPOS_POSITION_EVENT__SENSOR_TYPE);
+		createEAttribute(iposPositionEventEClass, IPOS_POSITION_EVENT__LAST_POS_UPDATE);
+		createEReference(iposPositionEventEClass, IPOS_POSITION_EVENT__POSITION);
+		createEReference(iposPositionEventEClass, IPOS_POSITION_EVENT__ORIENTATION);
+		createEReference(iposPositionEventEClass, IPOS_POSITION_EVENT__ZONE_DESCRIPTORS);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized)
+			return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		IPos_DatamodelPackage theIPos_DatamodelPackage = (IPos_DatamodelPackage) EPackage.Registry.INSTANCE
+				.getEPackage(IPos_DatamodelPackage.eNS_URI);
+		XMLTypePackage theXMLTypePackage = (XMLTypePackage) EPackage.Registry.INSTANCE
+				.getEPackage(XMLTypePackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(trackingRequestEClass, TrackingRequest.class, "TrackingRequest", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(monitoringRequestEClass, MonitoringRequest.class, "MonitoringRequest", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMonitoringRequest_FrameIds(), theIPos_DatamodelPackage.getStringList(), "frameIds", null, 0,
+				1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Delta(), theXMLTypePackage.getFloat(), "delta", null, 0, 1,
+				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_UpdateFrequency(), theXMLTypePackage.getFloat(), "updateFrequency", null, 0,
+				1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Type(), theIPos_DatamodelPackage.getStringList(), "type", null, 0, 1,
+				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Id(), theIPos_DatamodelPackage.getStringList(), "id", null, 0, 1,
+				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_FusionStrategy(), theXMLTypePackage.getString(), "fusionStrategy", null, 0,
+				1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_ExitNotification(), theXMLTypePackage.getBoolean(), "exitNotification",
+				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_Properties(), theIPos_DatamodelPackage.getStringList(), "properties", null,
+				0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_MonitoringTaskId(), theXMLTypePackage.getString(), "monitoringTaskId", null,
+				0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_RequestorProtocol(), theXMLTypePackage.getString(), "requestorProtocol",
+				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMonitoringRequest_SerializationType(), theXMLTypePackage.getString(), "serializationType",
+				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(worldModelUpdateRequestEClass, WorldModelUpdateRequest.class, "WorldModelUpdateRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(dataStorageRequestEClass, DataStorageRequest.class, "DataStorageRequest", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(worldModelQueryRequestEClass, WorldModelQueryRequest.class, "WorldModelQueryRequest", !IS_ABSTRACT,
+				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(dataStorageQueryRequestEClass, DataStorageQueryRequest.class, "DataStorageQueryRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDataStorageQueryRequest_TrackingTaskId(), theXMLTypePackage.getString(), "trackingTaskId",
+				null, 0, 1, DataStorageQueryRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
+				!IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(agentRegistrationRequestEClass, AgentRegistrationRequest.class, "AgentRegistrationRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(sensorConfigurationRequestEClass, SensorConfigurationRequest.class, "SensorConfigurationRequest",
+				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(iposPositionEventEClass, IposPositionEvent.class, "IposPositionEvent", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIposPositionEvent_AgentId(), theXMLTypePackage.getString(), "agentId", null, 0, 1,
+				IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIposPositionEvent_SensorId(), theXMLTypePackage.getString(), "sensorId", null, 0, 1,
+				IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIposPositionEvent_Type(), theXMLTypePackage.getString(), "type", null, 0, 1,
+				IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIposPositionEvent_SensorType(), theXMLTypePackage.getString(), "sensorType", null, 0, 1,
+				IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIposPositionEvent_LastPosUpdate(), theXMLTypePackage.getString(), "lastPosUpdate", null, 0, 1,
+				IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEReference(getIposPositionEvent_Position(), theIPos_DatamodelPackage.getPosition(), null, "position", null,
+				1, 1, IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+				IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getIposPositionEvent_Orientation(), theIPos_DatamodelPackage.getOrientation(), null,
+				"orientation", null, 1, 1, IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getIposPositionEvent_ZoneDescriptors(), theIPos_DatamodelPackage.getZoneDescriptor(), null,
+				"zoneDescriptors", null, 0, -1, IposPositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+	}
+
+} //IPosDevKitPackageImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IposPositionEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IposPositionEventImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..6d1acc48cacde1684402f27c004c67049a4a2c60
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/IposPositionEventImpl.java
@@ -0,0 +1,559 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.Orientation;
+import ipos.project.DataModellntegration.iPos_Datamodel.Position;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ipos Position Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getAgentId <em>Agent Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getSensorId <em>Sensor Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getSensorType <em>Sensor Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getLastPosUpdate <em>Last Pos Update</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getPosition <em>Position</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getOrientation <em>Orientation</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IposPositionEventImpl#getZoneDescriptors <em>Zone Descriptors</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IposPositionEventImpl extends MinimalEObjectImpl.Container implements IposPositionEvent {
+	/**
+	 * The default value of the '{@link #getAgentId() <em>Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String AGENT_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getAgentId() <em>Agent Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String agentId = AGENT_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSensorId() <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SENSOR_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSensorId() <em>Sensor Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String sensorId = SENSOR_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TYPE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected String type = TYPE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSensorType() <em>Sensor Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SENSOR_TYPE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSensorType() <em>Sensor Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSensorType()
+	 * @generated
+	 * @ordered
+	 */
+	protected String sensorType = SENSOR_TYPE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLastPosUpdate() <em>Last Pos Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLastPosUpdate()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LAST_POS_UPDATE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLastPosUpdate() <em>Last Pos Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLastPosUpdate()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lastPosUpdate = LAST_POS_UPDATE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getPosition() <em>Position</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPosition()
+	 * @generated
+	 * @ordered
+	 */
+	protected Position position;
+
+	/**
+	 * The cached value of the '{@link #getOrientation() <em>Orientation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrientation()
+	 * @generated
+	 * @ordered
+	 */
+	protected Orientation orientation;
+
+	/**
+	 * The cached value of the '{@link #getZoneDescriptors() <em>Zone Descriptors</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getZoneDescriptors()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ZoneDescriptor> zoneDescriptors;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IposPositionEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return IPosDevKitPackage.Literals.IPOS_POSITION_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getAgentId() {
+		return agentId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgentId(String newAgentId) {
+		String oldAgentId = agentId;
+		agentId = newAgentId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_POSITION_EVENT__AGENT_ID,
+					oldAgentId, agentId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSensorId() {
+		return sensorId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSensorId(String newSensorId) {
+		String oldSensorId = sensorId;
+		sensorId = newSensorId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_ID,
+					oldSensorId, sensorId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(String newType) {
+		String oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_POSITION_EVENT__TYPE, oldType,
+					type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSensorType() {
+		return sensorType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSensorType(String newSensorType) {
+		String oldSensorType = sensorType;
+		sensorType = newSensorType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_TYPE,
+					oldSensorType, sensorType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLastPosUpdate() {
+		return lastPosUpdate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLastPosUpdate(String newLastPosUpdate) {
+		String oldLastPosUpdate = lastPosUpdate;
+		lastPosUpdate = newLastPosUpdate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					IPosDevKitPackage.IPOS_POSITION_EVENT__LAST_POS_UPDATE, oldLastPosUpdate, lastPosUpdate));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Position getPosition() {
+		if (position != null && position.eIsProxy()) {
+			InternalEObject oldPosition = (InternalEObject) position;
+			position = (Position) eResolveProxy(oldPosition);
+			if (position != oldPosition) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPosDevKitPackage.IPOS_POSITION_EVENT__POSITION, oldPosition, position));
+			}
+		}
+		return position;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Position basicGetPosition() {
+		return position;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPosition(Position newPosition) {
+		Position oldPosition = position;
+		position = newPosition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_POSITION_EVENT__POSITION,
+					oldPosition, position));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Orientation getOrientation() {
+		if (orientation != null && orientation.eIsProxy()) {
+			InternalEObject oldOrientation = (InternalEObject) orientation;
+			orientation = (Orientation) eResolveProxy(oldOrientation);
+			if (orientation != oldOrientation) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							IPosDevKitPackage.IPOS_POSITION_EVENT__ORIENTATION, oldOrientation, orientation));
+			}
+		}
+		return orientation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Orientation basicGetOrientation() {
+		return orientation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOrientation(Orientation newOrientation) {
+		Orientation oldOrientation = orientation;
+		orientation = newOrientation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.IPOS_POSITION_EVENT__ORIENTATION,
+					oldOrientation, orientation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ZoneDescriptor> getZoneDescriptors() {
+		if (zoneDescriptors == null) {
+			zoneDescriptors = new EObjectResolvingEList<ZoneDescriptor>(ZoneDescriptor.class, this,
+					IPosDevKitPackage.IPOS_POSITION_EVENT__ZONE_DESCRIPTORS);
+		}
+		return zoneDescriptors;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__AGENT_ID:
+			return getAgentId();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_ID:
+			return getSensorId();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__TYPE:
+			return getType();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_TYPE:
+			return getSensorType();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__LAST_POS_UPDATE:
+			return getLastPosUpdate();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__POSITION:
+			if (resolve)
+				return getPosition();
+			return basicGetPosition();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ORIENTATION:
+			if (resolve)
+				return getOrientation();
+			return basicGetOrientation();
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ZONE_DESCRIPTORS:
+			return getZoneDescriptors();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__AGENT_ID:
+			setAgentId((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_ID:
+			setSensorId((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__TYPE:
+			setType((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_TYPE:
+			setSensorType((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__LAST_POS_UPDATE:
+			setLastPosUpdate((String) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__POSITION:
+			setPosition((Position) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ORIENTATION:
+			setOrientation((Orientation) newValue);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ZONE_DESCRIPTORS:
+			getZoneDescriptors().clear();
+			getZoneDescriptors().addAll((Collection<? extends ZoneDescriptor>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__AGENT_ID:
+			setAgentId(AGENT_ID_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_ID:
+			setSensorId(SENSOR_ID_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__TYPE:
+			setType(TYPE_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_TYPE:
+			setSensorType(SENSOR_TYPE_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__LAST_POS_UPDATE:
+			setLastPosUpdate(LAST_POS_UPDATE_EDEFAULT);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__POSITION:
+			setPosition((Position) null);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ORIENTATION:
+			setOrientation((Orientation) null);
+			return;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ZONE_DESCRIPTORS:
+			getZoneDescriptors().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__AGENT_ID:
+			return AGENT_ID_EDEFAULT == null ? agentId != null : !AGENT_ID_EDEFAULT.equals(agentId);
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_ID:
+			return SENSOR_ID_EDEFAULT == null ? sensorId != null : !SENSOR_ID_EDEFAULT.equals(sensorId);
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__TYPE:
+			return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__SENSOR_TYPE:
+			return SENSOR_TYPE_EDEFAULT == null ? sensorType != null : !SENSOR_TYPE_EDEFAULT.equals(sensorType);
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__LAST_POS_UPDATE:
+			return LAST_POS_UPDATE_EDEFAULT == null ? lastPosUpdate != null
+					: !LAST_POS_UPDATE_EDEFAULT.equals(lastPosUpdate);
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__POSITION:
+			return position != null;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ORIENTATION:
+			return orientation != null;
+		case IPosDevKitPackage.IPOS_POSITION_EVENT__ZONE_DESCRIPTORS:
+			return zoneDescriptors != null && !zoneDescriptors.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (agentId: ");
+		result.append(agentId);
+		result.append(", sensorId: ");
+		result.append(sensorId);
+		result.append(", type: ");
+		result.append(type);
+		result.append(", sensorType: ");
+		result.append(sensorType);
+		result.append(", lastPosUpdate: ");
+		result.append(lastPosUpdate);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IposPositionEventImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/MonitoringRequestImpl.java
similarity index 76%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/MonitoringRequestImpl.java
index 91feb43d9c4af5bd9b6727fabd713e201005c4c6..fcdba3f87d24939bd29d48a4852bd5712f8e6b6c 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/MonitoringRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/MonitoringRequestImpl.java
@@ -1,9 +1,9 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
-import ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
 
 import java.util.List;
 
@@ -22,17 +22,17 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getFrameIds <em>Frame Ids</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getDelta <em>Delta</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getUpdateFrequency <em>Update Frequency</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getType <em>Type</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getId <em>Id</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getFusionStrategy <em>Fusion Strategy</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#isExitNotification <em>Exit Notification</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getProperties <em>Properties</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getMonitoringTaskId <em>Monitoring Task Id</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getRequestorProtocol <em>Requestor Protocol</em>}</li>
- *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl#getSerializationType <em>Serialization Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getFrameIds <em>Frame Ids</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getDelta <em>Delta</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getUpdateFrequency <em>Update Frequency</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getType <em>Type</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getId <em>Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getFusionStrategy <em>Fusion Strategy</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#isExitNotification <em>Exit Notification</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getProperties <em>Properties</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getMonitoringTaskId <em>Monitoring Task Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getRequestorProtocol <em>Requestor Protocol</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.MonitoringRequestImpl#getSerializationType <em>Serialization Type</em>}</li>
  * </ul>
  *
  * @generated
@@ -274,7 +274,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.MONITORING_REQUEST;
+		return IPosDevKitPackage.Literals.MONITORING_REQUEST;
 	}
 
 	/**
@@ -295,7 +295,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		List<String> oldFrameIds = frameIds;
 		frameIds = newFrameIds;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_IDS,
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.MONITORING_REQUEST__FRAME_IDS,
 					oldFrameIds, frameIds));
 	}
 
@@ -317,8 +317,8 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		float oldDelta = delta;
 		delta = newDelta;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__DELTA,
-					oldDelta, delta));
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.MONITORING_REQUEST__DELTA, oldDelta,
+					delta));
 	}
 
 	/**
@@ -340,7 +340,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		updateFrequency = newUpdateFrequency;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-					IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY, oldUpdateFrequency, updateFrequency));
+					IPosDevKitPackage.MONITORING_REQUEST__UPDATE_FREQUENCY, oldUpdateFrequency, updateFrequency));
 	}
 
 	/**
@@ -361,8 +361,8 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		List<String> oldType = type;
 		type = newType;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__TYPE,
-					oldType, type));
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.MONITORING_REQUEST__TYPE, oldType,
+					type));
 	}
 
 	/**
@@ -383,8 +383,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		List<String> oldId = id;
 		id = newId;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__ID, oldId,
-					id));
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.MONITORING_REQUEST__ID, oldId, id));
 	}
 
 	/**
@@ -405,8 +404,8 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		String oldFusionStrategy = fusionStrategy;
 		fusionStrategy = newFusionStrategy;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET,
-					IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY, oldFusionStrategy, fusionStrategy));
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.MONITORING_REQUEST__FUSION_STRATEGY,
+					oldFusionStrategy, fusionStrategy));
 	}
 
 	/**
@@ -428,8 +427,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		exitNotification = newExitNotification;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-					IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION, oldExitNotification,
-					exitNotification));
+					IPosDevKitPackage.MONITORING_REQUEST__EXIT_NOTIFICATION, oldExitNotification, exitNotification));
 	}
 
 	/**
@@ -450,7 +448,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		List<String> oldProperties = properties;
 		properties = newProperties;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES,
+			eNotify(new ENotificationImpl(this, Notification.SET, IPosDevKitPackage.MONITORING_REQUEST__PROPERTIES,
 					oldProperties, properties));
 	}
 
@@ -473,8 +471,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		monitoringTaskId = newMonitoringTaskId;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-					IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID, oldMonitoringTaskId,
-					monitoringTaskId));
+					IPosDevKitPackage.MONITORING_REQUEST__MONITORING_TASK_ID, oldMonitoringTaskId, monitoringTaskId));
 	}
 
 	/**
@@ -496,8 +493,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		requestorProtocol = newRequestorProtocol;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-					IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL, oldRequestorProtocol,
-					requestorProtocol));
+					IPosDevKitPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL, oldRequestorProtocol, requestorProtocol));
 	}
 
 	/**
@@ -519,8 +515,7 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 		serializationType = newSerializationType;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-					IPos_DatamodelPackage.MONITORING_REQUEST__SERIALIZATION_TYPE, oldSerializationType,
-					serializationType));
+					IPosDevKitPackage.MONITORING_REQUEST__SERIALIZATION_TYPE, oldSerializationType, serializationType));
 	}
 
 	/**
@@ -531,27 +526,27 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_IDS:
+		case IPosDevKitPackage.MONITORING_REQUEST__FRAME_IDS:
 			return getFrameIds();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+		case IPosDevKitPackage.MONITORING_REQUEST__DELTA:
 			return getDelta();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+		case IPosDevKitPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
 			return getUpdateFrequency();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__TYPE:
 			return getType();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__ID:
 			return getId();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+		case IPosDevKitPackage.MONITORING_REQUEST__FUSION_STRATEGY:
 			return getFusionStrategy();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+		case IPosDevKitPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
 			return isExitNotification();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+		case IPosDevKitPackage.MONITORING_REQUEST__PROPERTIES:
 			return getProperties();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
 			return getMonitoringTaskId();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+		case IPosDevKitPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
 			return getRequestorProtocol();
-		case IPos_DatamodelPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
 			return getSerializationType();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -566,37 +561,37 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_IDS:
+		case IPosDevKitPackage.MONITORING_REQUEST__FRAME_IDS:
 			setFrameIds((List<String>) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+		case IPosDevKitPackage.MONITORING_REQUEST__DELTA:
 			setDelta((Float) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+		case IPosDevKitPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
 			setUpdateFrequency((Float) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__TYPE:
 			setType((List<String>) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__ID:
 			setId((List<String>) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+		case IPosDevKitPackage.MONITORING_REQUEST__FUSION_STRATEGY:
 			setFusionStrategy((String) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+		case IPosDevKitPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
 			setExitNotification((Boolean) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+		case IPosDevKitPackage.MONITORING_REQUEST__PROPERTIES:
 			setProperties((List<String>) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
 			setMonitoringTaskId((String) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+		case IPosDevKitPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
 			setRequestorProtocol((String) newValue);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
 			setSerializationType((String) newValue);
 			return;
 		}
@@ -611,37 +606,37 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_IDS:
+		case IPosDevKitPackage.MONITORING_REQUEST__FRAME_IDS:
 			setFrameIds(FRAME_IDS_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+		case IPosDevKitPackage.MONITORING_REQUEST__DELTA:
 			setDelta(DELTA_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+		case IPosDevKitPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
 			setUpdateFrequency(UPDATE_FREQUENCY_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__TYPE:
 			setType(TYPE_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__ID:
 			setId(ID_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+		case IPosDevKitPackage.MONITORING_REQUEST__FUSION_STRATEGY:
 			setFusionStrategy(FUSION_STRATEGY_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+		case IPosDevKitPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
 			setExitNotification(EXIT_NOTIFICATION_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+		case IPosDevKitPackage.MONITORING_REQUEST__PROPERTIES:
 			setProperties(PROPERTIES_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
 			setMonitoringTaskId(MONITORING_TASK_ID_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+		case IPosDevKitPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
 			setRequestorProtocol(REQUESTOR_PROTOCOL_EDEFAULT);
 			return;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
 			setSerializationType(SERIALIZATION_TYPE_EDEFAULT);
 			return;
 		}
@@ -656,30 +651,30 @@ public class MonitoringRequestImpl extends MinimalEObjectImpl.Container implemen
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FRAME_IDS:
+		case IPosDevKitPackage.MONITORING_REQUEST__FRAME_IDS:
 			return FRAME_IDS_EDEFAULT == null ? frameIds != null : !FRAME_IDS_EDEFAULT.equals(frameIds);
-		case IPos_DatamodelPackage.MONITORING_REQUEST__DELTA:
+		case IPosDevKitPackage.MONITORING_REQUEST__DELTA:
 			return delta != DELTA_EDEFAULT;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
+		case IPosDevKitPackage.MONITORING_REQUEST__UPDATE_FREQUENCY:
 			return updateFrequency != UPDATE_FREQUENCY_EDEFAULT;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__TYPE:
 			return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-		case IPos_DatamodelPackage.MONITORING_REQUEST__ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__ID:
 			return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
-		case IPos_DatamodelPackage.MONITORING_REQUEST__FUSION_STRATEGY:
+		case IPosDevKitPackage.MONITORING_REQUEST__FUSION_STRATEGY:
 			return FUSION_STRATEGY_EDEFAULT == null ? fusionStrategy != null
 					: !FUSION_STRATEGY_EDEFAULT.equals(fusionStrategy);
-		case IPos_DatamodelPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
+		case IPosDevKitPackage.MONITORING_REQUEST__EXIT_NOTIFICATION:
 			return exitNotification != EXIT_NOTIFICATION_EDEFAULT;
-		case IPos_DatamodelPackage.MONITORING_REQUEST__PROPERTIES:
+		case IPosDevKitPackage.MONITORING_REQUEST__PROPERTIES:
 			return PROPERTIES_EDEFAULT == null ? properties != null : !PROPERTIES_EDEFAULT.equals(properties);
-		case IPos_DatamodelPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
+		case IPosDevKitPackage.MONITORING_REQUEST__MONITORING_TASK_ID:
 			return MONITORING_TASK_ID_EDEFAULT == null ? monitoringTaskId != null
 					: !MONITORING_TASK_ID_EDEFAULT.equals(monitoringTaskId);
-		case IPos_DatamodelPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
+		case IPosDevKitPackage.MONITORING_REQUEST__REQUESTOR_PROTOCOL:
 			return REQUESTOR_PROTOCOL_EDEFAULT == null ? requestorProtocol != null
 					: !REQUESTOR_PROTOCOL_EDEFAULT.equals(requestorProtocol);
-		case IPos_DatamodelPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
+		case IPosDevKitPackage.MONITORING_REQUEST__SERIALIZATION_TYPE:
 			return SERIALIZATION_TYPE_EDEFAULT == null ? serializationType != null
 					: !SERIALIZATION_TYPE_EDEFAULT.equals(serializationType);
 		}
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SensorConfigurationRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/SensorConfigurationRequestImpl.java
similarity index 68%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SensorConfigurationRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/SensorConfigurationRequestImpl.java
index 275929b028ad5ed5d994d2b61aaed70a823fc395..738638aa310059bbbc38eaa716c3406549e09eda 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/SensorConfigurationRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/SensorConfigurationRequestImpl.java
@@ -1,9 +1,9 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
-import ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest;
 
 import org.eclipse.emf.ecore.EClass;
 
@@ -33,7 +33,7 @@ public class SensorConfigurationRequestImpl extends MinimalEObjectImpl.Container
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.SENSOR_CONFIGURATION_REQUEST;
+		return IPosDevKitPackage.Literals.SENSOR_CONFIGURATION_REQUEST;
 	}
 
 } //SensorConfigurationRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/TrackingRequestImpl.java
similarity index 68%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/TrackingRequestImpl.java
index e1c27083e26ff381de01bd2c1effdf4955f316b9..66fc8bf7dbb9a9322f71404f67e2b449fccfecef 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/TrackingRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/TrackingRequestImpl.java
@@ -1,9 +1,9 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
-import ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.TrackingRequest;
 
 import org.eclipse.emf.ecore.EClass;
 
@@ -33,7 +33,7 @@ public class TrackingRequestImpl extends MinimalEObjectImpl.Container implements
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.TRACKING_REQUEST;
+		return IPosDevKitPackage.Literals.TRACKING_REQUEST;
 	}
 
 } //TrackingRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelQueryRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/WorldModelQueryRequestImpl.java
similarity index 68%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelQueryRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/WorldModelQueryRequestImpl.java
index 74618cb0f51a1d62460355dcec5eefbfb409facc..9e5402bb86e4e507027d1a5cd18f30d273e7d645 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelQueryRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/WorldModelQueryRequestImpl.java
@@ -1,9 +1,9 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
-import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelQueryRequest;
 
 import org.eclipse.emf.ecore.EClass;
 
@@ -33,7 +33,7 @@ public class WorldModelQueryRequestImpl extends MinimalEObjectImpl.Container imp
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.WORLD_MODEL_QUERY_REQUEST;
+		return IPosDevKitPackage.Literals.WORLD_MODEL_QUERY_REQUEST;
 	}
 
 } //WorldModelQueryRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelUpdateRequestImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/WorldModelUpdateRequestImpl.java
similarity index 68%
rename from src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelUpdateRequestImpl.java
rename to src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/WorldModelUpdateRequestImpl.java
index 510b2ef29e08986971947582fa0bbbc9ebfc0095..77db72873ef8a055f44fca715e9ab1ed85e87301 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/WorldModelUpdateRequestImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/impl/WorldModelUpdateRequestImpl.java
@@ -1,9 +1,9 @@
 /**
  */
-package ipos.project.DataModellntegration.iPos_Datamodel.impl;
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl;
 
-import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
-import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelUpdateRequest;
 
 import org.eclipse.emf.ecore.EClass;
 
@@ -33,7 +33,7 @@ public class WorldModelUpdateRequestImpl extends MinimalEObjectImpl.Container im
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return IPos_DatamodelPackage.Literals.WORLD_MODEL_UPDATE_REQUEST;
+		return IPosDevKitPackage.Literals.WORLD_MODEL_UPDATE_REQUEST;
 	}
 
 } //WorldModelUpdateRequestImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitAdapterFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..12ec1a133efea4a79bdc3b7fa3a2e30d29c80248
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitAdapterFactory.java
@@ -0,0 +1,271 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage
+ * @generated
+ */
+public class IPosDevKitAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static IPosDevKitPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosDevKitAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = IPosDevKitPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPosDevKitSwitch<Adapter> modelSwitch = new IPosDevKitSwitch<Adapter>() {
+		@Override
+		public Adapter caseTrackingRequest(TrackingRequest object) {
+			return createTrackingRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseMonitoringRequest(MonitoringRequest object) {
+			return createMonitoringRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseWorldModelUpdateRequest(WorldModelUpdateRequest object) {
+			return createWorldModelUpdateRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseDataStorageRequest(DataStorageRequest object) {
+			return createDataStorageRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseWorldModelQueryRequest(WorldModelQueryRequest object) {
+			return createWorldModelQueryRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseDataStorageQueryRequest(DataStorageQueryRequest object) {
+			return createDataStorageQueryRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseAgentRegistrationRequest(AgentRegistrationRequest object) {
+			return createAgentRegistrationRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseSensorConfigurationRequest(SensorConfigurationRequest object) {
+			return createSensorConfigurationRequestAdapter();
+		}
+
+		@Override
+		public Adapter caseIposPositionEvent(IposPositionEvent object) {
+			return createIposPositionEventAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.TrackingRequest <em>Tracking Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.TrackingRequest
+	 * @generated
+	 */
+	public Adapter createTrackingRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest <em>Monitoring Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest
+	 * @generated
+	 */
+	public Adapter createMonitoringRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelUpdateRequest <em>World Model Update Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelUpdateRequest
+	 * @generated
+	 */
+	public Adapter createWorldModelUpdateRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest <em>Data Storage Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageRequest
+	 * @generated
+	 */
+	public Adapter createDataStorageRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelQueryRequest <em>World Model Query Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.WorldModelQueryRequest
+	 * @generated
+	 */
+	public Adapter createWorldModelQueryRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest <em>Data Storage Query Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest
+	 * @generated
+	 */
+	public Adapter createDataStorageQueryRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest <em>Agent Registration Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.AgentRegistrationRequest
+	 * @generated
+	 */
+	public Adapter createAgentRegistrationRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest <em>Sensor Configuration Request</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.SensorConfigurationRequest
+	 * @generated
+	 */
+	public Adapter createSensorConfigurationRequestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent <em>Ipos Position Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent
+	 * @generated
+	 */
+	public Adapter createIposPositionEventAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //IPosDevKitAdapterFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitSwitch.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitSwitch.java
new file mode 100644
index 0000000000000000000000000000000000000000..f033e714898f0ac48e306ea9ee62cdf5e9bee555
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPosDevKit/util/IPosDevKitSwitch.java
@@ -0,0 +1,288 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage
+ * @generated
+ */
+public class IPosDevKitSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static IPosDevKitPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPosDevKitSwitch() {
+		if (modelPackage == null) {
+			modelPackage = IPosDevKitPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case IPosDevKitPackage.TRACKING_REQUEST: {
+			TrackingRequest trackingRequest = (TrackingRequest) theEObject;
+			T result = caseTrackingRequest(trackingRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.MONITORING_REQUEST: {
+			MonitoringRequest monitoringRequest = (MonitoringRequest) theEObject;
+			T result = caseMonitoringRequest(monitoringRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.WORLD_MODEL_UPDATE_REQUEST: {
+			WorldModelUpdateRequest worldModelUpdateRequest = (WorldModelUpdateRequest) theEObject;
+			T result = caseWorldModelUpdateRequest(worldModelUpdateRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.DATA_STORAGE_REQUEST: {
+			DataStorageRequest dataStorageRequest = (DataStorageRequest) theEObject;
+			T result = caseDataStorageRequest(dataStorageRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.WORLD_MODEL_QUERY_REQUEST: {
+			WorldModelQueryRequest worldModelQueryRequest = (WorldModelQueryRequest) theEObject;
+			T result = caseWorldModelQueryRequest(worldModelQueryRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.DATA_STORAGE_QUERY_REQUEST: {
+			DataStorageQueryRequest dataStorageQueryRequest = (DataStorageQueryRequest) theEObject;
+			T result = caseDataStorageQueryRequest(dataStorageQueryRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.AGENT_REGISTRATION_REQUEST: {
+			AgentRegistrationRequest agentRegistrationRequest = (AgentRegistrationRequest) theEObject;
+			T result = caseAgentRegistrationRequest(agentRegistrationRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.SENSOR_CONFIGURATION_REQUEST: {
+			SensorConfigurationRequest sensorConfigurationRequest = (SensorConfigurationRequest) theEObject;
+			T result = caseSensorConfigurationRequest(sensorConfigurationRequest);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case IPosDevKitPackage.IPOS_POSITION_EVENT: {
+			IposPositionEvent iposPositionEvent = (IposPositionEvent) theEObject;
+			T result = caseIposPositionEvent(iposPositionEvent);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Tracking Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Tracking Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTrackingRequest(TrackingRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Monitoring Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Monitoring Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMonitoringRequest(MonitoringRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>World Model Update Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>World Model Update Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseWorldModelUpdateRequest(WorldModelUpdateRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Storage Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Data Storage Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataStorageRequest(DataStorageRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>World Model Query Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>World Model Query Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseWorldModelQueryRequest(WorldModelQueryRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Storage Query Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Data Storage Query Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataStorageQueryRequest(DataStorageQueryRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Agent Registration Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Agent Registration Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAgentRegistrationRequest(AgentRegistrationRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Sensor Configuration Request</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Sensor Configuration Request</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSensorConfigurationRequest(SensorConfigurationRequest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Ipos Position Event</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Ipos Position Event</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIposPositionEvent(IposPositionEvent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //IPosDevKitSwitch
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelFactory.java
index 5235205e6efd53af937d45220adc7160c08df9ff..b86a1946fe3fbc4f0ea98185a190fb8ac9a1da9f 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelFactory.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelFactory.java
@@ -256,42 +256,6 @@ public interface IPos_DatamodelFactory extends EFactory {
 	 */
 	PositionEvent createPositionEvent();
 
-	/**
-	 * Returns a new object of class '<em>Tracking Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Tracking Request</em>'.
-	 * @generated
-	 */
-	TrackingRequest createTrackingRequest();
-
-	/**
-	 * Returns a new object of class '<em>Monitoring Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Monitoring Request</em>'.
-	 * @generated
-	 */
-	MonitoringRequest createMonitoringRequest();
-
-	/**
-	 * Returns a new object of class '<em>World Model Update Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>World Model Update Request</em>'.
-	 * @generated
-	 */
-	WorldModelUpdateRequest createWorldModelUpdateRequest();
-
-	/**
-	 * Returns a new object of class '<em>Data Storage Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Data Storage Request</em>'.
-	 * @generated
-	 */
-	DataStorageRequest createDataStorageRequest();
-
 	/**
 	 * Returns a new object of class '<em>Event Filter Configuration</em>'.
 	 * <!-- begin-user-doc -->
@@ -301,33 +265,6 @@ public interface IPos_DatamodelFactory extends EFactory {
 	 */
 	EventFilterConfiguration createEventFilterConfiguration();
 
-	/**
-	 * Returns a new object of class '<em>World Model Query Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>World Model Query Request</em>'.
-	 * @generated
-	 */
-	WorldModelQueryRequest createWorldModelQueryRequest();
-
-	/**
-	 * Returns a new object of class '<em>Data Storage Query Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Data Storage Query Request</em>'.
-	 * @generated
-	 */
-	DataStorageQueryRequest createDataStorageQueryRequest();
-
-	/**
-	 * Returns a new object of class '<em>Agent Registration Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Agent Registration Request</em>'.
-	 * @generated
-	 */
-	AgentRegistrationRequest createAgentRegistrationRequest();
-
 	/**
 	 * Returns a new object of class '<em>Monitoring Task</em>'.
 	 * <!-- begin-user-doc -->
@@ -391,15 +328,6 @@ public interface IPos_DatamodelFactory extends EFactory {
 	 */
 	UWB createUWB();
 
-	/**
-	 * Returns a new object of class '<em>Sensor Configuration Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Sensor Configuration Request</em>'.
-	 * @generated
-	 */
-	SensorConfigurationRequest createSensorConfigurationRequest();
-
 	/**
 	 * Returns a new object of class '<em>Other Beacon</em>'.
 	 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelPackage.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelPackage.java
index 81553df565c81b4b2dba729d1450d7d642f2d0df..d65d870b4097d72f08b7dc6f0f33329a3a491d89 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelPackage.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/IPos_DatamodelPackage.java
@@ -1398,217 +1398,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 */
 	int POSITION_EVENT_OPERATION_COUNT = 0;
 
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl <em>Tracking Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getTrackingRequest()
-	 * @generated
-	 */
-	int TRACKING_REQUEST = 26;
-
-	/**
-	 * The number of structural features of the '<em>Tracking Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACKING_REQUEST_FEATURE_COUNT = 0;
-
-	/**
-	 * The number of operations of the '<em>Tracking Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACKING_REQUEST_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl <em>Monitoring Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMonitoringRequest()
-	 * @generated
-	 */
-	int MONITORING_REQUEST = 27;
-
-	/**
-	 * The feature id for the '<em><b>Frame Ids</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__FRAME_IDS = 0;
-
-	/**
-	 * The feature id for the '<em><b>Delta</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__DELTA = 1;
-
-	/**
-	 * The feature id for the '<em><b>Update Frequency</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__UPDATE_FREQUENCY = 2;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__TYPE = 3;
-
-	/**
-	 * The feature id for the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__ID = 4;
-
-	/**
-	 * The feature id for the '<em><b>Fusion Strategy</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__FUSION_STRATEGY = 5;
-
-	/**
-	 * The feature id for the '<em><b>Exit Notification</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__EXIT_NOTIFICATION = 6;
-
-	/**
-	 * The feature id for the '<em><b>Properties</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__PROPERTIES = 7;
-
-	/**
-	 * The feature id for the '<em><b>Monitoring Task Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__MONITORING_TASK_ID = 8;
-
-	/**
-	 * The feature id for the '<em><b>Requestor Protocol</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__REQUESTOR_PROTOCOL = 9;
-
-	/**
-	 * The feature id for the '<em><b>Serialization Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST__SERIALIZATION_TYPE = 10;
-
-	/**
-	 * The number of structural features of the '<em>Monitoring Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST_FEATURE_COUNT = 11;
-
-	/**
-	 * The number of operations of the '<em>Monitoring Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MONITORING_REQUEST_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl <em>World Model Update Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelUpdateRequest()
-	 * @generated
-	 */
-	int WORLD_MODEL_UPDATE_REQUEST = 28;
-
-	/**
-	 * The number of structural features of the '<em>World Model Update Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORLD_MODEL_UPDATE_REQUEST_FEATURE_COUNT = 0;
-
-	/**
-	 * The number of operations of the '<em>World Model Update Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORLD_MODEL_UPDATE_REQUEST_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl <em>Data Storage Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageRequest()
-	 * @generated
-	 */
-	int DATA_STORAGE_REQUEST = 29;
-
-	/**
-	 * The number of structural features of the '<em>Data Storage Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORAGE_REQUEST_FEATURE_COUNT = 0;
-
-	/**
-	 * The number of operations of the '<em>Data Storage Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORAGE_REQUEST_OPERATION_COUNT = 0;
-
 	/**
 	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl <em>Event Filter Configuration</em>}' class.
 	 * <!-- begin-user-doc -->
@@ -1617,7 +1406,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEventFilterConfiguration()
 	 * @generated
 	 */
-	int EVENT_FILTER_CONFIGURATION = 30;
+	int EVENT_FILTER_CONFIGURATION = 26;
 
 	/**
 	 * The feature id for the '<em><b>Position Ambiguity Strategy</b></em>' attribute.
@@ -1673,99 +1462,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 */
 	int EVENT_FILTER_CONFIGURATION_OPERATION_COUNT = 0;
 
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl <em>World Model Query Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelQueryRequest()
-	 * @generated
-	 */
-	int WORLD_MODEL_QUERY_REQUEST = 31;
-
-	/**
-	 * The number of structural features of the '<em>World Model Query Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORLD_MODEL_QUERY_REQUEST_FEATURE_COUNT = 0;
-
-	/**
-	 * The number of operations of the '<em>World Model Query Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORLD_MODEL_QUERY_REQUEST_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl <em>Data Storage Query Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageQueryRequest()
-	 * @generated
-	 */
-	int DATA_STORAGE_QUERY_REQUEST = 32;
-
-	/**
-	 * The feature id for the '<em><b>Tracking Task Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID = 0;
-
-	/**
-	 * The number of structural features of the '<em>Data Storage Query Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORAGE_QUERY_REQUEST_FEATURE_COUNT = 1;
-
-	/**
-	 * The number of operations of the '<em>Data Storage Query Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORAGE_QUERY_REQUEST_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl <em>Agent Registration Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAgentRegistrationRequest()
-	 * @generated
-	 */
-	int AGENT_REGISTRATION_REQUEST = 33;
-
-	/**
-	 * The number of structural features of the '<em>Agent Registration Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AGENT_REGISTRATION_REQUEST_FEATURE_COUNT = 0;
-
-	/**
-	 * The number of operations of the '<em>Agent Registration Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AGENT_REGISTRATION_REQUEST_OPERATION_COUNT = 0;
-
 	/**
 	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringTaskImpl <em>Monitoring Task</em>}' class.
 	 * <!-- begin-user-doc -->
@@ -1774,7 +1470,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMonitoringTask()
 	 * @generated
 	 */
-	int MONITORING_TASK = 34;
+	int MONITORING_TASK = 27;
 
 	/**
 	 * The feature id for the '<em><b>Eventfilterconfiguration</b></em>' reference.
@@ -1811,7 +1507,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getTrackingTask()
 	 * @generated
 	 */
-	int TRACKING_TASK = 35;
+	int TRACKING_TASK = 28;
 
 	/**
 	 * The feature id for the '<em><b>Eventfilterconfiguration</b></em>' reference.
@@ -1848,7 +1544,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModel()
 	 * @generated
 	 */
-	int WORLD_MODEL = 36;
+	int WORLD_MODEL = 29;
 
 	/**
 	 * The feature id for the '<em><b>Agent</b></em>' reference list.
@@ -1912,7 +1608,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBarcode()
 	 * @generated
 	 */
-	int BARCODE = 37;
+	int BARCODE = 30;
 
 	/**
 	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
@@ -1976,7 +1672,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOtherProx()
 	 * @generated
 	 */
-	int OTHER_PROX = 38;
+	int OTHER_PROX = 31;
 
 	/**
 	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
@@ -2049,7 +1745,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBluetooth()
 	 * @generated
 	 */
-	int BLUETOOTH = 39;
+	int BLUETOOTH = 32;
 
 	/**
 	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
@@ -2122,7 +1818,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getUWB()
 	 * @generated
 	 */
-	int UWB = 40;
+	int UWB = 33;
 
 	/**
 	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
@@ -2178,34 +1874,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 */
 	int UWB_OPERATION_COUNT = BEACON_OPERATION_COUNT + 0;
 
-	/**
-	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl <em>Sensor Configuration Request</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getSensorConfigurationRequest()
-	 * @generated
-	 */
-	int SENSOR_CONFIGURATION_REQUEST = 41;
-
-	/**
-	 * The number of structural features of the '<em>Sensor Configuration Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_CONFIGURATION_REQUEST_FEATURE_COUNT = 0;
-
-	/**
-	 * The number of operations of the '<em>Sensor Configuration Request</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SENSOR_CONFIGURATION_REQUEST_OPERATION_COUNT = 0;
-
 	/**
 	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherBeaconImpl <em>Other Beacon</em>}' class.
 	 * <!-- begin-user-doc -->
@@ -2214,7 +1882,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getOtherBeacon()
 	 * @generated
 	 */
-	int OTHER_BEACON = 42;
+	int OTHER_BEACON = 34;
 
 	/**
 	 * The feature id for the '<em><b>Time Stamp</b></em>' attribute.
@@ -2287,7 +1955,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getPOI()
 	 * @generated
 	 */
-	int POI = 43;
+	int POI = 35;
 
 	/**
 	 * The feature id for the '<em><b>Placing</b></em>' reference.
@@ -2351,7 +2019,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getEventFilterCondition()
 	 * @generated
 	 */
-	int EVENT_FILTER_CONDITION = 44;
+	int EVENT_FILTER_CONDITION = 36;
 
 	/**
 	 * The feature id for the '<em><b>Time Condition</b></em>' attribute.
@@ -2469,7 +2137,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getZoneDescriptor()
 	 * @generated
 	 */
-	int ZONE_DESCRIPTOR = 45;
+	int ZONE_DESCRIPTOR = 37;
 
 	/**
 	 * The feature id for the '<em><b>Zone Id</b></em>' attribute.
@@ -2515,7 +2183,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageQueryResponse()
 	 * @generated
 	 */
-	int DATA_STORAGE_QUERY_RESPONSE = 46;
+	int DATA_STORAGE_QUERY_RESPONSE = 38;
 
 	/**
 	 * The feature id for the '<em><b>Position Events</b></em>' reference list.
@@ -2561,7 +2229,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getStringList()
 	 * @generated
 	 */
-	int STRING_LIST = 47;
+	int STRING_LIST = 39;
 
 	/**
 	 * The meta object id for the '<em>String Array</em>' data type.
@@ -2570,7 +2238,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getStringArray()
 	 * @generated
 	 */
-	int STRING_ARRAY = 48;
+	int STRING_ARRAY = 40;
 
 	/**
 	 * The meta object id for the '<em>Float Array3d</em>' data type.
@@ -2579,7 +2247,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getFloatArray3d()
 	 * @generated
 	 */
-	int FLOAT_ARRAY3D = 49;
+	int FLOAT_ARRAY3D = 41;
 
 	/**
 	 * The meta object id for the '<em>Boolean List</em>' data type.
@@ -2588,7 +2256,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getBooleanList()
 	 * @generated
 	 */
-	int BOOLEAN_LIST = 50;
+	int BOOLEAN_LIST = 42;
 
 	/**
 	 * The meta object id for the '<em>Float Array</em>' data type.
@@ -2597,7 +2265,7 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getFloatArray()
 	 * @generated
 	 */
-	int FLOAT_ARRAY = 51;
+	int FLOAT_ARRAY = 43;
 
 	/**
 	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.Agent <em>Agent</em>}'.
@@ -3464,167 +3132,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 */
 	EReference getPositionEvent_Zonedescriptors();
 
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest <em>Tracking Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Tracking Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest
-	 * @generated
-	 */
-	EClass getTrackingRequest();
-
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest <em>Monitoring Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Monitoring Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest
-	 * @generated
-	 */
-	EClass getMonitoringRequest();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameIds <em>Frame Ids</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Frame Ids</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFrameIds()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_FrameIds();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta <em>Delta</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Delta</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getDelta()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_Delta();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency <em>Update Frequency</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Update Frequency</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getUpdateFrequency()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_UpdateFrequency();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getType()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_Type();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId <em>Id</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Id</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getId()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_Id();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy <em>Fusion Strategy</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Fusion Strategy</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getFusionStrategy()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_FusionStrategy();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification <em>Exit Notification</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Exit Notification</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#isExitNotification()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_ExitNotification();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties <em>Properties</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Properties</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getProperties()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_Properties();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId <em>Monitoring Task Id</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Monitoring Task Id</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getMonitoringTaskId()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_MonitoringTaskId();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol <em>Requestor Protocol</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Requestor Protocol</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getRequestorProtocol()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_RequestorProtocol();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getSerializationType <em>Serialization Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Serialization Type</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest#getSerializationType()
-	 * @see #getMonitoringRequest()
-	 * @generated
-	 */
-	EAttribute getMonitoringRequest_SerializationType();
-
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest <em>World Model Update Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>World Model Update Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest
-	 * @generated
-	 */
-	EClass getWorldModelUpdateRequest();
-
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest <em>Data Storage Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Data Storage Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest
-	 * @generated
-	 */
-	EClass getDataStorageRequest();
-
 	/**
 	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration <em>Event Filter Configuration</em>}'.
 	 * <!-- begin-user-doc -->
@@ -3679,47 +3186,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 */
 	EReference getEventFilterConfiguration_Eventfiltercondition();
 
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest <em>World Model Query Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>World Model Query Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest
-	 * @generated
-	 */
-	EClass getWorldModelQueryRequest();
-
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest <em>Data Storage Query Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Data Storage Query Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest
-	 * @generated
-	 */
-	EClass getDataStorageQueryRequest();
-
-	/**
-	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest#getTrackingTaskId <em>Tracking Task Id</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Tracking Task Id</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest#getTrackingTaskId()
-	 * @see #getDataStorageQueryRequest()
-	 * @generated
-	 */
-	EAttribute getDataStorageQueryRequest_TrackingTaskId();
-
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest <em>Agent Registration Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Agent Registration Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest
-	 * @generated
-	 */
-	EClass getAgentRegistrationRequest();
-
 	/**
 	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask <em>Monitoring Task</em>}'.
 	 * <!-- begin-user-doc -->
@@ -3878,16 +3344,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 	 */
 	EClass getUWB();
 
-	/**
-	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest <em>Sensor Configuration Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Sensor Configuration Request</em>'.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest
-	 * @generated
-	 */
-	EClass getSensorConfigurationRequest();
-
 	/**
 	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon <em>Other Beacon</em>}'.
 	 * <!-- begin-user-doc -->
@@ -4921,134 +4377,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 		 */
 		EReference POSITION_EVENT__ZONEDESCRIPTORS = eINSTANCE.getPositionEvent_Zonedescriptors();
 
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl <em>Tracking Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.TrackingRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getTrackingRequest()
-		 * @generated
-		 */
-		EClass TRACKING_REQUEST = eINSTANCE.getTrackingRequest();
-
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl <em>Monitoring Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getMonitoringRequest()
-		 * @generated
-		 */
-		EClass MONITORING_REQUEST = eINSTANCE.getMonitoringRequest();
-
-		/**
-		 * The meta object literal for the '<em><b>Frame Ids</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__FRAME_IDS = eINSTANCE.getMonitoringRequest_FrameIds();
-
-		/**
-		 * The meta object literal for the '<em><b>Delta</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__DELTA = eINSTANCE.getMonitoringRequest_Delta();
-
-		/**
-		 * The meta object literal for the '<em><b>Update Frequency</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__UPDATE_FREQUENCY = eINSTANCE.getMonitoringRequest_UpdateFrequency();
-
-		/**
-		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__TYPE = eINSTANCE.getMonitoringRequest_Type();
-
-		/**
-		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__ID = eINSTANCE.getMonitoringRequest_Id();
-
-		/**
-		 * The meta object literal for the '<em><b>Fusion Strategy</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__FUSION_STRATEGY = eINSTANCE.getMonitoringRequest_FusionStrategy();
-
-		/**
-		 * The meta object literal for the '<em><b>Exit Notification</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__EXIT_NOTIFICATION = eINSTANCE.getMonitoringRequest_ExitNotification();
-
-		/**
-		 * The meta object literal for the '<em><b>Properties</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__PROPERTIES = eINSTANCE.getMonitoringRequest_Properties();
-
-		/**
-		 * The meta object literal for the '<em><b>Monitoring Task Id</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__MONITORING_TASK_ID = eINSTANCE.getMonitoringRequest_MonitoringTaskId();
-
-		/**
-		 * The meta object literal for the '<em><b>Requestor Protocol</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__REQUESTOR_PROTOCOL = eINSTANCE.getMonitoringRequest_RequestorProtocol();
-
-		/**
-		 * The meta object literal for the '<em><b>Serialization Type</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute MONITORING_REQUEST__SERIALIZATION_TYPE = eINSTANCE.getMonitoringRequest_SerializationType();
-
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl <em>World Model Update Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelUpdateRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelUpdateRequest()
-		 * @generated
-		 */
-		EClass WORLD_MODEL_UPDATE_REQUEST = eINSTANCE.getWorldModelUpdateRequest();
-
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl <em>Data Storage Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageRequest()
-		 * @generated
-		 */
-		EClass DATA_STORAGE_REQUEST = eINSTANCE.getDataStorageRequest();
-
 		/**
 		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.EventFilterConfigurationImpl <em>Event Filter Configuration</em>}' class.
 		 * <!-- begin-user-doc -->
@@ -5094,44 +4422,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 		EReference EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION = eINSTANCE
 				.getEventFilterConfiguration_Eventfiltercondition();
 
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl <em>World Model Query Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.WorldModelQueryRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getWorldModelQueryRequest()
-		 * @generated
-		 */
-		EClass WORLD_MODEL_QUERY_REQUEST = eINSTANCE.getWorldModelQueryRequest();
-
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl <em>Data Storage Query Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.DataStorageQueryRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getDataStorageQueryRequest()
-		 * @generated
-		 */
-		EClass DATA_STORAGE_QUERY_REQUEST = eINSTANCE.getDataStorageQueryRequest();
-
-		/**
-		 * The meta object literal for the '<em><b>Tracking Task Id</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID = eINSTANCE.getDataStorageQueryRequest_TrackingTaskId();
-
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl <em>Agent Registration Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.AgentRegistrationRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getAgentRegistrationRequest()
-		 * @generated
-		 */
-		EClass AGENT_REGISTRATION_REQUEST = eINSTANCE.getAgentRegistrationRequest();
-
 		/**
 		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.MonitoringTaskImpl <em>Monitoring Task</em>}' class.
 		 * <!-- begin-user-doc -->
@@ -5266,16 +4556,6 @@ public interface IPos_DatamodelPackage extends EPackage {
 		 */
 		EClass UWB = eINSTANCE.getUWB();
 
-		/**
-		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl <em>Sensor Configuration Request</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.SensorConfigurationRequestImpl
-		 * @see ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl#getSensorConfigurationRequest()
-		 * @generated
-		 */
-		EClass SENSOR_CONFIGURATION_REQUEST = eINSTANCE.getSensorConfigurationRequest();
-
 		/**
 		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.impl.OtherBeaconImpl <em>Other Beacon</em>}' class.
 		 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/InventoryItem.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/InventoryItem.java
new file mode 100644
index 0000000000000000000000000000000000000000..f01a4707311cad3874ae8e51c1260cc72eeefabd
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/InventoryItem.java
@@ -0,0 +1,92 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Inventory Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getInventoryItemId <em>Inventory Item Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getContainerId <em>Container Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getProductId <em>Product Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getInventoryItem()
+ * @model
+ * @generated
+ */
+public interface InventoryItem extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Inventory Item Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Inventory Item Id</em>' attribute.
+	 * @see #setInventoryItemId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getInventoryItem_InventoryItemId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getInventoryItemId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getInventoryItemId <em>Inventory Item Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Inventory Item Id</em>' attribute.
+	 * @see #getInventoryItemId()
+	 * @generated
+	 */
+	void setInventoryItemId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Container Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Container Id</em>' attribute.
+	 * @see #setContainerId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getInventoryItem_ContainerId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getContainerId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getContainerId <em>Container Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Container Id</em>' attribute.
+	 * @see #getContainerId()
+	 * @generated
+	 */
+	void setContainerId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Product Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Product Id</em>' attribute.
+	 * @see #setProductId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getInventoryItem_ProductId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getProductId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getProductId <em>Product Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Product Id</em>' attribute.
+	 * @see #getProductId()
+	 * @generated
+	 */
+	void setProductId(String value);
+
+} // InventoryItem
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/OFBizFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/OFBizFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..81e6a61b1b5dcfb0a8629a7969633a737212ddae
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/OFBizFactory.java
@@ -0,0 +1,78 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage
+ * @generated
+ */
+public interface OFBizFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	OFBizFactory eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Picklist</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Picklist</em>'.
+	 * @generated
+	 */
+	Picklist createPicklist();
+
+	/**
+	 * Returns a new object of class '<em>Picklist Bin</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Picklist Bin</em>'.
+	 * @generated
+	 */
+	PicklistBin createPicklistBin();
+
+	/**
+	 * Returns a new object of class '<em>Picklist Item</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Picklist Item</em>'.
+	 * @generated
+	 */
+	PicklistItem createPicklistItem();
+
+	/**
+	 * Returns a new object of class '<em>Inventory Item</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Inventory Item</em>'.
+	 * @generated
+	 */
+	InventoryItem createInventoryItem();
+
+	/**
+	 * Returns a new object of class '<em>Picklist Role</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Picklist Role</em>'.
+	 * @generated
+	 */
+	PicklistRole createPicklistRole();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	OFBizPackage getOFBizPackage();
+
+} //OFBizFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/OFBizPackage.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/OFBizPackage.java
new file mode 100644
index 0000000000000000000000000000000000000000..31c3d4c40b2de02bed03c7c8ea09794e1fa4269d
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/OFBizPackage.java
@@ -0,0 +1,688 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface OFBizPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "OFBiz";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "ofbiz";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "ofbiz";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	OFBizPackage eINSTANCE = ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistImpl <em>Picklist</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklist()
+	 * @generated
+	 */
+	int PICKLIST = 0;
+
+	/**
+	 * The feature id for the '<em><b>Picklist Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST__PICKLIST_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Picklist Roles</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST__PICKLIST_ROLES = 1;
+
+	/**
+	 * The feature id for the '<em><b>Picklist Bins</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST__PICKLIST_BINS = 2;
+
+	/**
+	 * The number of structural features of the '<em>Picklist</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Picklist</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistBinImpl <em>Picklist Bin</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistBinImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklistBin()
+	 * @generated
+	 */
+	int PICKLIST_BIN = 1;
+
+	/**
+	 * The feature id for the '<em><b>Picklist Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_BIN__PICKLIST_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Bin Location Number</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_BIN__BIN_LOCATION_NUMBER = 1;
+
+	/**
+	 * The feature id for the '<em><b>Picklist Items</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_BIN__PICKLIST_ITEMS = 2;
+
+	/**
+	 * The number of structural features of the '<em>Picklist Bin</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_BIN_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Picklist Bin</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_BIN_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistItemImpl <em>Picklist Item</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistItemImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklistItem()
+	 * @generated
+	 */
+	int PICKLIST_ITEM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Inventory Item</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ITEM__INVENTORY_ITEM = 0;
+
+	/**
+	 * The number of structural features of the '<em>Picklist Item</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ITEM_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Picklist Item</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ITEM_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.InventoryItemImpl <em>Inventory Item</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.InventoryItemImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getInventoryItem()
+	 * @generated
+	 */
+	int INVENTORY_ITEM = 3;
+
+	/**
+	 * The feature id for the '<em><b>Inventory Item Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVENTORY_ITEM__INVENTORY_ITEM_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Container Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVENTORY_ITEM__CONTAINER_ID = 1;
+
+	/**
+	 * The feature id for the '<em><b>Product Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVENTORY_ITEM__PRODUCT_ID = 2;
+
+	/**
+	 * The number of structural features of the '<em>Inventory Item</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVENTORY_ITEM_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Inventory Item</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVENTORY_ITEM_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistRoleImpl <em>Picklist Role</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistRoleImpl
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklistRole()
+	 * @generated
+	 */
+	int PICKLIST_ROLE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Picklist Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ROLE__PICKLIST_ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Party Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ROLE__PARTY_ID = 1;
+
+	/**
+	 * The feature id for the '<em><b>Role Type Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ROLE__ROLE_TYPE_ID = 2;
+
+	/**
+	 * The number of structural features of the '<em>Picklist Role</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ROLE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Picklist Role</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PICKLIST_ROLE_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist <em>Picklist</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Picklist</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist
+	 * @generated
+	 */
+	EClass getPicklist();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistId <em>Picklist Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Picklist Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistId()
+	 * @see #getPicklist()
+	 * @generated
+	 */
+	EAttribute getPicklist_PicklistId();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistRoles <em>Picklist Roles</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Picklist Roles</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistRoles()
+	 * @see #getPicklist()
+	 * @generated
+	 */
+	EReference getPicklist_PicklistRoles();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistBins <em>Picklist Bins</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Picklist Bins</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistBins()
+	 * @see #getPicklist()
+	 * @generated
+	 */
+	EReference getPicklist_PicklistBins();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin <em>Picklist Bin</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Picklist Bin</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin
+	 * @generated
+	 */
+	EClass getPicklistBin();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getPicklistId <em>Picklist Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Picklist Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getPicklistId()
+	 * @see #getPicklistBin()
+	 * @generated
+	 */
+	EAttribute getPicklistBin_PicklistId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getBinLocationNumber <em>Bin Location Number</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bin Location Number</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getBinLocationNumber()
+	 * @see #getPicklistBin()
+	 * @generated
+	 */
+	EAttribute getPicklistBin_BinLocationNumber();
+
+	/**
+	 * Returns the meta object for the reference list '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getPicklistItems <em>Picklist Items</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Picklist Items</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getPicklistItems()
+	 * @see #getPicklistBin()
+	 * @generated
+	 */
+	EReference getPicklistBin_PicklistItems();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem <em>Picklist Item</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Picklist Item</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem
+	 * @generated
+	 */
+	EClass getPicklistItem();
+
+	/**
+	 * Returns the meta object for the reference '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem#getInventoryItem <em>Inventory Item</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Inventory Item</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem#getInventoryItem()
+	 * @see #getPicklistItem()
+	 * @generated
+	 */
+	EReference getPicklistItem_InventoryItem();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem <em>Inventory Item</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Inventory Item</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem
+	 * @generated
+	 */
+	EClass getInventoryItem();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getInventoryItemId <em>Inventory Item Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Inventory Item Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getInventoryItemId()
+	 * @see #getInventoryItem()
+	 * @generated
+	 */
+	EAttribute getInventoryItem_InventoryItemId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getContainerId <em>Container Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Container Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getContainerId()
+	 * @see #getInventoryItem()
+	 * @generated
+	 */
+	EAttribute getInventoryItem_ContainerId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getProductId <em>Product Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Product Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem#getProductId()
+	 * @see #getInventoryItem()
+	 * @generated
+	 */
+	EAttribute getInventoryItem_ProductId();
+
+	/**
+	 * Returns the meta object for class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole <em>Picklist Role</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Picklist Role</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole
+	 * @generated
+	 */
+	EClass getPicklistRole();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPicklistId <em>Picklist Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Picklist Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPicklistId()
+	 * @see #getPicklistRole()
+	 * @generated
+	 */
+	EAttribute getPicklistRole_PicklistId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPartyId <em>Party Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Party Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPartyId()
+	 * @see #getPicklistRole()
+	 * @generated
+	 */
+	EAttribute getPicklistRole_PartyId();
+
+	/**
+	 * Returns the meta object for the attribute '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getRoleTypeId <em>Role Type Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Role Type Id</em>'.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getRoleTypeId()
+	 * @see #getPicklistRole()
+	 * @generated
+	 */
+	EAttribute getPicklistRole_RoleTypeId();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	OFBizFactory getOFBizFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistImpl <em>Picklist</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklist()
+		 * @generated
+		 */
+		EClass PICKLIST = eINSTANCE.getPicklist();
+
+		/**
+		 * The meta object literal for the '<em><b>Picklist Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PICKLIST__PICKLIST_ID = eINSTANCE.getPicklist_PicklistId();
+
+		/**
+		 * The meta object literal for the '<em><b>Picklist Roles</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PICKLIST__PICKLIST_ROLES = eINSTANCE.getPicklist_PicklistRoles();
+
+		/**
+		 * The meta object literal for the '<em><b>Picklist Bins</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PICKLIST__PICKLIST_BINS = eINSTANCE.getPicklist_PicklistBins();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistBinImpl <em>Picklist Bin</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistBinImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklistBin()
+		 * @generated
+		 */
+		EClass PICKLIST_BIN = eINSTANCE.getPicklistBin();
+
+		/**
+		 * The meta object literal for the '<em><b>Picklist Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PICKLIST_BIN__PICKLIST_ID = eINSTANCE.getPicklistBin_PicklistId();
+
+		/**
+		 * The meta object literal for the '<em><b>Bin Location Number</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PICKLIST_BIN__BIN_LOCATION_NUMBER = eINSTANCE.getPicklistBin_BinLocationNumber();
+
+		/**
+		 * The meta object literal for the '<em><b>Picklist Items</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PICKLIST_BIN__PICKLIST_ITEMS = eINSTANCE.getPicklistBin_PicklistItems();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistItemImpl <em>Picklist Item</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistItemImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklistItem()
+		 * @generated
+		 */
+		EClass PICKLIST_ITEM = eINSTANCE.getPicklistItem();
+
+		/**
+		 * The meta object literal for the '<em><b>Inventory Item</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PICKLIST_ITEM__INVENTORY_ITEM = eINSTANCE.getPicklistItem_InventoryItem();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.InventoryItemImpl <em>Inventory Item</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.InventoryItemImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getInventoryItem()
+		 * @generated
+		 */
+		EClass INVENTORY_ITEM = eINSTANCE.getInventoryItem();
+
+		/**
+		 * The meta object literal for the '<em><b>Inventory Item Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INVENTORY_ITEM__INVENTORY_ITEM_ID = eINSTANCE.getInventoryItem_InventoryItemId();
+
+		/**
+		 * The meta object literal for the '<em><b>Container Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INVENTORY_ITEM__CONTAINER_ID = eINSTANCE.getInventoryItem_ContainerId();
+
+		/**
+		 * The meta object literal for the '<em><b>Product Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INVENTORY_ITEM__PRODUCT_ID = eINSTANCE.getInventoryItem_ProductId();
+
+		/**
+		 * The meta object literal for the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistRoleImpl <em>Picklist Role</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistRoleImpl
+		 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl#getPicklistRole()
+		 * @generated
+		 */
+		EClass PICKLIST_ROLE = eINSTANCE.getPicklistRole();
+
+		/**
+		 * The meta object literal for the '<em><b>Picklist Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PICKLIST_ROLE__PICKLIST_ID = eINSTANCE.getPicklistRole_PicklistId();
+
+		/**
+		 * The meta object literal for the '<em><b>Party Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PICKLIST_ROLE__PARTY_ID = eINSTANCE.getPicklistRole_PartyId();
+
+		/**
+		 * The meta object literal for the '<em><b>Role Type Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PICKLIST_ROLE__ROLE_TYPE_ID = eINSTANCE.getPicklistRole_RoleTypeId();
+
+	}
+
+} //OFBizPackage
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/Picklist.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/Picklist.java
new file mode 100644
index 0000000000000000000000000000000000000000..7abef45d980eb8ef10f28d15c9f1a1cfe3334116
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/Picklist.java
@@ -0,0 +1,74 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Picklist</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistId <em>Picklist Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistRoles <em>Picklist Roles</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistBins <em>Picklist Bins</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklist()
+ * @model
+ * @generated
+ */
+public interface Picklist extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Picklist Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Picklist Id</em>' attribute.
+	 * @see #setPicklistId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklist_PicklistId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getPicklistId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist#getPicklistId <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Picklist Id</em>' attribute.
+	 * @see #getPicklistId()
+	 * @generated
+	 */
+	void setPicklistId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Picklist Roles</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Picklist Roles</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklist_PicklistRoles()
+	 * @model
+	 * @generated
+	 */
+	EList<PicklistRole> getPicklistRoles();
+
+	/**
+	 * Returns the value of the '<em><b>Picklist Bins</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Picklist Bins</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklist_PicklistBins()
+	 * @model
+	 * @generated
+	 */
+	EList<PicklistBin> getPicklistBins();
+
+} // Picklist
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistBin.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistBin.java
new file mode 100644
index 0000000000000000000000000000000000000000..07ba4069ece38d955dd08f36daed625b5fa37b56
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistBin.java
@@ -0,0 +1,84 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Picklist Bin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getPicklistId <em>Picklist Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getBinLocationNumber <em>Bin Location Number</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getPicklistItems <em>Picklist Items</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistBin()
+ * @model
+ * @generated
+ */
+public interface PicklistBin extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Picklist Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Picklist Id</em>' attribute.
+	 * @see #setPicklistId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistBin_PicklistId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getPicklistId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getPicklistId <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Picklist Id</em>' attribute.
+	 * @see #getPicklistId()
+	 * @generated
+	 */
+	void setPicklistId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Bin Location Number</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bin Location Number</em>' attribute.
+	 * @see #setBinLocationNumber(int)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistBin_BinLocationNumber()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.Int"
+	 * @generated
+	 */
+	int getBinLocationNumber();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin#getBinLocationNumber <em>Bin Location Number</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bin Location Number</em>' attribute.
+	 * @see #getBinLocationNumber()
+	 * @generated
+	 */
+	void setBinLocationNumber(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Picklist Items</b></em>' reference list.
+	 * The list contents are of type {@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Picklist Items</em>' reference list.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistBin_PicklistItems()
+	 * @model
+	 * @generated
+	 */
+	EList<PicklistItem> getPicklistItems();
+
+} // PicklistBin
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistItem.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistItem.java
new file mode 100644
index 0000000000000000000000000000000000000000..b2506d62ac206d71fc617dd88bb65f6815425bcb
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistItem.java
@@ -0,0 +1,46 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Picklist Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem#getInventoryItem <em>Inventory Item</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistItem()
+ * @model
+ * @generated
+ */
+public interface PicklistItem extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Inventory Item</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Inventory Item</em>' reference.
+	 * @see #setInventoryItem(InventoryItem)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistItem_InventoryItem()
+	 * @model required="true"
+	 * @generated
+	 */
+	InventoryItem getInventoryItem();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem#getInventoryItem <em>Inventory Item</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Inventory Item</em>' reference.
+	 * @see #getInventoryItem()
+	 * @generated
+	 */
+	void setInventoryItem(InventoryItem value);
+
+} // PicklistItem
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistRole.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistRole.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d2c290b1394e6f6d037013c814677e8e4b7d10f
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/PicklistRole.java
@@ -0,0 +1,92 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Picklist Role</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPicklistId <em>Picklist Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPartyId <em>Party Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getRoleTypeId <em>Role Type Id</em>}</li>
+ * </ul>
+ *
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistRole()
+ * @model
+ * @generated
+ */
+public interface PicklistRole extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Picklist Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Picklist Id</em>' attribute.
+	 * @see #setPicklistId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistRole_PicklistId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getPicklistId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPicklistId <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Picklist Id</em>' attribute.
+	 * @see #getPicklistId()
+	 * @generated
+	 */
+	void setPicklistId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Party Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Party Id</em>' attribute.
+	 * @see #setPartyId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistRole_PartyId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getPartyId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getPartyId <em>Party Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Party Id</em>' attribute.
+	 * @see #getPartyId()
+	 * @generated
+	 */
+	void setPartyId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Role Type Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Role Type Id</em>' attribute.
+	 * @see #setRoleTypeId(String)
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#getPicklistRole_RoleTypeId()
+	 * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getRoleTypeId();
+
+	/**
+	 * Sets the value of the '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole#getRoleTypeId <em>Role Type Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Role Type Id</em>' attribute.
+	 * @see #getRoleTypeId()
+	 * @generated
+	 */
+	void setRoleTypeId(String value);
+
+} // PicklistRole
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/InventoryItemImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/InventoryItemImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..1a1e44ef790e8a6dee9c7036246e90d9925593b7
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/InventoryItemImpl.java
@@ -0,0 +1,276 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Inventory Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.InventoryItemImpl#getInventoryItemId <em>Inventory Item Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.InventoryItemImpl#getContainerId <em>Container Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.InventoryItemImpl#getProductId <em>Product Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InventoryItemImpl extends MinimalEObjectImpl.Container implements InventoryItem {
+	/**
+	 * The default value of the '{@link #getInventoryItemId() <em>Inventory Item Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInventoryItemId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String INVENTORY_ITEM_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getInventoryItemId() <em>Inventory Item Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInventoryItemId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String inventoryItemId = INVENTORY_ITEM_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getContainerId() <em>Container Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContainerId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONTAINER_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getContainerId() <em>Container Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContainerId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String containerId = CONTAINER_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProductId() <em>Product Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProductId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PRODUCT_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getProductId() <em>Product Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProductId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String productId = PRODUCT_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InventoryItemImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return OFBizPackage.Literals.INVENTORY_ITEM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getInventoryItemId() {
+		return inventoryItemId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setInventoryItemId(String newInventoryItemId) {
+		String oldInventoryItemId = inventoryItemId;
+		inventoryItemId = newInventoryItemId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.INVENTORY_ITEM__INVENTORY_ITEM_ID,
+					oldInventoryItemId, inventoryItemId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getContainerId() {
+		return containerId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContainerId(String newContainerId) {
+		String oldContainerId = containerId;
+		containerId = newContainerId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.INVENTORY_ITEM__CONTAINER_ID,
+					oldContainerId, containerId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getProductId() {
+		return productId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProductId(String newProductId) {
+		String oldProductId = productId;
+		productId = newProductId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.INVENTORY_ITEM__PRODUCT_ID, oldProductId,
+					productId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case OFBizPackage.INVENTORY_ITEM__INVENTORY_ITEM_ID:
+			return getInventoryItemId();
+		case OFBizPackage.INVENTORY_ITEM__CONTAINER_ID:
+			return getContainerId();
+		case OFBizPackage.INVENTORY_ITEM__PRODUCT_ID:
+			return getProductId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case OFBizPackage.INVENTORY_ITEM__INVENTORY_ITEM_ID:
+			setInventoryItemId((String) newValue);
+			return;
+		case OFBizPackage.INVENTORY_ITEM__CONTAINER_ID:
+			setContainerId((String) newValue);
+			return;
+		case OFBizPackage.INVENTORY_ITEM__PRODUCT_ID:
+			setProductId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.INVENTORY_ITEM__INVENTORY_ITEM_ID:
+			setInventoryItemId(INVENTORY_ITEM_ID_EDEFAULT);
+			return;
+		case OFBizPackage.INVENTORY_ITEM__CONTAINER_ID:
+			setContainerId(CONTAINER_ID_EDEFAULT);
+			return;
+		case OFBizPackage.INVENTORY_ITEM__PRODUCT_ID:
+			setProductId(PRODUCT_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.INVENTORY_ITEM__INVENTORY_ITEM_ID:
+			return INVENTORY_ITEM_ID_EDEFAULT == null ? inventoryItemId != null
+					: !INVENTORY_ITEM_ID_EDEFAULT.equals(inventoryItemId);
+		case OFBizPackage.INVENTORY_ITEM__CONTAINER_ID:
+			return CONTAINER_ID_EDEFAULT == null ? containerId != null : !CONTAINER_ID_EDEFAULT.equals(containerId);
+		case OFBizPackage.INVENTORY_ITEM__PRODUCT_ID:
+			return PRODUCT_ID_EDEFAULT == null ? productId != null : !PRODUCT_ID_EDEFAULT.equals(productId);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (inventoryItemId: ");
+		result.append(inventoryItemId);
+		result.append(", containerId: ");
+		result.append(containerId);
+		result.append(", productId: ");
+		result.append(productId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //InventoryItemImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizFactoryImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizFactoryImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..6dc9e0b63ebbcad57c6e931855ef08f812a0a93d
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizFactoryImpl.java
@@ -0,0 +1,143 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OFBizFactoryImpl extends EFactoryImpl implements OFBizFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static OFBizFactory init() {
+		try {
+			OFBizFactory theOFBizFactory = (OFBizFactory) EPackage.Registry.INSTANCE.getEFactory(OFBizPackage.eNS_URI);
+			if (theOFBizFactory != null) {
+				return theOFBizFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new OFBizFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OFBizFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case OFBizPackage.PICKLIST:
+			return createPicklist();
+		case OFBizPackage.PICKLIST_BIN:
+			return createPicklistBin();
+		case OFBizPackage.PICKLIST_ITEM:
+			return createPicklistItem();
+		case OFBizPackage.INVENTORY_ITEM:
+			return createInventoryItem();
+		case OFBizPackage.PICKLIST_ROLE:
+			return createPicklistRole();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Picklist createPicklist() {
+		PicklistImpl picklist = new PicklistImpl();
+		return picklist;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PicklistBin createPicklistBin() {
+		PicklistBinImpl picklistBin = new PicklistBinImpl();
+		return picklistBin;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PicklistItem createPicklistItem() {
+		PicklistItemImpl picklistItem = new PicklistItemImpl();
+		return picklistItem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InventoryItem createInventoryItem() {
+		InventoryItemImpl inventoryItem = new InventoryItemImpl();
+		return inventoryItem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PicklistRole createPicklistRole() {
+		PicklistRoleImpl picklistRole = new PicklistRoleImpl();
+		return picklistRole;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OFBizPackage getOFBizPackage() {
+		return (OFBizPackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static OFBizPackage getPackage() {
+		return OFBizPackage.eINSTANCE;
+	}
+
+} //OFBizFactoryImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizPackageImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..edb2617a588ca0c652653bcaf9990b146f3f9b29
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/OFBizPackageImpl.java
@@ -0,0 +1,458 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.impl.IPos_DatamodelPackageImpl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OFBizPackageImpl extends EPackageImpl implements OFBizPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass picklistEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass picklistBinEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass picklistItemEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass inventoryItemEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass picklistRoleEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private OFBizPackageImpl() {
+		super(eNS_URI, OFBizFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link OFBizPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static OFBizPackage init() {
+		if (isInited)
+			return (OFBizPackage) EPackage.Registry.INSTANCE.getEPackage(OFBizPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredOFBizPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		OFBizPackageImpl theOFBizPackage = registeredOFBizPackage instanceof OFBizPackageImpl
+				? (OFBizPackageImpl) registeredOFBizPackage
+				: new OFBizPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(IPos_DatamodelPackage.eNS_URI);
+		IPos_DatamodelPackageImpl theIPos_DatamodelPackage = (IPos_DatamodelPackageImpl) (registeredPackage instanceof IPos_DatamodelPackageImpl
+				? registeredPackage
+				: IPos_DatamodelPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(IPosDevKitPackage.eNS_URI);
+		IPosDevKitPackageImpl theIPosDevKitPackage = (IPosDevKitPackageImpl) (registeredPackage instanceof IPosDevKitPackageImpl
+				? registeredPackage
+				: IPosDevKitPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theOFBizPackage.createPackageContents();
+		theIPos_DatamodelPackage.createPackageContents();
+		theIPosDevKitPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theOFBizPackage.initializePackageContents();
+		theIPos_DatamodelPackage.initializePackageContents();
+		theIPosDevKitPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theOFBizPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(OFBizPackage.eNS_URI, theOFBizPackage);
+		return theOFBizPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPicklist() {
+		return picklistEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPicklist_PicklistId() {
+		return (EAttribute) picklistEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPicklist_PicklistRoles() {
+		return (EReference) picklistEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPicklist_PicklistBins() {
+		return (EReference) picklistEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPicklistBin() {
+		return picklistBinEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPicklistBin_PicklistId() {
+		return (EAttribute) picklistBinEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPicklistBin_BinLocationNumber() {
+		return (EAttribute) picklistBinEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPicklistBin_PicklistItems() {
+		return (EReference) picklistBinEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPicklistItem() {
+		return picklistItemEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPicklistItem_InventoryItem() {
+		return (EReference) picklistItemEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getInventoryItem() {
+		return inventoryItemEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInventoryItem_InventoryItemId() {
+		return (EAttribute) inventoryItemEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInventoryItem_ContainerId() {
+		return (EAttribute) inventoryItemEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getInventoryItem_ProductId() {
+		return (EAttribute) inventoryItemEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPicklistRole() {
+		return picklistRoleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPicklistRole_PicklistId() {
+		return (EAttribute) picklistRoleEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPicklistRole_PartyId() {
+		return (EAttribute) picklistRoleEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPicklistRole_RoleTypeId() {
+		return (EAttribute) picklistRoleEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OFBizFactory getOFBizFactory() {
+		return (OFBizFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated)
+			return;
+		isCreated = true;
+
+		// Create classes and their features
+		picklistEClass = createEClass(PICKLIST);
+		createEAttribute(picklistEClass, PICKLIST__PICKLIST_ID);
+		createEReference(picklistEClass, PICKLIST__PICKLIST_ROLES);
+		createEReference(picklistEClass, PICKLIST__PICKLIST_BINS);
+
+		picklistBinEClass = createEClass(PICKLIST_BIN);
+		createEAttribute(picklistBinEClass, PICKLIST_BIN__PICKLIST_ID);
+		createEAttribute(picklistBinEClass, PICKLIST_BIN__BIN_LOCATION_NUMBER);
+		createEReference(picklistBinEClass, PICKLIST_BIN__PICKLIST_ITEMS);
+
+		picklistItemEClass = createEClass(PICKLIST_ITEM);
+		createEReference(picklistItemEClass, PICKLIST_ITEM__INVENTORY_ITEM);
+
+		inventoryItemEClass = createEClass(INVENTORY_ITEM);
+		createEAttribute(inventoryItemEClass, INVENTORY_ITEM__INVENTORY_ITEM_ID);
+		createEAttribute(inventoryItemEClass, INVENTORY_ITEM__CONTAINER_ID);
+		createEAttribute(inventoryItemEClass, INVENTORY_ITEM__PRODUCT_ID);
+
+		picklistRoleEClass = createEClass(PICKLIST_ROLE);
+		createEAttribute(picklistRoleEClass, PICKLIST_ROLE__PICKLIST_ID);
+		createEAttribute(picklistRoleEClass, PICKLIST_ROLE__PARTY_ID);
+		createEAttribute(picklistRoleEClass, PICKLIST_ROLE__ROLE_TYPE_ID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized)
+			return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		XMLTypePackage theXMLTypePackage = (XMLTypePackage) EPackage.Registry.INSTANCE
+				.getEPackage(XMLTypePackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(picklistEClass, Picklist.class, "Picklist", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPicklist_PicklistId(), theXMLTypePackage.getString(), "picklistId", null, 0, 1,
+				Picklist.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEReference(getPicklist_PicklistRoles(), this.getPicklistRole(), null, "picklistRoles", null, 0, -1,
+				Picklist.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPicklist_PicklistBins(), this.getPicklistBin(), null, "picklistBins", null, 0, -1,
+				Picklist.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(picklistBinEClass, PicklistBin.class, "PicklistBin", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPicklistBin_PicklistId(), theXMLTypePackage.getString(), "picklistId", null, 0, 1,
+				PicklistBin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPicklistBin_BinLocationNumber(), theXMLTypePackage.getInt(), "binLocationNumber", null, 0, 1,
+				PicklistBin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEReference(getPicklistBin_PicklistItems(), this.getPicklistItem(), null, "picklistItems", null, 0, -1,
+				PicklistBin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(picklistItemEClass, PicklistItem.class, "PicklistItem", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPicklistItem_InventoryItem(), this.getInventoryItem(), null, "inventoryItem", null, 1, 1,
+				PicklistItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(inventoryItemEClass, InventoryItem.class, "InventoryItem", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getInventoryItem_InventoryItemId(), theXMLTypePackage.getString(), "inventoryItemId", null, 0, 1,
+				InventoryItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getInventoryItem_ContainerId(), theXMLTypePackage.getString(), "containerId", null, 0, 1,
+				InventoryItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getInventoryItem_ProductId(), theXMLTypePackage.getString(), "productId", null, 0, 1,
+				InventoryItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+
+		initEClass(picklistRoleEClass, PicklistRole.class, "PicklistRole", !IS_ABSTRACT, !IS_INTERFACE,
+				IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPicklistRole_PicklistId(), theXMLTypePackage.getString(), "picklistId", null, 0, 1,
+				PicklistRole.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPicklistRole_PartyId(), theXMLTypePackage.getString(), "partyId", null, 0, 1,
+				PicklistRole.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPicklistRole_RoleTypeId(), theXMLTypePackage.getString(), "roleTypeId", null, 0, 1,
+				PicklistRole.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+	}
+
+} //OFBizPackageImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistBinImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistBinImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..d80fd6b8cbacff23aab92660e33433e8afa97ca9
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistBinImpl.java
@@ -0,0 +1,263 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Picklist Bin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistBinImpl#getPicklistId <em>Picklist Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistBinImpl#getBinLocationNumber <em>Bin Location Number</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistBinImpl#getPicklistItems <em>Picklist Items</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PicklistBinImpl extends MinimalEObjectImpl.Container implements PicklistBin {
+	/**
+	 * The default value of the '{@link #getPicklistId() <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PICKLIST_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPicklistId() <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String picklistId = PICKLIST_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBinLocationNumber() <em>Bin Location Number</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBinLocationNumber()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int BIN_LOCATION_NUMBER_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getBinLocationNumber() <em>Bin Location Number</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBinLocationNumber()
+	 * @generated
+	 * @ordered
+	 */
+	protected int binLocationNumber = BIN_LOCATION_NUMBER_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getPicklistItems() <em>Picklist Items</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistItems()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<PicklistItem> picklistItems;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PicklistBinImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return OFBizPackage.Literals.PICKLIST_BIN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPicklistId() {
+		return picklistId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPicklistId(String newPicklistId) {
+		String oldPicklistId = picklistId;
+		picklistId = newPicklistId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.PICKLIST_BIN__PICKLIST_ID, oldPicklistId,
+					picklistId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getBinLocationNumber() {
+		return binLocationNumber;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBinLocationNumber(int newBinLocationNumber) {
+		int oldBinLocationNumber = binLocationNumber;
+		binLocationNumber = newBinLocationNumber;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.PICKLIST_BIN__BIN_LOCATION_NUMBER,
+					oldBinLocationNumber, binLocationNumber));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<PicklistItem> getPicklistItems() {
+		if (picklistItems == null) {
+			picklistItems = new EObjectResolvingEList<PicklistItem>(PicklistItem.class, this,
+					OFBizPackage.PICKLIST_BIN__PICKLIST_ITEMS);
+		}
+		return picklistItems;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ID:
+			return getPicklistId();
+		case OFBizPackage.PICKLIST_BIN__BIN_LOCATION_NUMBER:
+			return getBinLocationNumber();
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ITEMS:
+			return getPicklistItems();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ID:
+			setPicklistId((String) newValue);
+			return;
+		case OFBizPackage.PICKLIST_BIN__BIN_LOCATION_NUMBER:
+			setBinLocationNumber((Integer) newValue);
+			return;
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ITEMS:
+			getPicklistItems().clear();
+			getPicklistItems().addAll((Collection<? extends PicklistItem>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ID:
+			setPicklistId(PICKLIST_ID_EDEFAULT);
+			return;
+		case OFBizPackage.PICKLIST_BIN__BIN_LOCATION_NUMBER:
+			setBinLocationNumber(BIN_LOCATION_NUMBER_EDEFAULT);
+			return;
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ITEMS:
+			getPicklistItems().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ID:
+			return PICKLIST_ID_EDEFAULT == null ? picklistId != null : !PICKLIST_ID_EDEFAULT.equals(picklistId);
+		case OFBizPackage.PICKLIST_BIN__BIN_LOCATION_NUMBER:
+			return binLocationNumber != BIN_LOCATION_NUMBER_EDEFAULT;
+		case OFBizPackage.PICKLIST_BIN__PICKLIST_ITEMS:
+			return picklistItems != null && !picklistItems.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (picklistId: ");
+		result.append(picklistId);
+		result.append(", binLocationNumber: ");
+		result.append(binLocationNumber);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PicklistBinImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..78b0e3f6bbeed943a13d4c7a26abaaba6886c836
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistImpl.java
@@ -0,0 +1,244 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Picklist</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistImpl#getPicklistId <em>Picklist Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistImpl#getPicklistRoles <em>Picklist Roles</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistImpl#getPicklistBins <em>Picklist Bins</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PicklistImpl extends MinimalEObjectImpl.Container implements Picklist {
+	/**
+	 * The default value of the '{@link #getPicklistId() <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PICKLIST_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPicklistId() <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String picklistId = PICKLIST_ID_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getPicklistRoles() <em>Picklist Roles</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistRoles()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<PicklistRole> picklistRoles;
+
+	/**
+	 * The cached value of the '{@link #getPicklistBins() <em>Picklist Bins</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistBins()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<PicklistBin> picklistBins;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PicklistImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return OFBizPackage.Literals.PICKLIST;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPicklistId() {
+		return picklistId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPicklistId(String newPicklistId) {
+		String oldPicklistId = picklistId;
+		picklistId = newPicklistId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.PICKLIST__PICKLIST_ID, oldPicklistId,
+					picklistId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<PicklistRole> getPicklistRoles() {
+		if (picklistRoles == null) {
+			picklistRoles = new EObjectResolvingEList<PicklistRole>(PicklistRole.class, this,
+					OFBizPackage.PICKLIST__PICKLIST_ROLES);
+		}
+		return picklistRoles;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<PicklistBin> getPicklistBins() {
+		if (picklistBins == null) {
+			picklistBins = new EObjectResolvingEList<PicklistBin>(PicklistBin.class, this,
+					OFBizPackage.PICKLIST__PICKLIST_BINS);
+		}
+		return picklistBins;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST__PICKLIST_ID:
+			return getPicklistId();
+		case OFBizPackage.PICKLIST__PICKLIST_ROLES:
+			return getPicklistRoles();
+		case OFBizPackage.PICKLIST__PICKLIST_BINS:
+			return getPicklistBins();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST__PICKLIST_ID:
+			setPicklistId((String) newValue);
+			return;
+		case OFBizPackage.PICKLIST__PICKLIST_ROLES:
+			getPicklistRoles().clear();
+			getPicklistRoles().addAll((Collection<? extends PicklistRole>) newValue);
+			return;
+		case OFBizPackage.PICKLIST__PICKLIST_BINS:
+			getPicklistBins().clear();
+			getPicklistBins().addAll((Collection<? extends PicklistBin>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST__PICKLIST_ID:
+			setPicklistId(PICKLIST_ID_EDEFAULT);
+			return;
+		case OFBizPackage.PICKLIST__PICKLIST_ROLES:
+			getPicklistRoles().clear();
+			return;
+		case OFBizPackage.PICKLIST__PICKLIST_BINS:
+			getPicklistBins().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST__PICKLIST_ID:
+			return PICKLIST_ID_EDEFAULT == null ? picklistId != null : !PICKLIST_ID_EDEFAULT.equals(picklistId);
+		case OFBizPackage.PICKLIST__PICKLIST_ROLES:
+			return picklistRoles != null && !picklistRoles.isEmpty();
+		case OFBizPackage.PICKLIST__PICKLIST_BINS:
+			return picklistBins != null && !picklistBins.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (picklistId: ");
+		result.append(picklistId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PicklistImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistItemImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistItemImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..0f49e427b9ec3f4c6162e24f7e7743c0998fa2cf
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistItemImpl.java
@@ -0,0 +1,160 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Picklist Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistItemImpl#getInventoryItem <em>Inventory Item</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PicklistItemImpl extends MinimalEObjectImpl.Container implements PicklistItem {
+	/**
+	 * The cached value of the '{@link #getInventoryItem() <em>Inventory Item</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInventoryItem()
+	 * @generated
+	 * @ordered
+	 */
+	protected InventoryItem inventoryItem;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PicklistItemImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return OFBizPackage.Literals.PICKLIST_ITEM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InventoryItem getInventoryItem() {
+		if (inventoryItem != null && inventoryItem.eIsProxy()) {
+			InternalEObject oldInventoryItem = (InternalEObject) inventoryItem;
+			inventoryItem = (InventoryItem) eResolveProxy(oldInventoryItem);
+			if (inventoryItem != oldInventoryItem) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+							OFBizPackage.PICKLIST_ITEM__INVENTORY_ITEM, oldInventoryItem, inventoryItem));
+			}
+		}
+		return inventoryItem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InventoryItem basicGetInventoryItem() {
+		return inventoryItem;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setInventoryItem(InventoryItem newInventoryItem) {
+		InventoryItem oldInventoryItem = inventoryItem;
+		inventoryItem = newInventoryItem;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.PICKLIST_ITEM__INVENTORY_ITEM,
+					oldInventoryItem, inventoryItem));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ITEM__INVENTORY_ITEM:
+			if (resolve)
+				return getInventoryItem();
+			return basicGetInventoryItem();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ITEM__INVENTORY_ITEM:
+			setInventoryItem((InventoryItem) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ITEM__INVENTORY_ITEM:
+			setInventoryItem((InventoryItem) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ITEM__INVENTORY_ITEM:
+			return inventoryItem != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PicklistItemImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistRoleImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistRoleImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b3f8e8f6390c18ca41fb4cbfc93a9a0e872e45c
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/impl/PicklistRoleImpl.java
@@ -0,0 +1,275 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Picklist Role</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistRoleImpl#getPicklistId <em>Picklist Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistRoleImpl#getPartyId <em>Party Id</em>}</li>
+ *   <li>{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.PicklistRoleImpl#getRoleTypeId <em>Role Type Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PicklistRoleImpl extends MinimalEObjectImpl.Container implements PicklistRole {
+	/**
+	 * The default value of the '{@link #getPicklistId() <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PICKLIST_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPicklistId() <em>Picklist Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPicklistId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String picklistId = PICKLIST_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPartyId() <em>Party Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPartyId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PARTY_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPartyId() <em>Party Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPartyId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String partyId = PARTY_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRoleTypeId() <em>Role Type Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRoleTypeId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ROLE_TYPE_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRoleTypeId() <em>Role Type Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRoleTypeId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String roleTypeId = ROLE_TYPE_ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PicklistRoleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return OFBizPackage.Literals.PICKLIST_ROLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPicklistId() {
+		return picklistId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPicklistId(String newPicklistId) {
+		String oldPicklistId = picklistId;
+		picklistId = newPicklistId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.PICKLIST_ROLE__PICKLIST_ID,
+					oldPicklistId, picklistId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPartyId() {
+		return partyId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPartyId(String newPartyId) {
+		String oldPartyId = partyId;
+		partyId = newPartyId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.PICKLIST_ROLE__PARTY_ID, oldPartyId,
+					partyId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRoleTypeId() {
+		return roleTypeId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRoleTypeId(String newRoleTypeId) {
+		String oldRoleTypeId = roleTypeId;
+		roleTypeId = newRoleTypeId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, OFBizPackage.PICKLIST_ROLE__ROLE_TYPE_ID,
+					oldRoleTypeId, roleTypeId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ROLE__PICKLIST_ID:
+			return getPicklistId();
+		case OFBizPackage.PICKLIST_ROLE__PARTY_ID:
+			return getPartyId();
+		case OFBizPackage.PICKLIST_ROLE__ROLE_TYPE_ID:
+			return getRoleTypeId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ROLE__PICKLIST_ID:
+			setPicklistId((String) newValue);
+			return;
+		case OFBizPackage.PICKLIST_ROLE__PARTY_ID:
+			setPartyId((String) newValue);
+			return;
+		case OFBizPackage.PICKLIST_ROLE__ROLE_TYPE_ID:
+			setRoleTypeId((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ROLE__PICKLIST_ID:
+			setPicklistId(PICKLIST_ID_EDEFAULT);
+			return;
+		case OFBizPackage.PICKLIST_ROLE__PARTY_ID:
+			setPartyId(PARTY_ID_EDEFAULT);
+			return;
+		case OFBizPackage.PICKLIST_ROLE__ROLE_TYPE_ID:
+			setRoleTypeId(ROLE_TYPE_ID_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case OFBizPackage.PICKLIST_ROLE__PICKLIST_ID:
+			return PICKLIST_ID_EDEFAULT == null ? picklistId != null : !PICKLIST_ID_EDEFAULT.equals(picklistId);
+		case OFBizPackage.PICKLIST_ROLE__PARTY_ID:
+			return PARTY_ID_EDEFAULT == null ? partyId != null : !PARTY_ID_EDEFAULT.equals(partyId);
+		case OFBizPackage.PICKLIST_ROLE__ROLE_TYPE_ID:
+			return ROLE_TYPE_ID_EDEFAULT == null ? roleTypeId != null : !ROLE_TYPE_ID_EDEFAULT.equals(roleTypeId);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (picklistId: ");
+		result.append(picklistId);
+		result.append(", partyId: ");
+		result.append(partyId);
+		result.append(", roleTypeId: ");
+		result.append(roleTypeId);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PicklistRoleImpl
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/util/OFBizAdapterFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/util/OFBizAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..e869ae934b9e98f7d286fba3d7687805fe67ffa2
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/util/OFBizAdapterFactory.java
@@ -0,0 +1,195 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage
+ * @generated
+ */
+public class OFBizAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static OFBizPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OFBizAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = OFBizPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OFBizSwitch<Adapter> modelSwitch = new OFBizSwitch<Adapter>() {
+		@Override
+		public Adapter casePicklist(Picklist object) {
+			return createPicklistAdapter();
+		}
+
+		@Override
+		public Adapter casePicklistBin(PicklistBin object) {
+			return createPicklistBinAdapter();
+		}
+
+		@Override
+		public Adapter casePicklistItem(PicklistItem object) {
+			return createPicklistItemAdapter();
+		}
+
+		@Override
+		public Adapter caseInventoryItem(InventoryItem object) {
+			return createInventoryItemAdapter();
+		}
+
+		@Override
+		public Adapter casePicklistRole(PicklistRole object) {
+			return createPicklistRoleAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist <em>Picklist</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist
+	 * @generated
+	 */
+	public Adapter createPicklistAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin <em>Picklist Bin</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistBin
+	 * @generated
+	 */
+	public Adapter createPicklistBinAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem <em>Picklist Item</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistItem
+	 * @generated
+	 */
+	public Adapter createPicklistItemAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem <em>Inventory Item</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.InventoryItem
+	 * @generated
+	 */
+	public Adapter createInventoryItemAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole <em>Picklist Role</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.PicklistRole
+	 * @generated
+	 */
+	public Adapter createPicklistRoleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //OFBizAdapterFactory
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/util/OFBizSwitch.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/util/OFBizSwitch.java
new file mode 100644
index 0000000000000000000000000000000000000000..a276a9f3c871cc2e0893988f39f2fd6e78d3c170
--- /dev/null
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/OFBiz/util/OFBizSwitch.java
@@ -0,0 +1,200 @@
+/**
+ */
+package ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.util;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage
+ * @generated
+ */
+public class OFBizSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static OFBizPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OFBizSwitch() {
+		if (modelPackage == null) {
+			modelPackage = OFBizPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case OFBizPackage.PICKLIST: {
+			Picklist picklist = (Picklist) theEObject;
+			T result = casePicklist(picklist);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case OFBizPackage.PICKLIST_BIN: {
+			PicklistBin picklistBin = (PicklistBin) theEObject;
+			T result = casePicklistBin(picklistBin);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case OFBizPackage.PICKLIST_ITEM: {
+			PicklistItem picklistItem = (PicklistItem) theEObject;
+			T result = casePicklistItem(picklistItem);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case OFBizPackage.INVENTORY_ITEM: {
+			InventoryItem inventoryItem = (InventoryItem) theEObject;
+			T result = caseInventoryItem(inventoryItem);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		case OFBizPackage.PICKLIST_ROLE: {
+			PicklistRole picklistRole = (PicklistRole) theEObject;
+			T result = casePicklistRole(picklistRole);
+			if (result == null)
+				result = defaultCase(theEObject);
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Picklist</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Picklist</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePicklist(Picklist object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Picklist Bin</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Picklist Bin</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePicklistBin(PicklistBin object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Picklist Item</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Picklist Item</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePicklistItem(PicklistItem object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Inventory Item</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Inventory Item</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInventoryItem(InventoryItem object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Picklist Role</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Picklist Role</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePicklistRole(PicklistRole object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //OFBizSwitch
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/PositionEvent.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/PositionEvent.java
index 4b04f4b04f8ff356128e72642285d6233ffbde1b..90dc7f097288237be9c2ab3437dc889edb24a74c 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/PositionEvent.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/PositionEvent.java
@@ -3,6 +3,7 @@
 package ipos.project.DataModellntegration.iPos_Datamodel;
 
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EObject;
 
 /**
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryResponseImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryResponseImpl.java
index a39f191c3457d962f2dea3d88848841829353e9d..fe29bac5c50ec24a8fae557adb6a1161ab6251a6 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryResponseImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/DataStorageQueryResponseImpl.java
@@ -9,6 +9,7 @@ import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
 import java.util.Collection;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.EList;
 
 import org.eclipse.emf.ecore.EClass;
@@ -52,6 +53,7 @@ public class DataStorageQueryResponseImpl extends MinimalEObjectImpl.Container i
 	 * @ordered
 	 */
 	protected static final String TRACKING_TASK_ID_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getTrackingTaskId() <em>Tracking Task Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConditionImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConditionImpl.java
index 8dee28cba3a855ca9ec063cd9bb7a63f6cbc875b..d88c0ec673eab704a2d21acd673f423f215be27b 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConditionImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/EventFilterConditionImpl.java
@@ -7,8 +7,8 @@ import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
 
 import java.util.ArrayList;
 import java.util.List;
-
 import java.util.Map;
+
 import org.eclipse.emf.common.notify.Notification;
 
 import org.eclipse.emf.ecore.EClass;
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelFactoryImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelFactoryImpl.java
index 294c95f41efb2c8d23ba13248ec65ab03b8c8152..b4aedf7884712dfb221ab9f373338ad1dbd6d7d9 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelFactoryImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelFactoryImpl.java
@@ -112,22 +112,8 @@ public class IPos_DatamodelFactoryImpl extends EFactoryImpl implements IPos_Data
 			return createBeacon();
 		case IPos_DatamodelPackage.POSITION_EVENT:
 			return createPositionEvent();
-		case IPos_DatamodelPackage.TRACKING_REQUEST:
-			return createTrackingRequest();
-		case IPos_DatamodelPackage.MONITORING_REQUEST:
-			return createMonitoringRequest();
-		case IPos_DatamodelPackage.WORLD_MODEL_UPDATE_REQUEST:
-			return createWorldModelUpdateRequest();
-		case IPos_DatamodelPackage.DATA_STORAGE_REQUEST:
-			return createDataStorageRequest();
 		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION:
 			return createEventFilterConfiguration();
-		case IPos_DatamodelPackage.WORLD_MODEL_QUERY_REQUEST:
-			return createWorldModelQueryRequest();
-		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST:
-			return createDataStorageQueryRequest();
-		case IPos_DatamodelPackage.AGENT_REGISTRATION_REQUEST:
-			return createAgentRegistrationRequest();
 		case IPos_DatamodelPackage.MONITORING_TASK:
 			return createMonitoringTask();
 		case IPos_DatamodelPackage.TRACKING_TASK:
@@ -142,8 +128,6 @@ public class IPos_DatamodelFactoryImpl extends EFactoryImpl implements IPos_Data
 			return createBluetooth();
 		case IPos_DatamodelPackage.UWB:
 			return createUWB();
-		case IPos_DatamodelPackage.SENSOR_CONFIGURATION_REQUEST:
-			return createSensorConfigurationRequest();
 		case IPos_DatamodelPackage.OTHER_BEACON:
 			return createOtherBeacon();
 		case IPos_DatamodelPackage.POI:
@@ -465,46 +449,6 @@ public class IPos_DatamodelFactoryImpl extends EFactoryImpl implements IPos_Data
 		return positionEvent;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TrackingRequest createTrackingRequest() {
-		TrackingRequestImpl trackingRequest = new TrackingRequestImpl();
-		return trackingRequest;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public MonitoringRequest createMonitoringRequest() {
-		MonitoringRequestImpl monitoringRequest = new MonitoringRequestImpl();
-		return monitoringRequest;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WorldModelUpdateRequest createWorldModelUpdateRequest() {
-		WorldModelUpdateRequestImpl worldModelUpdateRequest = new WorldModelUpdateRequestImpl();
-		return worldModelUpdateRequest;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DataStorageRequest createDataStorageRequest() {
-		DataStorageRequestImpl dataStorageRequest = new DataStorageRequestImpl();
-		return dataStorageRequest;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -515,36 +459,6 @@ public class IPos_DatamodelFactoryImpl extends EFactoryImpl implements IPos_Data
 		return eventFilterConfiguration;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WorldModelQueryRequest createWorldModelQueryRequest() {
-		WorldModelQueryRequestImpl worldModelQueryRequest = new WorldModelQueryRequestImpl();
-		return worldModelQueryRequest;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DataStorageQueryRequest createDataStorageQueryRequest() {
-		DataStorageQueryRequestImpl dataStorageQueryRequest = new DataStorageQueryRequestImpl();
-		return dataStorageQueryRequest;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public AgentRegistrationRequest createAgentRegistrationRequest() {
-		AgentRegistrationRequestImpl agentRegistrationRequest = new AgentRegistrationRequestImpl();
-		return agentRegistrationRequest;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -615,16 +529,6 @@ public class IPos_DatamodelFactoryImpl extends EFactoryImpl implements IPos_Data
 		return uwb;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public SensorConfigurationRequest createSensorConfigurationRequest() {
-		SensorConfigurationRequestImpl sensorConfigurationRequest = new SensorConfigurationRequestImpl();
-		return sensorConfigurationRequest;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelPackageImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelPackageImpl.java
index 21a95c9b5d3c993195c3a00efaaab09f451e91c6..42c06050f19d5bf57053f9f4358b3dc299ba7c55 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelPackageImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/IPos_DatamodelPackageImpl.java
@@ -5,23 +5,29 @@ package ipos.project.DataModellntegration.iPos_Datamodel.impl;
 import ipos.project.DataModellntegration.iPos_Datamodel.Acceleration;
 import ipos.project.DataModellntegration.iPos_Datamodel.Accuracy;
 import ipos.project.DataModellntegration.iPos_Datamodel.Agent;
-import ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.Barcode;
 import ipos.project.DataModellntegration.iPos_Datamodel.Beacon;
 import ipos.project.DataModellntegration.iPos_Datamodel.Bluetooth;
-import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryResponse;
-import ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.Entity;
 import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterCondition;
 import ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration;
 import ipos.project.DataModellntegration.iPos_Datamodel.Gaussian;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.impl.IPosDevKitPackageImpl;
+
 import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelFactory;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
 import ipos.project.DataModellntegration.iPos_Datamodel.LocalizableObject;
 import ipos.project.DataModellntegration.iPos_Datamodel.MapType;
-import ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.OFBizPackage;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.impl.OFBizPackageImpl;
+
 import ipos.project.DataModellntegration.iPos_Datamodel.Orientation;
 import ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon;
 import ipos.project.DataModellntegration.iPos_Datamodel.OtherProx;
@@ -35,14 +41,10 @@ import ipos.project.DataModellntegration.iPos_Datamodel.Proximity;
 import ipos.project.DataModellntegration.iPos_Datamodel.Quaternion;
 import ipos.project.DataModellntegration.iPos_Datamodel.RawdataEvent;
 import ipos.project.DataModellntegration.iPos_Datamodel.ReferenceSystem;
-import ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.Space;
-import ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.TrackingTask;
 import ipos.project.DataModellntegration.iPos_Datamodel.WGS84Point;
 import ipos.project.DataModellntegration.iPos_Datamodel.WorldModel;
-import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest;
-import ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest;
 import ipos.project.DataModellntegration.iPos_Datamodel.Zone;
 import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
 import ipos.project.DataModellntegration.iPos_Datamodel.ZoneMap;
@@ -250,34 +252,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 	 */
 	private EClass positionEventEClass = null;
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass trackingRequestEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass monitoringRequestEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass worldModelUpdateRequestEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass dataStorageRequestEClass = null;
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -285,27 +259,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 	 */
 	private EClass eventFilterConfigurationEClass = null;
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass worldModelQueryRequestEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass dataStorageQueryRequestEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass agentRegistrationRequestEClass = null;
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -355,13 +308,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 	 */
 	private EClass uwbEClass = null;
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass sensorConfigurationRequestEClass = null;
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -485,11 +431,25 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		// Initialize simple dependencies
 		XMLTypePackage.eINSTANCE.eClass();
 
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(OFBizPackage.eNS_URI);
+		OFBizPackageImpl theOFBizPackage = (OFBizPackageImpl) (registeredPackage instanceof OFBizPackageImpl
+				? registeredPackage
+				: OFBizPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(IPosDevKitPackage.eNS_URI);
+		IPosDevKitPackageImpl theIPosDevKitPackage = (IPosDevKitPackageImpl) (registeredPackage instanceof IPosDevKitPackageImpl
+				? registeredPackage
+				: IPosDevKitPackage.eINSTANCE);
+
 		// Create package meta-data objects
 		theIPos_DatamodelPackage.createPackageContents();
+		theOFBizPackage.createPackageContents();
+		theIPosDevKitPackage.createPackageContents();
 
 		// Initialize created meta-data
 		theIPos_DatamodelPackage.initializePackageContents();
+		theOFBizPackage.initializePackageContents();
+		theIPosDevKitPackage.initializePackageContents();
 
 		// Mark meta-data to indicate it can't be changed
 		theIPos_DatamodelPackage.freeze();
@@ -1228,141 +1188,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		return (EReference) positionEventEClass.getEStructuralFeatures().get(3);
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getTrackingRequest() {
-		return trackingRequestEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getMonitoringRequest() {
-		return monitoringRequestEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_FrameIds() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_Delta() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_UpdateFrequency() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_Type() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_Id() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_FusionStrategy() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_ExitNotification() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_Properties() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_MonitoringTaskId() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_RequestorProtocol() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getMonitoringRequest_SerializationType() {
-		return (EAttribute) monitoringRequestEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getWorldModelUpdateRequest() {
-		return worldModelUpdateRequestEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getDataStorageRequest() {
-		return dataStorageRequestEClass;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1408,42 +1233,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		return (EReference) eventFilterConfigurationEClass.getEStructuralFeatures().get(3);
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getWorldModelQueryRequest() {
-		return worldModelQueryRequestEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getDataStorageQueryRequest() {
-		return dataStorageQueryRequestEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getDataStorageQueryRequest_TrackingTaskId() {
-		return (EAttribute) dataStorageQueryRequestEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getAgentRegistrationRequest() {
-		return agentRegistrationRequestEClass;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1579,15 +1368,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		return uwbEClass;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getSensorConfigurationRequest() {
-		return sensorConfigurationRequestEClass;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1985,38 +1765,12 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		createEAttribute(positionEventEClass, POSITION_EVENT__LOBJECT_ID);
 		createEReference(positionEventEClass, POSITION_EVENT__ZONEDESCRIPTORS);
 
-		trackingRequestEClass = createEClass(TRACKING_REQUEST);
-
-		monitoringRequestEClass = createEClass(MONITORING_REQUEST);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__FRAME_IDS);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__DELTA);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__UPDATE_FREQUENCY);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__TYPE);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__ID);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__FUSION_STRATEGY);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__EXIT_NOTIFICATION);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__PROPERTIES);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__MONITORING_TASK_ID);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__REQUESTOR_PROTOCOL);
-		createEAttribute(monitoringRequestEClass, MONITORING_REQUEST__SERIALIZATION_TYPE);
-
-		worldModelUpdateRequestEClass = createEClass(WORLD_MODEL_UPDATE_REQUEST);
-
-		dataStorageRequestEClass = createEClass(DATA_STORAGE_REQUEST);
-
 		eventFilterConfigurationEClass = createEClass(EVENT_FILTER_CONFIGURATION);
 		createEAttribute(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_STRATEGY);
 		createEAttribute(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__POSITION_AMBIGUITY_PARAMETERS);
 		createEAttribute(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__FILTER_CRITERIA);
 		createEReference(eventFilterConfigurationEClass, EVENT_FILTER_CONFIGURATION__EVENTFILTERCONDITION);
 
-		worldModelQueryRequestEClass = createEClass(WORLD_MODEL_QUERY_REQUEST);
-
-		dataStorageQueryRequestEClass = createEClass(DATA_STORAGE_QUERY_REQUEST);
-		createEAttribute(dataStorageQueryRequestEClass, DATA_STORAGE_QUERY_REQUEST__TRACKING_TASK_ID);
-
-		agentRegistrationRequestEClass = createEClass(AGENT_REGISTRATION_REQUEST);
-
 		monitoringTaskEClass = createEClass(MONITORING_TASK);
 		createEReference(monitoringTaskEClass, MONITORING_TASK__EVENTFILTERCONFIGURATION);
 
@@ -2039,8 +1793,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 
 		uwbEClass = createEClass(UWB);
 
-		sensorConfigurationRequestEClass = createEClass(SENSOR_CONFIGURATION_REQUEST);
-
 		otherBeaconEClass = createEClass(OTHER_BEACON);
 		createEAttribute(otherBeaconEClass, OTHER_BEACON__DATA);
 
@@ -2103,9 +1855,16 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		setNsURI(eNS_URI);
 
 		// Obtain other dependent packages
+		OFBizPackage theOFBizPackage = (OFBizPackage) EPackage.Registry.INSTANCE.getEPackage(OFBizPackage.eNS_URI);
+		IPosDevKitPackage theIPosDevKitPackage = (IPosDevKitPackage) EPackage.Registry.INSTANCE
+				.getEPackage(IPosDevKitPackage.eNS_URI);
 		XMLTypePackage theXMLTypePackage = (XMLTypePackage) EPackage.Registry.INSTANCE
 				.getEPackage(XMLTypePackage.eNS_URI);
 
+		// Add subpackages
+		getESubpackages().add(theOFBizPackage);
+		getESubpackages().add(theIPosDevKitPackage);
+
 		// Create type parameters
 
 		// Set bounds for type parameters
@@ -2346,49 +2105,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 				-1, PositionEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
 				!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(trackingRequestEClass, TrackingRequest.class, "TrackingRequest", !IS_ABSTRACT, !IS_INTERFACE,
-				IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(monitoringRequestEClass, MonitoringRequest.class, "MonitoringRequest", !IS_ABSTRACT, !IS_INTERFACE,
-				IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getMonitoringRequest_FrameIds(), this.getStringList(), "frameIds", null, 0, 1,
-				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
-				!IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_Delta(), theXMLTypePackage.getFloat(), "delta", null, 0, 1,
-				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
-				!IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_UpdateFrequency(), theXMLTypePackage.getFloat(), "updateFrequency", null, 0,
-				1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
-				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_Type(), this.getStringList(), "type", null, 0, 1, MonitoringRequest.class,
-				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_Id(), this.getStringList(), "id", null, 0, 1, MonitoringRequest.class,
-				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_FusionStrategy(), theXMLTypePackage.getString(), "fusionStrategy", null, 0,
-				1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
-				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_ExitNotification(), theXMLTypePackage.getBoolean(), "exitNotification",
-				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
-				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_Properties(), this.getStringList(), "properties", null, 0, 1,
-				MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
-				!IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_MonitoringTaskId(), theXMLTypePackage.getString(), "monitoringTaskId", null,
-				0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
-				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_RequestorProtocol(), theXMLTypePackage.getString(), "requestorProtocol",
-				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
-				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getMonitoringRequest_SerializationType(), theXMLTypePackage.getString(), "serializationType",
-				null, 0, 1, MonitoringRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
-				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(worldModelUpdateRequestEClass, WorldModelUpdateRequest.class, "WorldModelUpdateRequest",
-				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(dataStorageRequestEClass, DataStorageRequest.class, "DataStorageRequest", !IS_ABSTRACT,
-				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
 		initEClass(eventFilterConfigurationEClass, EventFilterConfiguration.class, "EventFilterConfiguration",
 				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getEventFilterConfiguration_PositionAmbiguityStrategy(), ecorePackage.getEString(),
@@ -2414,18 +2130,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 				"eventfiltercondition", null, 0, -1, EventFilterConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE,
 				IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(worldModelQueryRequestEClass, WorldModelQueryRequest.class, "WorldModelQueryRequest", !IS_ABSTRACT,
-				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
-		initEClass(dataStorageQueryRequestEClass, DataStorageQueryRequest.class, "DataStorageQueryRequest",
-				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getDataStorageQueryRequest_TrackingTaskId(), theXMLTypePackage.getString(), "trackingTaskId",
-				null, 0, 1, DataStorageQueryRequest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
-				!IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(agentRegistrationRequestEClass, AgentRegistrationRequest.class, "AgentRegistrationRequest",
-				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
 		initEClass(monitoringTaskEClass, MonitoringTask.class, "MonitoringTask", !IS_ABSTRACT, !IS_INTERFACE,
 				IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getMonitoringTask_Eventfilterconfiguration(), this.getEventFilterConfiguration(), null,
@@ -2478,9 +2182,6 @@ public class IPos_DatamodelPackageImpl extends EPackageImpl implements IPos_Data
 		initEClass(uwbEClass, ipos.project.DataModellntegration.iPos_Datamodel.UWB.class, "UWB", !IS_ABSTRACT,
 				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(sensorConfigurationRequestEClass, SensorConfigurationRequest.class, "SensorConfigurationRequest",
-				!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-
 		initEClass(otherBeaconEClass, OtherBeacon.class, "OtherBeacon", !IS_ABSTRACT, !IS_INTERFACE,
 				IS_GENERATED_INSTANCE_CLASS);
 		g1 = createEGenericType(ecorePackage.getEMap());
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionEventImpl.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionEventImpl.java
index 452f4e2fa6d638b19a7cfdf90f31cf3631985132..f3304f492d83224e13d93629095923775e3c9767 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionEventImpl.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/impl/PositionEventImpl.java
@@ -5,17 +5,20 @@ package ipos.project.DataModellntegration.iPos_Datamodel.impl;
 import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelPackage;
 import ipos.project.DataModellntegration.iPos_Datamodel.Placing;
 import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
-
 import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+
 import java.util.Collection;
+
 import org.eclipse.emf.common.notify.Notification;
 
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
 import org.eclipse.emf.ecore.util.EObjectResolvingEList;
 
 /**
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelAdapterFactory.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelAdapterFactory.java
index fc55e17f431b9405d08e913102170864bc0568c1..b0b0ad30e86d909d6859482040492ce105912cf9 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelAdapterFactory.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelAdapterFactory.java
@@ -196,46 +196,11 @@ public class IPos_DatamodelAdapterFactory extends AdapterFactoryImpl {
 			return createPositionEventAdapter();
 		}
 
-		@Override
-		public Adapter caseTrackingRequest(TrackingRequest object) {
-			return createTrackingRequestAdapter();
-		}
-
-		@Override
-		public Adapter caseMonitoringRequest(MonitoringRequest object) {
-			return createMonitoringRequestAdapter();
-		}
-
-		@Override
-		public Adapter caseWorldModelUpdateRequest(WorldModelUpdateRequest object) {
-			return createWorldModelUpdateRequestAdapter();
-		}
-
-		@Override
-		public Adapter caseDataStorageRequest(DataStorageRequest object) {
-			return createDataStorageRequestAdapter();
-		}
-
 		@Override
 		public Adapter caseEventFilterConfiguration(EventFilterConfiguration object) {
 			return createEventFilterConfigurationAdapter();
 		}
 
-		@Override
-		public Adapter caseWorldModelQueryRequest(WorldModelQueryRequest object) {
-			return createWorldModelQueryRequestAdapter();
-		}
-
-		@Override
-		public Adapter caseDataStorageQueryRequest(DataStorageQueryRequest object) {
-			return createDataStorageQueryRequestAdapter();
-		}
-
-		@Override
-		public Adapter caseAgentRegistrationRequest(AgentRegistrationRequest object) {
-			return createAgentRegistrationRequestAdapter();
-		}
-
 		@Override
 		public Adapter caseMonitoringTask(MonitoringTask object) {
 			return createMonitoringTaskAdapter();
@@ -271,11 +236,6 @@ public class IPos_DatamodelAdapterFactory extends AdapterFactoryImpl {
 			return createUWBAdapter();
 		}
 
-		@Override
-		public Adapter caseSensorConfigurationRequest(SensorConfigurationRequest object) {
-			return createSensorConfigurationRequestAdapter();
-		}
-
 		@Override
 		public Adapter caseOtherBeacon(OtherBeacon object) {
 			return createOtherBeaconAdapter();
@@ -684,62 +644,6 @@ public class IPos_DatamodelAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest <em>Tracking Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.TrackingRequest
-	 * @generated
-	 */
-	public Adapter createTrackingRequestAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest <em>Monitoring Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.MonitoringRequest
-	 * @generated
-	 */
-	public Adapter createMonitoringRequestAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest <em>World Model Update Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModelUpdateRequest
-	 * @generated
-	 */
-	public Adapter createWorldModelUpdateRequestAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest <em>Data Storage Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.DataStorageRequest
-	 * @generated
-	 */
-	public Adapter createDataStorageRequestAdapter() {
-		return null;
-	}
-
 	/**
 	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.EventFilterConfiguration <em>Event Filter Configuration</em>}'.
 	 * <!-- begin-user-doc -->
@@ -754,48 +658,6 @@ public class IPos_DatamodelAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest <em>World Model Query Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.WorldModelQueryRequest
-	 * @generated
-	 */
-	public Adapter createWorldModelQueryRequestAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest <em>Data Storage Query Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.DataStorageQueryRequest
-	 * @generated
-	 */
-	public Adapter createDataStorageQueryRequestAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest <em>Agent Registration Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.AgentRegistrationRequest
-	 * @generated
-	 */
-	public Adapter createAgentRegistrationRequestAdapter() {
-		return null;
-	}
-
 	/**
 	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.MonitoringTask <em>Monitoring Task</em>}'.
 	 * <!-- begin-user-doc -->
@@ -894,20 +756,6 @@ public class IPos_DatamodelAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
-	/**
-	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest <em>Sensor Configuration Request</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see ipos.project.DataModellntegration.iPos_Datamodel.SensorConfigurationRequest
-	 * @generated
-	 */
-	public Adapter createSensorConfigurationRequestAdapter() {
-		return null;
-	}
-
 	/**
 	 * Creates a new adapter for an object of class '{@link ipos.project.DataModellntegration.iPos_Datamodel.OtherBeacon <em>Other Beacon</em>}'.
 	 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelSwitch.java b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelSwitch.java
index b34c53055bcb1fe0aaf088c3a3c640be63e255d9..6beea0499b9c1e4989a0fa652a41db817cb003dd 100644
--- a/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelSwitch.java
+++ b/src/main/java/ipos/project/DataModellntegration/iPos_Datamodel/util/IPos_DatamodelSwitch.java
@@ -278,34 +278,6 @@ public class IPos_DatamodelSwitch<T> extends Switch<T> {
 				result = defaultCase(theEObject);
 			return result;
 		}
-		case IPos_DatamodelPackage.TRACKING_REQUEST: {
-			TrackingRequest trackingRequest = (TrackingRequest) theEObject;
-			T result = caseTrackingRequest(trackingRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
-		case IPos_DatamodelPackage.MONITORING_REQUEST: {
-			MonitoringRequest monitoringRequest = (MonitoringRequest) theEObject;
-			T result = caseMonitoringRequest(monitoringRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
-		case IPos_DatamodelPackage.WORLD_MODEL_UPDATE_REQUEST: {
-			WorldModelUpdateRequest worldModelUpdateRequest = (WorldModelUpdateRequest) theEObject;
-			T result = caseWorldModelUpdateRequest(worldModelUpdateRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
-		case IPos_DatamodelPackage.DATA_STORAGE_REQUEST: {
-			DataStorageRequest dataStorageRequest = (DataStorageRequest) theEObject;
-			T result = caseDataStorageRequest(dataStorageRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
 		case IPos_DatamodelPackage.EVENT_FILTER_CONFIGURATION: {
 			EventFilterConfiguration eventFilterConfiguration = (EventFilterConfiguration) theEObject;
 			T result = caseEventFilterConfiguration(eventFilterConfiguration);
@@ -313,27 +285,6 @@ public class IPos_DatamodelSwitch<T> extends Switch<T> {
 				result = defaultCase(theEObject);
 			return result;
 		}
-		case IPos_DatamodelPackage.WORLD_MODEL_QUERY_REQUEST: {
-			WorldModelQueryRequest worldModelQueryRequest = (WorldModelQueryRequest) theEObject;
-			T result = caseWorldModelQueryRequest(worldModelQueryRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
-		case IPos_DatamodelPackage.DATA_STORAGE_QUERY_REQUEST: {
-			DataStorageQueryRequest dataStorageQueryRequest = (DataStorageQueryRequest) theEObject;
-			T result = caseDataStorageQueryRequest(dataStorageQueryRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
-		case IPos_DatamodelPackage.AGENT_REGISTRATION_REQUEST: {
-			AgentRegistrationRequest agentRegistrationRequest = (AgentRegistrationRequest) theEObject;
-			T result = caseAgentRegistrationRequest(agentRegistrationRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
 		case IPos_DatamodelPackage.MONITORING_TASK: {
 			MonitoringTask monitoringTask = (MonitoringTask) theEObject;
 			T result = caseMonitoringTask(monitoringTask);
@@ -399,13 +350,6 @@ public class IPos_DatamodelSwitch<T> extends Switch<T> {
 				result = defaultCase(theEObject);
 			return result;
 		}
-		case IPos_DatamodelPackage.SENSOR_CONFIGURATION_REQUEST: {
-			SensorConfigurationRequest sensorConfigurationRequest = (SensorConfigurationRequest) theEObject;
-			T result = caseSensorConfigurationRequest(sensorConfigurationRequest);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
 		case IPos_DatamodelPackage.OTHER_BEACON: {
 			OtherBeacon otherBeacon = (OtherBeacon) theEObject;
 			T result = caseOtherBeacon(otherBeacon);
@@ -840,66 +784,6 @@ public class IPos_DatamodelSwitch<T> extends Switch<T> {
 		return null;
 	}
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Tracking Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Tracking Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseTrackingRequest(TrackingRequest object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Monitoring Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Monitoring Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseMonitoringRequest(MonitoringRequest object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>World Model Update Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>World Model Update Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseWorldModelUpdateRequest(WorldModelUpdateRequest object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Data Storage Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Data Storage Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseDataStorageRequest(DataStorageRequest object) {
-		return null;
-	}
-
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Event Filter Configuration</em>'.
 	 * <!-- begin-user-doc -->
@@ -915,51 +799,6 @@ public class IPos_DatamodelSwitch<T> extends Switch<T> {
 		return null;
 	}
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>World Model Query Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>World Model Query Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseWorldModelQueryRequest(WorldModelQueryRequest object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Data Storage Query Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Data Storage Query Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseDataStorageQueryRequest(DataStorageQueryRequest object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Agent Registration Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Agent Registration Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseAgentRegistrationRequest(AgentRegistrationRequest object) {
-		return null;
-	}
-
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Monitoring Task</em>'.
 	 * <!-- begin-user-doc -->
@@ -1065,21 +904,6 @@ public class IPos_DatamodelSwitch<T> extends Switch<T> {
 		return null;
 	}
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Sensor Configuration Request</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Sensor Configuration Request</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseSensorConfigurationRequest(SensorConfigurationRequest object) {
-		return null;
-	}
-
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Other Beacon</em>'.
 	 * <!-- begin-user-doc -->
diff --git a/src/main/java/ipos/project/Functionality/eventfilter/TestEventFilter.java b/src/main/java/ipos/project/Functionality/eventfilter/TestEventFilter.java
index 2a1edd0236e8e070be2772cfa07baa41ffde9af4..53835c160195c1852a68f904d4f65678eccccfc7 100644
--- a/src/main/java/ipos/project/Functionality/eventfilter/TestEventFilter.java
+++ b/src/main/java/ipos/project/Functionality/eventfilter/TestEventFilter.java
@@ -1,5 +1,7 @@
 package ipos.project.Functionality.eventfilter;
 
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
 import ipos.project.Functionality.eventfilter.*;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
 import org.springframework.stereotype.Component;
@@ -15,6 +17,7 @@ import java.util.HashMap;
 public class TestEventFilter {
     public static void test() throws ParseException {
         IPos_DatamodelFactory datamodelFactory = IPos_DatamodelFactory.eINSTANCE;
+        IPosDevKitFactory devKitFactory = IPosDevKitFactory.eINSTANCE;
         Timestamp timestamp = new Timestamp(System.currentTimeMillis());
         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
         //HashMap events = new HashMap<String, String>();
@@ -31,7 +34,7 @@ public class TestEventFilter {
         Position testPosition = datamodelFactory.createPosition();
         Point3D testPoint3D = datamodelFactory.createPoint3D();
 
-        MonitoringRequest monReq = datamodelFactory.createMonitoringRequest();
+        MonitoringRequest monReq = devKitFactory.createMonitoringRequest();
         monReq.setMonitoringTaskId("testMonitoringTaskId");
         eventFilter filter = new eventFilter(monReq);
         EventFilterCondition config = datamodelFactory.createEventFilterCondition();
diff --git a/src/main/java/ipos/project/Functionality/eventfilter/eventFilter.java b/src/main/java/ipos/project/Functionality/eventfilter/eventFilter.java
index b599511622e3e5d6dbee81b4aa58049a8dfb09ce..b7e95bc55d25d373c2003589703d395c6fe44e29 100644
--- a/src/main/java/ipos/project/Functionality/eventfilter/eventFilter.java
+++ b/src/main/java/ipos/project/Functionality/eventfilter/eventFilter.java
@@ -1,5 +1,6 @@
 package ipos.project.Functionality.eventfilter;
 
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
 import ipos.project.Functionality.DataServices;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
 import ipos.project.UseCaseController.PositionMonitoring;
@@ -33,7 +34,7 @@ public class eventFilter {
         return this.monitoringRequest.getSerializationType();
     }
 
-    public String getFusionStrategy(){
+    private String getFusionStrategy(){
         return this.monitoringRequest.getFusionStrategy();
     }
 
diff --git a/src/main/java/ipos/project/Functionality/eventfilter/readConfig.java b/src/main/java/ipos/project/Functionality/eventfilter/readConfig.java
index 2406ab20eec590b1c67dc9e3b389413fe13017ce..5bac059659689c260abc782768b8bbac88eb15c5 100644
--- a/src/main/java/ipos/project/Functionality/eventfilter/readConfig.java
+++ b/src/main/java/ipos/project/Functionality/eventfilter/readConfig.java
@@ -1,5 +1,6 @@
 package ipos.project.Functionality.eventfilter;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
 import ipos.project.Functionality.DataServices;
 import org.apache.logging.log4j.LogManager;
 import org.json.JSONArray;
diff --git a/src/main/java/ipos/project/MainApp.java b/src/main/java/ipos/project/MainApp.java
index 3dae0e9aab7432f936cacff9c130cff6d3c486f8..3ac58e598d50fae0aef6f35999a99a4ad724b3c1 100644
--- a/src/main/java/ipos/project/MainApp.java
+++ b/src/main/java/ipos/project/MainApp.java
@@ -1,36 +1,110 @@
 package ipos.project;
 
 import ipos.project.DataModellntegration.SimpleSceneIntegration.SimpleSceneIntegration;
-import ipos.project.Functionality.eventfilter.TestEventFilter;
 import ipos.project.SensorValueIntegration.GenericSensorValueProcessor;
-import ipos.project.UseCaseController.Administration;
+import ipos.project.iposextension.orderpicker.OFBizOrderPicker;
+import org.apache.logging.log4j.LogManager;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.context.annotation.ComponentScan;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 
-import java.text.ParseException;
+import java.util.Scanner;
 
 @SpringBootApplication
 // @EnableJpaRepositories("ipos.project.models.SimpleScene.*")
 @EnableJpaRepositories("ipos.project.DataModellntegration.iPos_Datamodel.impl")
 public class MainApp {
-	public static final String INDUSTRIEROBOTIK_FILE = "./init_Industrierobotik.txt";
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    // public static final String TESTRAWDATA_FILE = "./testdata_raw.txt";
+    // public static final String TESTDATA_EMPTY = "./testdata_raw_empty.txt";
+    public static final String INDUSTRIEROBOTIK_FILE = "./init_Industrierobotik.txt";
     public static final String SENSORDATENFUSION_FILE = "./init_Sensordatenfusion.txt";
-    public static final String TESTRAWDATA_FILE = "./testdata_raw.txt";
+    public static final String ORDERPICKER_FILE = "./init_Orderpicker.txt";
     public static final String TESTDATA_INDFRO = "./testdata_raw_indfro.txt";
     public static final String TESTDATA_QUERY = "./testdata_raw_query.txt";
-    public static final String TESTDATA_EMPTY = "./testdata_raw_empty.txt";
+    public static final String TESTDATA_OP = "./testdata_raw_orderpicker.txt";
+    public static final String TESTDATA_OP_EVTS = "testdata_raw_orderpicker_posEvts.txt";
+    public static final String COMMAND_INDFRO = "indfro testdata"; // Industrierobotik_Frontend
+    public static final String COMMAND_OP = "oppl testdata";
+    public static final String COMMAND_OP_EVTS = "opevts testdata";
+    public static final String COMMAND_EXIT = "exit";
+    public static final String COMMAND_HELP = "help";
+    public static final String COMMAND_QUERY = "query";
+    public static final String COMMAND_INIT_INDFRO = "init indfro";
+    public static final String COMMAND_INIT_SDF = "init sdf";
+    public static final String COMMAND_INIT_OP = "init op";
+    private static boolean proceed = true;
 
 
-    public static void main(String[] args) throws ParseException {
+    public static void main(String[] args){
         SpringApplication.run(MainApp.class, args);
-        // SimpleSceneIntegration.init();
+        printCommands();
+        processCommands();
+    }
+
+    private static void processCommands() {
+        Scanner scanner = new Scanner(System.in);
+        while(proceed) {
+             if(scanner.hasNext()) {
+                String line = scanner.nextLine();
+                switch(line){
+                    case COMMAND_INIT_INDFRO: initIndfro(); break;
+                    case COMMAND_INIT_SDF: initSdf(); break;
+                    case COMMAND_INIT_OP: initOp(); break;
+                    case COMMAND_EXIT : proceed = false; break;
+                    case COMMAND_HELP: printCommands(); break;
+                    case COMMAND_INDFRO: GenericSensorValueProcessor.processTestData(TESTDATA_INDFRO); break;
+                    case COMMAND_OP : OFBizOrderPicker.processPicklistTestData(TESTDATA_OP); break;
+                    case COMMAND_OP_EVTS: OFBizOrderPicker.processPosEvtTestData(TESTDATA_OP_EVTS); break;
+                    case COMMAND_QUERY : SimpleSceneIntegration.handleMessageFile(TESTDATA_QUERY); break;
+                    default: LOG.info("Unknown command");
+                }
+            }
+        }
+    }
+
+    private static void initIndfro() {
+        ipos.project.SensorValueIntegration.api.MqttPositionHandler.setInitialized(false);
         SimpleSceneIntegration.init(INDUSTRIEROBOTIK_FILE);
-        // SimpleSceneIntegration.init(SENSORDATENFUSION_FILE);
         ipos.project.SensorValueIntegration.api.MqttPositionHandler.setInitialized(true);
-        // GenericSensorValueProcessor.processTestData(TESTDATA_EMPTY);
-        // SimpleSceneIntegration.handleMessageFile(TESTDATA_EMPTY);
-	}
+    }
+
+    private static void initSdf() {
+        ipos.project.SensorValueIntegration.api.MqttPositionHandler.setInitialized(false);
+        SimpleSceneIntegration.init(SENSORDATENFUSION_FILE);
+        ipos.project.SensorValueIntegration.api.MqttPositionHandler.setInitialized(true);
+    }
+
+    private static void initOp() {
+        ipos.project.SensorValueIntegration.api.MqttPositionHandler.setInitialized(false);
+        SimpleSceneIntegration.init(ORDERPICKER_FILE);
+        ipos.project.SensorValueIntegration.api.MqttPositionHandler.setInitialized(true);
+        OFBizOrderPicker.initialize();
+    }
+
+    private static void printCommands() {
+        LOG.info("-------------------------------------");
+        LOG.info("Available commands: ");
+        LOG.info("---------");
+        LOG.info("Initialization: ");
+        LOG.info("---------");
+        LOG.info(COMMAND_INIT_INDFRO);
+        LOG.info(COMMAND_INIT_SDF);
+        LOG.info(COMMAND_INIT_OP);
+        LOG.info("---------");
+        LOG.info("Testdata:");
+        LOG.info("---------");
+        LOG.info(COMMAND_INDFRO);
+        LOG.info(COMMAND_OP);
+        LOG.info(COMMAND_OP_EVTS);
+        LOG.info(COMMAND_QUERY);
+        LOG.info("---------");
+        LOG.info("Other:");
+        LOG.info("---------");
+        LOG.info(COMMAND_EXIT);
+        LOG.info(COMMAND_HELP);
+        LOG.info("-------------------------------------");
+    }
+
 }
diff --git a/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java b/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
index e8828784a0d4d9d77338e126be02fb8ebf2251e2..d67d5b1f808a5b23352672430c3f549000287fdc 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/GenericSensorValueProcessor.java
@@ -2,24 +2,17 @@ package ipos.project.SensorValueIntegration;
 
 import com.google.protobuf.InvalidProtocolBufferException;
 import ipos.models.GenericSensor;
-import ipos.models.SimpleScene;
 import ipos.models.SimpleScene.IposPosition;
-import ipos.project.DataModellntegration.SimpleSceneIntegration.api.MqttRequestHandler;
-import ipos.project.DataModellntegration.SimpleSceneIntegration.service.impl.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
 import ipos.project.SensorValueIntegration.api.MqttPositionHandler;
-import ipos.project.UseCaseController.Administration;
-import ipos.project.mapper.ProtoJsonMap;
+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.jms.annotation.JmsListener;
 import org.springframework.stereotype.Component;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 
 @Component
 public class GenericSensorValueProcessor {
@@ -41,7 +34,7 @@ public class GenericSensorValueProcessor {
     public static void processTestData(String path_to_test_data_file){
         File testDataFile = new File(path_to_test_data_file);
         try {
-            for (String line : readLines(testDataFile)) {
+            for (String line : OtherUtility.readLines(testDataFile)) {
                 GenericSensor.SensorEventWrapper sensorEventWrapper = ProtoJsonMap.fromJson(line, GenericSensor.SensorEventWrapper.class);
                 MqttPositionHandler.handleSensorEventWrapper(sensorEventWrapper);
             }
@@ -51,17 +44,4 @@ public class GenericSensorValueProcessor {
         }
     }
 
-    private static List<String> readLines(File initFile) {
-        List<String> lines = new ArrayList<>();
-        try(BufferedReader br = new BufferedReader(new FileReader(initFile))) { // br is automatically closed at the end of try-scope
-            for (String line; (line = br.readLine()) != null; ){
-                lines.add(line);
-            }
-        } catch (IOException e) {
-            LOG.error("Error while reading the text file: ");
-            e.printStackTrace();
-        }
-        return lines;
-    }
-
 }
diff --git a/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java b/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
index 19191a40690dc9dfed8107d6eecd814497a66f04..27bbc4314119018b4131f315b68c18f42165fa1c 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/Service/GenericSensorTransformer.java
@@ -16,7 +16,6 @@ import java.util.Map;
 public class GenericSensorTransformer {
 
     private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
-    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
 
    private static List<String> toJavaStringList(ProtocolStringList protoList){
         List<String> javaList = new ArrayList<String>();
@@ -38,16 +37,16 @@ public class GenericSensorTransformer {
         // TODO: Zugriff auf Weltmodell ermöglichen um Bezugssystem-Objekt beschaffen zu können
         positionEvent.setPlacing(
                 createPlacing(
-                        createPosition(
-                                createPoint3D(
+                        IPos2protoTransformer.createPosition(
+                                IPos2protoTransformer.createPoint3D(
                                         protoSensPosEvent.getPosition().getPoint().getX(),
                                         protoSensPosEvent.getPosition().getPoint().getY(),
                                         protoSensPosEvent.getPosition().getPoint().getZ()
                                 ),
                                 protoSensPosEvent.getPosition().getAccuracy(),
-                                createReferenceSystem("ROOT", "ROOT", null)
+                                IPos2protoTransformer.createReferenceSystem("ROOT", "ROOT", null)
                         ),
-                        createOrientation(
+                        IPos2protoTransformer.createOrientation(
                                 protoSensPosEvent.getOrientation().getX(),
                                 protoSensPosEvent.getOrientation().getY(),
                                 protoSensPosEvent.getOrientation().getZ(),
@@ -57,14 +56,6 @@ public class GenericSensorTransformer {
         return positionEvent;
     }
 
-    private static ReferenceSystem createReferenceSystem(String name, String id, Placing origin){
-        ReferenceSystem refSystem = modelFactory.createReferenceSystem();
-        refSystem.setName(name);
-        refSystem.setId(id);
-        refSystem.setOrigin(origin);
-        return refSystem;
-    }
-
     private static Placing createPlacing(Position position, Orientation orientation){
         Placing placing = modelFactory.createPlacing();
         placing.setPosition(position);
@@ -72,34 +63,7 @@ public class GenericSensorTransformer {
         return placing;
     }
 
-    private static Position createPosition(Point3D point3D, Float accuracy, ReferenceSystem refSystem){
-        Position position = modelFactory.createPosition();
-        position.setPoint(point3D);
-        Gaussian accrcy = modelFactory.createGaussian();
-        accrcy.setConfidenceInterval(accuracy);
-        position.setAccuracy(accrcy);
-        position.setReferenceSystem(refSystem);
-        return position;
-    }
-
-    private static Point3D createPoint3D(float x, float y, float z){
-        Point3D point3D = modelFactory.createPoint3D();
-        point3D.setX(x);
-        point3D.setY(y);
-        point3D.setZ(z);
-        return point3D;
-    }
-
-    private static Quaternion createOrientation(float x, float y, float z, float w){
-        Quaternion quaternion = modelFactory.createQuaternion();
-        quaternion.setX(x);
-        quaternion.setY(y);
-        quaternion.setZ(z);
-        quaternion.setW(w);
-        return quaternion;
-    }
-
-   public static NFC nfc_GSensor2Internal(GenericSensor.NFCRawDataEvent proto_nfcRawdataEvent) {
+    public static NFC nfc_GSensor2Internal(GenericSensor.NFCRawDataEvent proto_nfcRawdataEvent) {
         NFC internal_nfcRawdataEvent = modelFactory.createNFC();
         // internal_nfcRawdataEvent.setTimeStamp(proto_nfcRawdataEvent.getTimestamp());
 
@@ -131,7 +95,7 @@ public class GenericSensorTransformer {
        internal_acceleration.setY(proto_imuRawDataEvent.getY());
        internal_acceleration.setZ(proto_imuRawDataEvent.getZ());
        internal_imuRawDataEvent.setAcceleration(internal_acceleration);
-       Quaternion orientation = createOrientation(proto_imuRawDataEvent.getOrientation().getX(),
+       Quaternion orientation = IPos2protoTransformer.createOrientation(proto_imuRawDataEvent.getOrientation().getX(),
                proto_imuRawDataEvent.getOrientation().getY(),
                proto_imuRawDataEvent.getOrientation().getZ(),
                proto_imuRawDataEvent.getOrientation().getW());
diff --git a/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java b/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java
index 4db8cc7c239b2ed1d880b1850508f7dd081b8705..3fbf313eb9b92e32a4fb473c87b720cc0ed58480 100644
--- a/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java
+++ b/src/main/java/ipos/project/SensorValueIntegration/api/MqttPositionHandler.java
@@ -3,10 +3,7 @@ package ipos.project.SensorValueIntegration.api;
 import com.google.protobuf.InvalidProtocolBufferException;
 import ipos.models.GenericSensor;
 import ipos.models.GenericSensor.SensorPositionEvent;
-import ipos.models.SimpleScene;
-import ipos.models.SimpleScene.IposPosition;
 import ipos.models.GenericSensor.SensorEventWrapper;
-import ipos.project.DataModellntegration.SimpleSceneIntegration.service.impl.ExternalPubServiceImpl;
 import ipos.project.DataModellntegration.iPos_Datamodel.IMU;
 import ipos.project.DataModellntegration.iPos_Datamodel.NFC;
 import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
@@ -15,7 +12,7 @@ import ipos.project.SensorValueIntegration.Service.GenericSensorTransformer;
 import ipos.project.UseCaseController.PositionMonitoring;
 import ipos.project.config.mqtt.Handler;
 import ipos.project.config.mqtt.MqttListener;
-import ipos.project.mapper.ProtoJsonMap;
+import ipos.project.devkit.utility.ProtoJsonMap;
 import org.apache.logging.log4j.LogManager;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -87,6 +84,9 @@ public class MqttPositionHandler implements Handler {
     private static void processIMURawdataEvents(List<GenericSensor.IMURawDataEvent> imuRawDataEventList) {
         for (GenericSensor.IMURawDataEvent proto_imuRawDataEvent : imuRawDataEventList){
             IMU internal_imuRawDataEvent = GenericSensorTransformer.imu_GSensor2Internal(proto_imuRawDataEvent);
+
+
+            // JMS-topic: imu_rawdata_event
             PositionMonitoring.receiveMessage(internal_imuRawDataEvent);
         }
     }
@@ -107,7 +107,7 @@ public class MqttPositionHandler implements Handler {
 
             // vorübergehend: anstatt JMS einfach den PositionMonitoringController per Funktionsaufruf aufrufen
             PositionMonitoring.receiveMessage(positionEvent);
-            // this.jmsTemplate.convertAndSend("/PositionEvent", protoSensPosEvent); // submit position to the internal broker
+            // jmsTemplate.convertAndSend("/PositionEvent", protoSensPosEvent); // submit position to the internal broker
             //TODO: fix message converter for the internal broker
         }
     }
diff --git a/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java b/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
index ea281d130231c0167fa71e0daea7190cdde6c449..c7737863116692e3e13b9d7f776d05d2e0e9792f 100644
--- a/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
+++ b/src/main/java/ipos/project/UseCaseController/PositionMonitoring.java
@@ -2,7 +2,13 @@ package ipos.project.UseCaseController;
 
 import ipos.project.DataModellntegration.SimpleSceneIntegration.SimpleSceneIntegration;
 import ipos.project.DataModellntegration.iPos_Datamodel.*;
-import ipos.project.Functionality.*;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.DataStorageQueryRequest;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
+import ipos.project.Functionality.DataServices;
+import ipos.project.Functionality.Odometry;
+import ipos.project.Functionality.PositionCalculation;
+import ipos.project.Functionality.SensorDataFusion;
 import ipos.project.Functionality.eventfilter.FilteringResult;
 import ipos.project.Functionality.eventfilter.eventFilter;
 import ipos.project.Functionality.eventfilter.readConfig;
@@ -18,12 +24,12 @@ import java.util.stream.Collectors;
 
 @Component
 public class PositionMonitoring {
-    public static final double TRIANGULATION_HEIGHT = 0.82;
     private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
 
     private static List<eventFilter> eventFilters = new ArrayList<eventFilter>();
     private static Map<String, List<String>> zonePopulation = new HashMap<String, List<String>>(); // maps zone-ids to list of ids of those agents that are currently located within that zone.
     private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
+    private static IPosDevKitFactory devKitFactory = IPosDevKitFactory.eINSTANCE;
 
     //TODO: Constant-definitions shall be migrated to a dedicated component. Otherwise, avoidable dependencies are created among PositionMonitoring and the other components
     public static final String EXIT_NOTIFICATION_TYPE = "ExitNotification";
@@ -33,6 +39,7 @@ public class PositionMonitoring {
     public static final String JSON_SERIALIZATION_TYPE = "json";
     public static final String ACCURACY_FUSION_STRATEGY = "accuracy";
     public static final String TRACKING_SUFFIX = "_tracking";
+    public static final String TOPIC_ConfigWrapper = "usertopic/IposConfigWrapper";
     public static final String TOPIC_DOOR = "Human_at_Door_Side";
     public static final String TOPIC_WINDOW = "Human_at_Window_Side";
     public static final String ZONE_ID_DOOR = "cobot1_door_zone";
@@ -71,6 +78,7 @@ public class PositionMonitoring {
 
     static int imuCount = 0;
 
+    // JMS-topic: imuRawdataEvent
     public static void receiveMessage(IMU imuRawdataEvent){
 
         PositionEvent positionEvent = null; // if not calibrated: exception
@@ -121,7 +129,7 @@ public class PositionMonitoring {
     }
 
     private MonitoringRequest createMonitoringRequest(List<String> frameIds, String monitoringTaskId) {
-        MonitoringRequest monReq = modelFactory.createMonitoringRequest();
+        MonitoringRequest monReq = devKitFactory.createMonitoringRequest();
         monReq.getFrameIds().addAll(frameIds);
         monReq.setMonitoringTaskId(monitoringTaskId);
         return monReq;
diff --git a/src/main/java/ipos/project/devkit/eca/Action.java b/src/main/java/ipos/project/devkit/eca/Action.java
new file mode 100644
index 0000000000000000000000000000000000000000..472c70f8ce07d2fc6838343c8780540db84e7a56
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/Action.java
@@ -0,0 +1,7 @@
+package ipos.project.devkit.eca;
+
+public interface Action {
+
+    public void execute();
+
+}
diff --git a/src/main/java/ipos/project/devkit/eca/CEFResult.java b/src/main/java/ipos/project/devkit/eca/CEFResult.java
new file mode 100644
index 0000000000000000000000000000000000000000..9273fec85e98d45298c092813cd5a17f5e72831c
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/CEFResult.java
@@ -0,0 +1,28 @@
+package ipos.project.devkit.eca;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
+
+public class CEFResult {
+
+    PositionEvent posEvent;
+    boolean posEventIsInOrder;
+    boolean posEventTriggeredStateChange;
+
+    public CEFResult(PositionEvent posEvent, boolean posEventIsInOrder, boolean posEventTriggeredStateChange) {
+        this.posEvent = posEvent;
+        this.posEventIsInOrder = posEventIsInOrder;
+        this.posEventTriggeredStateChange = posEventTriggeredStateChange;
+    }
+
+    public PositionEvent getPosEvent() {
+        return posEvent;
+    }
+
+    public boolean isPosEventIsInOrder() {
+        return posEventIsInOrder;
+    }
+
+    public boolean isPosEventTriggeredStateChange() {
+        return posEventTriggeredStateChange;
+    }
+}
diff --git a/src/main/java/ipos/project/devkit/eca/Condition.java b/src/main/java/ipos/project/devkit/eca/Condition.java
new file mode 100644
index 0000000000000000000000000000000000000000..4f0ca3a47d2c902921fad9b3c491b31b03e62c96
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/Condition.java
@@ -0,0 +1,10 @@
+package ipos.project.devkit.eca;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
+
+public interface Condition {
+
+    Action evaluate(IposPositionEvent positionEvent);
+
+}
diff --git a/src/main/java/ipos/project/devkit/eca/ECARule.java b/src/main/java/ipos/project/devkit/eca/ECARule.java
new file mode 100644
index 0000000000000000000000000000000000000000..b3f7d3e99c0cc1568e879699975d782fef0588d9
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/ECARule.java
@@ -0,0 +1,21 @@
+package ipos.project.devkit.eca;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
+import ipos.project.devkit.iposext.IPosArguments;
+
+public abstract class ECARule {
+
+    protected Condition condition;
+
+    public void apply(IposPositionEvent posEvent){
+        if (isApplicable(posEvent)){
+            Action action = condition.evaluate(posEvent);
+            action.execute();
+        }
+    }
+
+    public abstract boolean isApplicable(IposPositionEvent posEvent);
+
+    public abstract void configure(IPosArguments.IPosEcaConfig ecaConfig);
+}
diff --git a/src/main/java/ipos/project/devkit/eca/NoOpAction.java b/src/main/java/ipos/project/devkit/eca/NoOpAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..bbcada14840307b346b19e7f8374914121d5be8a
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/NoOpAction.java
@@ -0,0 +1,17 @@
+package ipos.project.devkit.eca;
+
+import org.apache.logging.log4j.LogManager;
+
+public class NoOpAction implements Action{
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    public NoOpAction() {
+    }
+
+    public NoOpAction(String message){
+        LOG.info(message);
+    }
+
+    @Override
+    public void execute() {}
+}
diff --git a/src/main/java/ipos/project/devkit/eca/zseq/AbstractZoneSequenceCondition.java b/src/main/java/ipos/project/devkit/eca/zseq/AbstractZoneSequenceCondition.java
new file mode 100644
index 0000000000000000000000000000000000000000..d41a02d70d86225eda88ef89d26c156693041ad8
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/zseq/AbstractZoneSequenceCondition.java
@@ -0,0 +1,63 @@
+package ipos.project.devkit.eca.zseq;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+import ipos.project.devkit.eca.Action;
+import ipos.project.devkit.eca.Condition;
+import ipos.project.devkit.eca.NoOpAction;
+import org.apache.logging.log4j.LogManager;
+
+public abstract class AbstractZoneSequenceCondition implements Condition {
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    protected ZoneSequenceStage currentStage;
+
+    @Override
+    public Action evaluate(IposPositionEvent positionEvent) {
+        if (positionEvent.getZoneDescriptors().size() != 1){
+            return new NoOpAction("Error: Positionevent does not contain a single zone descriptor.");
+        }
+        // assumption: positionEvent is located in exactly one zone (checked in ZoneSequenceRule.isApplicable())
+        ZoneDescriptor zoneDescriptor = positionEvent.getZoneDescriptors().get(0);
+        if (causesStageChange(zoneDescriptor)){
+            logStageChange();
+            StageChangeAction scAction = evaluateStageChangeIntoAction(zoneDescriptor);
+            setCurrentStage(currentStage.getNextStage());
+            return scAction;
+        }else{
+            updateCurrentQuantity();
+            return new NoOpAction(createNoStageChangeLogMsg());
+        }
+    }
+
+    private String createNoStageChangeLogMsg() {
+        String currentZoneId = currentStage.getEventDescriptors().get(0).getZoneId();
+        int currentQuantity = currentStage.getEventDescriptors().get(0).getQuantity();
+        String logMsg = "Event did not cause a state change. Current stage expects zone " + currentZoneId + ". This was the " + currentQuantity + "s event that did not cause a stage change.";
+        return logMsg;
+    }
+
+    private void logStageChange() {
+        String currentZone = currentStage.getEventDescriptors().get(0).getZoneId();
+        String nextZone = currentStage.getNextStage().getEventDescriptors().get(0).getZoneId();
+        LOG.info("Event causes a stage change. Zone of current stage: " + currentZone + ". Zone of next stage: " + nextZone);
+    }
+
+    private void updateCurrentQuantity() {
+        int currentQuantity = currentStage.getEventDescriptors().get(0).getQuantity();
+        currentStage.getEventDescriptors().get(0).setQuantity(currentQuantity + 1);
+    }
+
+    public abstract StageChangeAction evaluateStageChangeIntoAction(ZoneDescriptor zoneDescriptor);
+
+    public abstract boolean causesStageChange(ZoneDescriptor zoneDescriptor);
+
+
+    public ZoneSequenceStage getCurrentStage() {
+        return currentStage;
+    }
+    public void setCurrentStage(ZoneSequenceStage nextStage) {
+        this.currentStage = nextStage;
+    }
+
+}
diff --git a/src/main/java/ipos/project/devkit/eca/zseq/StageChangeAction.java b/src/main/java/ipos/project/devkit/eca/zseq/StageChangeAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..364f185ae1e879aaa22d1d3750ce7a1c2e8b01c9
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/zseq/StageChangeAction.java
@@ -0,0 +1,8 @@
+package ipos.project.devkit.eca.zseq;
+
+import ipos.project.devkit.eca.Action;
+
+public abstract class StageChangeAction implements Action {
+    @Override
+    public abstract void execute();
+}
diff --git a/src/main/java/ipos/project/devkit/eca/zseq/StageChangeLogAction.java b/src/main/java/ipos/project/devkit/eca/zseq/StageChangeLogAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..821e9aeb4b1a0222922dc9de19170450425e80cc
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/zseq/StageChangeLogAction.java
@@ -0,0 +1,28 @@
+package ipos.project.devkit.eca.zseq;
+
+import org.apache.logging.log4j.LogManager;
+
+public class StageChangeLogAction extends StageChangeAction{
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    private String currentZoneId;
+    private String nextZoneId;
+
+    public StageChangeLogAction(String currentZoneId, String nextZoneId) {
+        this.currentZoneId = currentZoneId;
+        this.nextZoneId = nextZoneId;
+    }
+
+    @Override
+    public void execute() {
+        LOG.info("Stage change occured: " + currentZoneId + " -> " + nextZoneId);
+    }
+
+    public String getCurrentZoneId() {
+        return currentZoneId;
+    }
+
+    public String getNextZoneId() {
+        return nextZoneId;
+    }
+}
diff --git a/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceArgs.java b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceArgs.java
new file mode 100644
index 0000000000000000000000000000000000000000..044065a13071fe815b48954cf20e676d5e1aa1ae
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceArgs.java
@@ -0,0 +1,29 @@
+package ipos.project.devkit.eca.zseq;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+import ipos.project.devkit.eca.Condition;
+import ipos.project.devkit.iposext.IPosArguments;
+
+import java.util.List;
+
+public class ZoneSequenceArgs {
+
+    public static class ZoneSequenceConfigure implements IPosArguments.IPosEcaConfig{
+        private List<ZoneDescriptor> zoneDescriptors;
+        private Condition condition;
+
+        public ZoneSequenceConfigure(List<ZoneDescriptor> zoneDescriptors, Condition condition) {
+            this.zoneDescriptors = zoneDescriptors;
+            this.condition = condition;
+        }
+
+        public List<ZoneDescriptor> getZoneDescriptors() {
+            return zoneDescriptors;
+        }
+        public Condition getCondition() {
+            return condition;
+        }
+
+    }
+
+}
diff --git a/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceCondition.java b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceCondition.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa00b7f666cffe73cb35db15bb61b65318d05a74
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceCondition.java
@@ -0,0 +1,34 @@
+package ipos.project.devkit.eca.zseq;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+import ipos.project.devkit.eca.NoOpAction;
+import org.apache.logging.log4j.LogManager;
+
+public class ZoneSequenceCondition extends AbstractZoneSequenceCondition{
+    @Override
+    public String toString() {
+        String strRepresentation = "";
+        ZoneSequenceStage firstStage = this.getCurrentStage();
+        ZoneSequenceStage currentStage = firstStage;
+        while(currentStage != null) {
+            String currentZoneId = currentStage.getEventDescriptors().get(0).getZoneId();
+            strRepresentation += " -> " + currentZoneId;
+            currentStage = currentStage.getNextStage();
+        }
+        return "expected zone sequence: " + strRepresentation.substring(4);
+    }
+
+    @Override
+    public StageChangeAction evaluateStageChangeIntoAction(ZoneDescriptor zoneDescriptor) {
+        String currentZoneId = getCurrentStage().getEventDescriptors().get(0).getZoneId();
+        String nextZoneId = getCurrentStage().getNextStage().getEventDescriptors().get(0).getZoneId();
+        return new StageChangeLogAction(currentZoneId, nextZoneId);
+    }
+
+    @Override
+    public boolean causesStageChange(ZoneDescriptor zoneDescriptor) {
+        String eventZoneId = zoneDescriptor.getZoneId();
+        String currentStageZoneId = currentStage.getEventDescriptors().get(0).getZoneId(); // Function ZoneSequenceRule::transformIntoStage ensures that there is at most one EventDescriptor contained in a stage
+        return !eventZoneId.equals(currentStageZoneId);
+    }
+}
diff --git a/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceRule.java b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..0849b418cdbf054592d77f0e9dc9ffb25c45e2fa
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceRule.java
@@ -0,0 +1,85 @@
+package ipos.project.devkit.eca.zseq;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+import ipos.project.devkit.eca.ECARule;
+import ipos.project.devkit.iposext.IPosArguments;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+public abstract class ZoneSequenceRule extends ECARule {
+
+    protected ZoneSequenceCondition zsCondition;
+
+    @Override
+    public boolean isApplicable(IposPositionEvent posEvent) {
+        List<ZoneDescriptor> zones = posEvent.getZoneDescriptors();
+        return zones.size() == 1;
+    }
+
+    @Override
+    public void configure(IPosArguments.IPosEcaConfig iposEcaConfig) {
+        ZoneSequenceArgs.ZoneSequenceConfigure zsConfigure = (ZoneSequenceArgs.ZoneSequenceConfigure) iposEcaConfig;
+        configure(zsConfigure);
+    }
+
+        /**
+         * Creates a sequence of ZoneSequenceStages for a list of zoneDescriptors.
+         * Each ZoneSequenceStage encapsulates a single zone with a quantity. The sequence
+         * encodes a pattern for a sequence of positionEvents. The pattern is met if the
+         * sequence of positionEvents and their zoneAssociations matches the sequence of
+         * ZoneSequenceStages and their respective zone associations.
+         * @param zsConfigure
+         */
+    public void configure(ZoneSequenceArgs.ZoneSequenceConfigure zsConfigure){
+        List<ZoneDescriptor> zoneDescriptors = zsConfigure.getZoneDescriptors();
+        // this.condition = new ZoneSequenceCondition();
+        zsCondition = (ZoneSequenceCondition) zsConfigure.getCondition();
+        List<ZoneSequenceStage> zsStages = mapZoneDescriptorsToStages(zoneDescriptors);
+        linkSuccessiveStages(zsStages);
+        initializeCondition(zsStages);
+        /*
+        ZoneSequenceStage initialStage = new ZoneSequenceStage();
+        ZoneSequenceStage loopStage = initialStage;
+        for (ZoneDescriptor zoneDescriptor : zoneDescriptors){
+            loopStage.addEventDescriptor(zoneDescriptor.getZoneId(), 0);
+            ZoneSequenceStage nextLoopStage = new ZoneSequenceStage();
+            loopStage.setNextStage(nextLoopStage);
+            loopStage = nextLoopStage;
+        }
+        zsCondition.setCurrentStage(initialStage);
+*/
+    }
+
+    private void initializeCondition(List<ZoneSequenceStage> zsStages) {
+        ZoneSequenceStage initialStage = new ZoneSequenceStage();
+        initialStage.addEventDescriptor("Start", 0);
+        initialStage.setNextStage(zsStages.get(0));
+        zsCondition.setCurrentStage(initialStage);
+        this.condition = zsCondition;
+    }
+
+    private void linkSuccessiveStages(List<ZoneSequenceStage> zsStages) {
+        for (int i = 0; i < zsStages.size()-1 ; i++){
+            ZoneSequenceStage stage = zsStages.get(i);
+            ZoneSequenceStage successor = zsStages.get(i+1);
+            stage.setNextStage(successor);
+        }
+    }
+
+    private List<ZoneSequenceStage> mapZoneDescriptorsToStages(List<ZoneDescriptor> zoneDescriptors) {
+        List<ZoneSequenceStage> zsStages = zoneDescriptors.stream()
+                .map(ZoneSequenceRule::transformIntoStage)
+                .collect(Collectors.toList());
+        return zsStages;
+    }
+
+    private static ZoneSequenceStage transformIntoStage(ZoneDescriptor zoneDescriptor){
+        ZoneSequenceStage zsStage = new ZoneSequenceStage();
+        zsStage.addEventDescriptor(zoneDescriptor.getZoneId(), 0);
+        return zsStage;
+    }
+
+}
diff --git a/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceStage.java b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceStage.java
new file mode 100644
index 0000000000000000000000000000000000000000..611c8d9398186684df1371cbc4301735f4503915
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/eca/zseq/ZoneSequenceStage.java
@@ -0,0 +1,58 @@
+package ipos.project.devkit.eca.zseq;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.PositionEvent;
+
+import java.util.LinkedList;
+import java.util.List;
+
+public class ZoneSequenceStage {
+
+    ZoneSequenceStage nextStage;
+    List<EventDescriptor> eventDescriptors = new LinkedList<>();
+
+    public List<EventDescriptor> getEventDescriptors() {
+        return eventDescriptors;
+    }
+
+    public void addEventDescriptor(String zoneId, int quantity) {
+        this.eventDescriptors.add(new EventDescriptor(zoneId, quantity));
+    }
+
+    public ZoneSequenceStage getNextStage() {
+        return nextStage;
+    }
+
+    public void setNextStage(ZoneSequenceStage nextStage) {
+        this.nextStage = nextStage;
+    }
+
+
+    public class EventDescriptor {
+        String zoneId;
+        int quantity;
+
+        public EventDescriptor(String zoneId, int quantity) {
+            this.zoneId = zoneId;
+            this.quantity = quantity;
+        }
+
+
+        public String getZoneId() {
+            return zoneId;
+        }
+
+        public void setZoneId(String zoneId) {
+            this.zoneId = zoneId;
+        }
+
+        public int getQuantity() {
+            return quantity;
+        }
+
+        public void setQuantity(int quantity) {
+            this.quantity = quantity;
+        }
+
+    }
+
+}
diff --git a/src/main/java/ipos/project/devkit/iposext/IPosArguments.java b/src/main/java/ipos/project/devkit/iposext/IPosArguments.java
new file mode 100644
index 0000000000000000000000000000000000000000..6c7cdf9528c7b420c475b7f7d55da9fc4728d1cb
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/iposext/IPosArguments.java
@@ -0,0 +1,15 @@
+package ipos.project.devkit.iposext;
+
+public interface IPosArguments {
+
+    public interface IPosConfigData {
+    }
+
+    public interface HandlePosEventConf {
+
+    }
+
+    public interface IPosEcaConfig {
+
+    }
+}
diff --git a/src/main/java/ipos/project/devkit/iposext/IPosExtension.java b/src/main/java/ipos/project/devkit/iposext/IPosExtension.java
new file mode 100644
index 0000000000000000000000000000000000000000..51d994005022051db5f7f414c0fae4e4b19a1989
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/iposext/IPosExtension.java
@@ -0,0 +1,43 @@
+package ipos.project.devkit.iposext;
+
+import ipos.models.SimpleScene;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.UseCaseController.PositionMonitoring;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import ipos.project.iposextension.orderpicker.OFBizOrderPicker;
+
+abstract public class IPosExtension {
+
+    public ExternalPubServiceImpl mqttService;
+
+    public void setMqttService(ExternalPubServiceImpl mqttService_){
+        mqttService = mqttService_;
+    }
+
+    public void configureIpos(IPosArguments.IPosConfigData iposConfigData) {
+        SimpleScene.IposConfigWrapper configWrapper = prepareConfigWrapper(iposConfigData);
+        sendConfigWrapperToIpos(configWrapper);
+    }
+
+    private void sendConfigWrapperToIpos(SimpleScene.IposConfigWrapper proto_configWrapper) {
+        String json_configWrapper = ProtoJsonMap.toJson(proto_configWrapper);
+        if (mqttService == null){
+            throw new RuntimeException("Could not send configuration data to IPos-Framework as MQTT-service was not properly initialized.");
+        }
+        mqttService.publish(PositionMonitoring.TOPIC_ConfigWrapper, json_configWrapper, 0, false);
+    }
+
+    public abstract void handlePositionEvent(IposPositionEvent posEvent);
+    public abstract void handlePositionEvent(IposPositionEvent posEvent, IPosArguments.HandlePosEventConf posEventConf);
+
+    public abstract SimpleScene.IposConfigWrapper prepareConfigWrapper(IPosArguments.IPosConfigData iposConfigData);
+
+    /*
+    private void useTransformer(){
+        ...
+        IPosTransformer.MonReqTransformer<SimpleScene.IposMonitoringRequest> monReq2protoTransformer = new IPos2protoTransformer.MonReq2ProtoTransformer();
+        //monReq2protoTransformer.transformMonReq();
+    }
+    */
+}
diff --git a/src/main/java/ipos/project/devkit/trans/IPos2protoTransformer.java b/src/main/java/ipos/project/devkit/trans/IPos2protoTransformer.java
new file mode 100644
index 0000000000000000000000000000000000000000..f745257557f71917281a883e4e8ed63158420a38
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/trans/IPos2protoTransformer.java
@@ -0,0 +1,111 @@
+package ipos.project.devkit.trans;
+
+import ipos.models.SimpleScene;
+import ipos.project.DataModellntegration.iPos_Datamodel.*;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IPosDevKitFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
+import ipos.project.SensorValueIntegration.Service.GenericSensorTransformer;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class IPos2protoTransformer implements IPosTransformer {
+
+    private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
+    private static IPosDevKitFactory devKitFactory = IPosDevKitFactory.eINSTANCE;
+
+    public static ReferenceSystem createReferenceSystem(String name, String id, Placing origin){
+        ReferenceSystem refSystem = modelFactory.createReferenceSystem();
+        refSystem.setName(name);
+        refSystem.setId(id);
+        refSystem.setOrigin(origin);
+        return refSystem;
+    }
+
+    public static Position createPosition(Point3D point3D, Float accuracy, ReferenceSystem refSystem){
+        Position position = modelFactory.createPosition();
+        position.setPoint(point3D);
+        Gaussian accrcy = modelFactory.createGaussian();
+        accrcy.setConfidenceInterval(accuracy);
+        position.setAccuracy(accrcy);
+        position.setReferenceSystem(refSystem);
+        return position;
+    }
+
+    public static Point3D createPoint3D(float x, float y, float z){
+        Point3D point3D = modelFactory.createPoint3D();
+        point3D.setX(x);
+        point3D.setY(y);
+        point3D.setZ(z);
+        return point3D;
+    }
+
+    public static Quaternion createOrientation(float x, float y, float z, float w){
+        Quaternion quaternion = modelFactory.createQuaternion();
+        quaternion.setX(x);
+        quaternion.setY(y);
+        quaternion.setZ(z);
+        quaternion.setW(w);
+        return quaternion;
+    }
+
+
+    public static class MonReq2ProtoTransformer implements IPosTransformer.MonReqTransformer<SimpleScene.IposMonitoringRequest>{
+
+        @Override
+        public SimpleScene.IposMonitoringRequest transformMonReq(MonitoringRequest monitoringRequest) {
+            return null;
+        }
+    }
+
+    public static List<IposPositionEvent> transformToInternal(SimpleScene.IposPositionEvent proto_iposPositionEvent){
+        List<IposPositionEvent> iposPositionEvents = proto_iposPositionEvent.getObjectsList().stream()
+                .map(IPos2protoTransformer::transformProtoObjectToInternalPosEvent)
+                .collect(Collectors.toList());
+        return iposPositionEvents;
+    }
+
+    public static ZoneDescriptor transformToInternal(SimpleScene.IposZoneDescriptor proto_zoneDescriptor){
+        ZoneDescriptor zoneDescriptor = modelFactory.createZoneDescriptor();
+        zoneDescriptor.setZoneId(proto_zoneDescriptor.getZoneId());
+        zoneDescriptor.setNotificationType(proto_zoneDescriptor.getNotificationType());
+        return zoneDescriptor;
+    }
+
+    private static IposPositionEvent transformProtoObjectToInternalPosEvent(SimpleScene.IposObject proto_object) {
+        IposPositionEvent iposPositionEvent = devKitFactory.createIposPositionEvent();
+        iposPositionEvent.setAgentId(proto_object.getId());
+        iposPositionEvent.setSensorId(proto_object.getSensorId());
+        iposPositionEvent.setType(proto_object.getType());
+        iposPositionEvent.setSensorType(proto_object.getSensorType());
+        iposPositionEvent.setPosition(
+                createPosition(
+                        IPos2protoTransformer.createPoint3D(
+                                proto_object.getPosition().getPoint().getX(),
+                                proto_object.getPosition().getPoint().getY(),
+                                proto_object.getPosition().getPoint().getZ()
+                        ),
+                        proto_object.getPosition().getAccuracy(),
+                        IPos2protoTransformer.createReferenceSystem("ROOT", "ROOT", null)
+
+                )
+        );
+        iposPositionEvent.setOrientation(
+                IPos2protoTransformer.createOrientation(
+                        proto_object.getOrientation().getX(),
+                        proto_object.getOrientation().getY(),
+                        proto_object.getOrientation().getZ(),
+                        proto_object.getOrientation().getW()
+                )
+        );
+        iposPositionEvent.setLastPosUpdate(proto_object.getLastPosUpdate());
+        List<ZoneDescriptor> zoneDescriptors = proto_object.getZoneDescriptorsList().stream()
+                .map(IPos2protoTransformer::transformToInternal)
+                .collect(Collectors.toList());
+        iposPositionEvent.getZoneDescriptors().addAll(zoneDescriptors);
+        return iposPositionEvent;
+    }
+
+}
diff --git a/src/main/java/ipos/project/devkit/trans/IPosTransformer.java b/src/main/java/ipos/project/devkit/trans/IPosTransformer.java
new file mode 100644
index 0000000000000000000000000000000000000000..729519a9203ba10223e1154b5c469cd397cbb6ee
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/trans/IPosTransformer.java
@@ -0,0 +1,11 @@
+package ipos.project.devkit.trans;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.MonitoringRequest;
+
+public interface IPosTransformer {
+
+    interface MonReqTransformer<K> {
+        K transformMonReq(MonitoringRequest monitoringRequest);
+    }
+
+}
diff --git a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/impl/ExternalPubServiceImpl.java b/src/main/java/ipos/project/devkit/utility/ExternalPubServiceImpl.java
similarity index 96%
rename from src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/impl/ExternalPubServiceImpl.java
rename to src/main/java/ipos/project/devkit/utility/ExternalPubServiceImpl.java
index 2a9c6a75de3515e879b98c88177a14ab15d0fddb..2da127cfdc9f6414c733bdbb1eaf3326c560da96 100644
--- a/src/main/java/ipos/project/DataModellntegration/SimpleSceneIntegration/service/impl/ExternalPubServiceImpl.java
+++ b/src/main/java/ipos/project/devkit/utility/ExternalPubServiceImpl.java
@@ -1,4 +1,4 @@
-package ipos.project.DataModellntegration.SimpleSceneIntegration.service.impl;
+package ipos.project.devkit.utility;
 
 import com.google.protobuf.AbstractMessageLite;
 import ipos.project.DataModellntegration.SimpleSceneIntegration.service.ExternalPubService;
diff --git a/src/main/java/ipos/project/devkit/utility/OtherUtility.java b/src/main/java/ipos/project/devkit/utility/OtherUtility.java
new file mode 100644
index 0000000000000000000000000000000000000000..d37521f2cf59ed2a152978e3a1fa33f593444165
--- /dev/null
+++ b/src/main/java/ipos/project/devkit/utility/OtherUtility.java
@@ -0,0 +1,28 @@
+package ipos.project.devkit.utility;
+
+import ipos.project.SensorValueIntegration.GenericSensorValueProcessor;
+import org.apache.logging.log4j.LogManager;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class OtherUtility {
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    public static List<String> readLines(File initFile) {
+        List<String> lines = new ArrayList<>();
+        try(BufferedReader br = new BufferedReader(new FileReader(initFile))) { // br is automatically closed at the end of try-scope
+            for (String line; (line = br.readLine()) != null; ){
+                lines.add(line);
+            }
+        } catch (IOException e) {
+            LOG.error("Error while reading the text file: ");
+            e.printStackTrace();
+        }
+        return lines;
+    }
+}
diff --git a/src/main/java/ipos/project/mapper/ProtoJsonMap.java b/src/main/java/ipos/project/devkit/utility/ProtoJsonMap.java
similarity index 96%
rename from src/main/java/ipos/project/mapper/ProtoJsonMap.java
rename to src/main/java/ipos/project/devkit/utility/ProtoJsonMap.java
index 00c924f85c6b0b7626e16a32f8dabd0e9e69cc7b..6572ac807f7cabff88fd0925b01f0e5450a9f4dd 100644
--- a/src/main/java/ipos/project/mapper/ProtoJsonMap.java
+++ b/src/main/java/ipos/project/devkit/utility/ProtoJsonMap.java
@@ -1,6 +1,5 @@
-package ipos.project.mapper;
+package ipos.project.devkit.utility;
 
-import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import com.google.protobuf.AbstractMessage.Builder;
 import com.google.protobuf.InvalidProtocolBufferException;
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPicker.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPicker.java
new file mode 100644
index 0000000000000000000000000000000000000000..687f396d5c30e60a8395a4fc866b155650193c3c
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPicker.java
@@ -0,0 +1,87 @@
+package ipos.project.iposextension.orderpicker;
+
+import ipos.models.OFBizOrderpicker;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.*;
+import ipos.project.devkit.iposext.IPosArguments;
+import ipos.project.devkit.iposext.IPosExtension;
+import ipos.project.devkit.utility.OtherUtility;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import ipos.project.iposextension.orderpicker.frontend.FETable;
+import org.apache.logging.log4j.LogManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.File;
+
+/**
+ * This class coordinates all activities required for verifying that the picker
+ * picks all items in the correct order, i.e., in the order defined in the picklist.
+ * An extension of the IPos-FW, that was specifically created for this usecase, is employed.
+ * For each received picklist a ZoneSequenceRecognition-ComplexEventFilter is created.
+ * This filter is part of this IPos-FW and is used for the verification. Also, the
+ * frontend application is initialized and updated to allow the operator to track the
+ * progress of the picker and detect errors.
+ */
+@Component
+public class OFBizOrderPicker {
+    public static final String OP_MONITORINGREQUEST = "{\"monitoringRequests\": [{\"frameIds\": [\"box_1\", \"box_2\", \"box_3\", \"box_4\", \"box_5\", \"box_6\", \"shipmentBin_1\", \"shipmentBin_2\", \"shipmentBin_3\"], \"monitoringTaskId\": \"" + OFBizOrderPicker.TOPIC_POSITION_EVENT + "\", \"serializationType\": \"json\"}]}";
+    public static final String OP_PICKER_ROLE_TYPE = "PICKER";
+    public static final String TOPIC_POSITION_EVENT = "RobolabMonitoringOPExtension";
+    public static final String TOPIC_FRONTEND = "ipos/client/tableWrapper";
+    public static final String PREFIX_SHIPMENTBIN = "shipmentBin_";
+    public static final String PREFIX_INVENTORYITEM = "box_";
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    static IPosExtension ofbizOpIposExt = new OFBizOrderPickerExt();
+
+    public static ExternalPubServiceImpl mqttService;
+
+    @Autowired
+    public OFBizOrderPicker(ExternalPubServiceImpl mqttService_){
+        mqttService = mqttService_;
+        ofbizOpIposExt.setMqttService(mqttService);
+    }
+
+    public static void initialize(){
+        try {
+            ofbizOpIposExt.configureIpos(new IPosArguments.IPosConfigData() {
+            }); // orderpicker-extension has a prepareConfigWrapper-function that does not need any arguments. We are interested in PositionEvents for all available vessels
+        }catch(RuntimeException e){
+            LOG.info("OFBizOrderPicker-Extension of the IPos-FW could not be initialized. Exception-msg: " + e.getMessage());
+            e.printStackTrace();
+        }
+    }
+
+   public static void handlePicklist(Picklist picklist){
+        try {
+            FETable feTable = OFBizOrderPickerTrans.transformPicklistIntoFeTable(picklist);
+            publishFeTableToFeApp(feTable);
+            ((OFBizOrderPickerExt) ofbizOpIposExt).setupECARule(picklist);
+        }catch (RuntimeException e){
+            LOG.info("Picklist could not be handled: " + e.getMessage());
+            e.printStackTrace();
+        }
+    }
+
+    private static void publishFeTableToFeApp(FETable feTable) {
+        OFBizOrderpicker.FEndWrapper proto_fendWrapper = OFBizOrderPickerTrans.transform2proto(feTable);
+        String jsonString = ProtoJsonMap.toJson(proto_fendWrapper);
+        mqttService.publish(OFBizOrderPicker.TOPIC_FRONTEND, jsonString, 0, false);
+        LOG.info("publishing JSON mqttMessage:" + jsonString + " on topic: " + OFBizOrderPicker.TOPIC_FRONTEND);
+    }
+
+    public static void processPicklistTestData(String path_to_test_data_file){
+        File testDataFile = new File(path_to_test_data_file);
+        for (String line : OtherUtility.readLines(testDataFile)) {
+            OFBizOrderPickerMqtt.handleJsonOpWrapper(line);
+          }
+    }
+
+    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);
+        }
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerArgs.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerArgs.java
new file mode 100644
index 0000000000000000000000000000000000000000..3a5bd8e439d2c846b194a62f8424d82ccf9c68a9
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerArgs.java
@@ -0,0 +1,48 @@
+package ipos.project.iposextension.orderpicker;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist;
+import ipos.project.devkit.iposext.IPosArguments;
+
+public class OFBizOrderPickerArgs {
+/*
+    public static class OFBizOrderPickerConf implements IPosArguments.IPosConfigData {
+        private Picklist picklist;
+
+        public OFBizOrderPickerConf(Picklist picklist) {
+            this.picklist = picklist;
+        }
+
+        public Picklist getPicklist() {
+            return picklist;
+        }
+    }
+*/
+
+    /*
+    public static class OFBizOPPosEvtConf implements IPosArguments.HandlePosEventConf{
+        private String picklistId;
+
+        public OFBizOPPosEvtConf(String picklistId) {
+            this.picklistId = picklistId;
+        }
+
+        public String getPicklistId() {
+            return picklistId;
+        }
+    }
+
+     */
+/*
+    public static class OFBizOPEcaConf implements IPosArguments.IPosEcaConfig {
+        private String picklistId;
+
+        public OFBizOPEcaConf(String picklistId) {
+            this.picklistId = picklistId;
+        }
+
+        public String getPicklistId() {
+            return picklistId;
+        }
+    }
+*/
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerExt.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerExt.java
new file mode 100644
index 0000000000000000000000000000000000000000..b69dd6d6bee3af4cef110d9262552bfdd52bc9d8
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerExt.java
@@ -0,0 +1,132 @@
+package ipos.project.iposextension.orderpicker;
+
+import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.SimpleScene;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+import ipos.project.devkit.eca.zseq.ZoneSequenceArgs;
+import ipos.project.devkit.iposext.IPosArguments;
+import ipos.project.devkit.iposext.IPosExtension;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import ipos.project.iposextension.orderpicker.eca.SeqPicklistCondition;
+import ipos.project.iposextension.orderpicker.eca.SeqPicklistRule;
+import org.apache.logging.log4j.LogManager;
+import org.eclipse.emf.common.util.EList;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Optional;
+
+public class OFBizOrderPickerExt extends IPosExtension {
+
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+
+    List<SeqPicklistRule> spRules = new LinkedList<SeqPicklistRule>(); // One ComplexEventFilter is responsible for one picklist
+
+    @Override
+    public void handlePositionEvent(IposPositionEvent posEvent) {
+        IPosArguments.HandlePosEventConf dummyArgument = new IPosArguments.HandlePosEventConf() {};
+        handlePositionEvent(posEvent, dummyArgument);
+    }
+
+    private String extractZoneIdsAsString(EList<ZoneDescriptor> zoneDescriptors) {
+        String zoneIds = "";
+        for (ZoneDescriptor zoneDescriptor : zoneDescriptors){
+            zoneIds += zoneDescriptor.getZoneId() + ", ";
+        }
+        return zoneIds.substring(0, zoneIds.length()-2);
+    }
+
+    @Override
+    public void handlePositionEvent(IposPositionEvent posEvent, IPosArguments.HandlePosEventConf _posEvtConf) {
+        LOG.info("Received IposPositionEvent for agent " + posEvent.getAgentId() + ". Zones: " + extractZoneIdsAsString(posEvent.getZoneDescriptors()));
+        try {
+            // String picklistId = readPicklistId(_posEvtConf);
+            // SeqPicklistRule spRule = getEcaRule(picklistId);
+
+            spRules.forEach(spRule -> spRule.apply(posEvent));
+            /* above: lambda-expression, shortform of:
+
+            spRules.forEach(new Consumer<SeqPicklistRule>(){
+                @Override
+                public void accept(SeqPicklistRule spRule){
+                    spRule.apply(posEvent);
+                }
+            });
+            */
+            // CEFResult cefResult = cef_seq.acceptPositionEvent(posEvent);
+            // handleCefResult(picklistId, cefResult);
+        }catch (RuntimeException e){
+            LOG.info("Exception: " + e.getMessage());
+            return;
+        }
+    }
+    /*
+     private void handleCefResult(String picklistId, CEFResult cefResult) {
+         if(cefResult.isPosEventTriggeredStateChange()){
+             List<ZoneDescriptor> zoneDescriptors = cefResult.getPosEvent().getZonedescriptors();
+             String vesselId = zoneDescriptors.get(0).getZoneId();
+             ofbizOPApp.onPickerStateChange(picklistId, vesselId, cefResult.isPosEventIsInOrder());
+         }
+     }
+
+
+     private SeqPicklistRule getEcaRule(String picklistId) {
+         ECARule cef = getEcaRuleByPicklistId(picklistId);
+         if (! (cef instanceof SeqPicklistRule)){
+             throw new RuntimeException("Received argument of unexpeted type: " + cef.getClass() + " Expected was: " + ZoneSequenceRule.class);
+         }
+         return (SeqPicklistRule) cef;
+     }
+ */
+    /*
+    private String readPicklistId(IPosArguments.HandlePosEventConf _posEvtConf) {
+        if (! (_posEvtConf instanceof OFBizOrderPickerArgs.OFBizOPPosEvtConf)){
+            throw new RuntimeException("Received argument of unexpeted type: " + _posEvtConf.getClass() + " Expected was: " + OFBizOrderPickerArgs.OFBizOPPosEvtConf.class);
+        }
+        OFBizOrderPickerArgs.OFBizOPPosEvtConf posEvtConf = (OFBizOrderPickerArgs.OFBizOPPosEvtConf) _posEvtConf;
+        String picklistId = posEvtConf.getPicklistId();
+        return picklistId;
+    }
+*/
+    @Override
+    public SimpleScene.IposConfigWrapper prepareConfigWrapper(IPosArguments.IPosConfigData iposConfigData) {
+            try {
+                return ProtoJsonMap.fromJson(OFBizOrderPicker.OP_MONITORINGREQUEST, SimpleScene.IposConfigWrapper.class);
+            } catch (InvalidProtocolBufferException e) {
+                throw new RuntimeException("Warning: Monitoring-request could not be parsed (JSON) and translated into Protobuf-data structures: ");
+            }
+        }
+
+    public void setupECARule(Picklist picklist){
+        String pickerId = extractPickerId(picklist).orElseThrow(() -> new RuntimeException("Picklist did not contain the ID of the picker who is responsible for it"));
+        SeqPicklistRule spRule = new SeqPicklistRule(picklist.getPicklistId(), pickerId); // complex event filter for verifying the picker
+        List<ZoneDescriptor> zoneDescriptors = OFBizOrderPickerTrans.picklistToZoneDescriptors(picklist);
+        ZoneSequenceArgs.ZoneSequenceConfigure zsConfigure = new ZoneSequenceArgs.ZoneSequenceConfigure(zoneDescriptors, new SeqPicklistCondition());
+        spRule.configure(zsConfigure);
+        LOG.info("SeqPicklistRule has been created: \n" + spRule.toString());
+        spRules.add(spRule);
+    }
+
+    private Optional<String> extractPickerId(Picklist picklist) {
+        if (picklist.getPicklistRoles().size() == 0){
+            return Optional.empty();
+        }else {
+            String pickerId = picklist.getPicklistRoles().get(0).getPartyId();
+            return Optional.of(pickerId);
+        }
+
+    }
+
+    /*
+    public Optional<ECARule> getEcaRuleByPicklistId(String picklistId) {
+        ECARule ecaRule = spRules.get(picklistId);
+        if(ecaRule == null){
+            return Optional.empty();
+        } else {
+            return Optional.of(ecaRule);
+        }
+    }
+*/
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerMqtt.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerMqtt.java
new file mode 100644
index 0000000000000000000000000000000000000000..c4f3d499e1b94c523e9979928e7bec22f629e372
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerMqtt.java
@@ -0,0 +1,56 @@
+package ipos.project.iposextension.orderpicker;
+
+import com.google.protobuf.InvalidProtocolBufferException;
+import ipos.models.OFBizOrderpicker;
+import ipos.models.SimpleScene;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.Picklist;
+import ipos.project.config.mqtt.Handler;
+import ipos.project.config.mqtt.MqttListener;
+import ipos.project.devkit.trans.IPos2protoTransformer;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import org.eclipse.paho.client.mqttv3.MqttMessage;
+
+import java.util.List;
+
+@MqttListener(OFBizOrderPicker.TOPIC_POSITION_EVENT)
+public class OFBizOrderPickerMqtt implements Handler {
+    // ich denke: die meiste MQTT-Funktionalität sollte von einer Klasse aus dem IPos-extension-package geerbt werden
+    // hier sollte nur die Weiterleitung des PositionEvents mit der picklistId an die korrekte Klasse (OFBizOrderPickerExt.handlePositioneEvent) sichergestellt werden
+    // reception: has to call OFBizOrderPickerExt.handlePositionEvent
+    // reception: the name of the picklist shall equal the name of the topic that PositionEvents for this picklist are sent to
+    // horchen auf RobolabMonitoringOPExtension (IPos-FW sendet dort gemäß monitoringrequest die PositionEvents hin)
+
+    public static void handleJsonOpWrapper(String jsonMsg){
+        try {
+            OFBizOrderpicker.OrderpickerWrapper opWrapper = ProtoJsonMap.fromJson(jsonMsg, OFBizOrderpicker.OrderpickerWrapper.class);
+            for (OFBizOrderpicker.OFBizPicklist proto_Picklist : opWrapper.getPicklistsList()){
+                processPicklist(proto_Picklist);
+            }
+        } catch (InvalidProtocolBufferException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static void processPicklist(OFBizOrderpicker.OFBizPicklist proto_picklist) {
+        Picklist picklist = OFBizOrderPickerTrans.protoPicklist2Internal(proto_picklist);
+        OFBizOrderPicker.handlePicklist(picklist);
+    }
+
+    @Override
+    public void handle(MqttMessage message) {
+        handleJsonPosEvt(message.toString());
+    }
+
+    public static void handleJsonPosEvt(String jsonPosEvt){
+        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);
+            }
+        } catch (InvalidProtocolBufferException e) {
+            e.printStackTrace();
+        }
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerTrans.java b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerTrans.java
new file mode 100644
index 0000000000000000000000000000000000000000..67d734b934cab3c78ccf975420d1f8a352504b92
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/OFBizOrderPickerTrans.java
@@ -0,0 +1,169 @@
+package ipos.project.iposextension.orderpicker;
+
+import ipos.models.OFBizOrderpicker;
+import ipos.project.DataModellntegration.iPos_Datamodel.IPos_DatamodelFactory;
+import ipos.project.DataModellntegration.iPos_Datamodel.OFBiz.*;
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+import ipos.project.iposextension.orderpicker.frontend.FEInitRow;
+import ipos.project.iposextension.orderpicker.frontend.FETable;
+
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class OFBizOrderPickerTrans {
+    private static IPos_DatamodelFactory modelFactory = IPos_DatamodelFactory.eINSTANCE;
+    private static OFBizFactory ofbizFactory = OFBizFactory.eINSTANCE;
+
+    public static Picklist protoPicklist2Internal(OFBizOrderpicker.OFBizPicklist proto_picklist) {
+        Picklist picklist = ofbizFactory.createPicklist();
+        picklist.setPicklistId(proto_picklist.getPicklistId());
+        List<PicklistRole> picklistRoles = proto_picklist.getPicklistRolesList().stream()
+                        .map(OFBizOrderPickerTrans::protoPicklistRole2Internal)
+                        .collect(Collectors.toList());
+        picklist.getPicklistRoles().addAll(picklistRoles);
+        List<PicklistBin> picklistBins = proto_picklist.getPicklistBinsList().stream()
+                .map(OFBizOrderPickerTrans::protoPicklistBin2Internal)
+                .collect(Collectors.toList());
+        picklist.getPicklistBins().addAll(picklistBins);
+        return picklist;
+    }
+
+    private static PicklistBin protoPicklistBin2Internal(OFBizOrderpicker.OFBizPicklistBin ofBizPicklistBin) {
+        PicklistBin picklistBin = ofbizFactory.createPicklistBin();
+        picklistBin.setPicklistId(ofBizPicklistBin.getPicklistId());
+        picklistBin.setBinLocationNumber(ofBizPicklistBin.getBinLocationNumber());
+        List<PicklistItem> picklistItems = ofBizPicklistBin.getPicklistItemsList().stream()
+                        .map(OFBizOrderPickerTrans:: protoPicklistItem2Internal)
+                        .collect(Collectors.toList());
+        picklistBin.getPicklistItems().addAll(picklistItems);
+        return picklistBin;
+    }
+
+    private static PicklistItem protoPicklistItem2Internal(OFBizOrderpicker.OFBizPicklistItem proto_picklistItem) {
+        PicklistItem picklistItem = ofbizFactory.createPicklistItem();
+        InventoryItem inventoryItem = ofbizFactory.createInventoryItem();
+        OFBizOrderpicker.OFBizInventoryItem proto_inventoryItem = proto_picklistItem.getInventoryItem();
+        inventoryItem.setInventoryItemId(proto_inventoryItem.getInventoryItemId());
+        inventoryItem.setContainerId(proto_inventoryItem.getContainerId());
+        inventoryItem.setProductId(proto_inventoryItem.getProductId());
+        picklistItem.setInventoryItem(inventoryItem);
+        return picklistItem;
+    }
+
+    private static PicklistRole protoPicklistRole2Internal(OFBizOrderpicker.OFBizPicklistRole ofbizPicklistRole) {
+        PicklistRole picklistRole = ofbizFactory.createPicklistRole();
+        picklistRole.setPicklistId(ofbizPicklistRole.getPicklistId());
+        picklistRole.setPartyId(ofbizPicklistRole.getPartyId());
+        picklistRole.setRoleTypeId(ofbizPicklistRole.getRoleTypeId());
+        return picklistRole;
+    }
+
+    static OFBizOrderpicker.FEndWrapper transform2proto(FETable feTable) {
+        OFBizOrderpicker.FEndWrapper.Builder proto_fendWrapper = OFBizOrderpicker.FEndWrapper.newBuilder();
+        OFBizOrderpicker.FEndInitPicklist.Builder proto_fendInitPicklist = OFBizOrderpicker.FEndInitPicklist.newBuilder();
+        proto_fendInitPicklist.setPicklistId(feTable.getPicklistId());
+        proto_fendInitPicklist.setPickerId(feTable.getPickerId());
+        List<OFBizOrderpicker.FEndInitRow> feInitRows = feTable.getFeInitRows().stream()
+                        .map(OFBizOrderPickerTrans::transform2proto)
+                        .collect(Collectors.toList());
+        proto_fendInitPicklist.addAllFEndInitRows(feInitRows);
+        proto_fendWrapper.addFEndInitPicklists(proto_fendInitPicklist);
+        return proto_fendWrapper.build();
+    }
+
+    private static OFBizOrderpicker.FEndInitRow transform2proto(FEInitRow feInitRow) {
+        OFBizOrderpicker.FEndInitRow.Builder proto_feInitRow = OFBizOrderpicker.FEndInitRow.newBuilder();
+        proto_feInitRow.setIndex(feInitRow.getIndex());
+        proto_feInitRow.setProductId(feInitRow.getProductId());
+        proto_feInitRow.setInventoryItemSoll(feInitRow.getInventoryItem_Soll());
+        proto_feInitRow.setShipmentBinNrSoll(feInitRow.getShipmentBinNr_Soll());
+        return proto_feInitRow.build();
+    }
+
+    /**
+     * Note to the implementation: A picklistBin knows multiple picklistItems, i.e., multiple tableRows,
+     * and is therefore transformed into a list of tableRows ("feInitRow"). flatMap prevents us from
+     * obtaining a List<List<FEInitRow>>.
+     * Directly collecting the result of transformBin2Rows would result in such a nested list. Due to
+     * flatMap we obtain a flattened version of it: List<FEInitRow>
+     * @param picklist
+     * @return
+     */
+    static FETable transformPicklistIntoFeTable(Picklist picklist) {
+        String picklistId = picklist.getPicklistId();
+        List<PicklistRole> pickerRoles = safelyExtractPickerRoles(picklist);
+        String pickerId = pickerRoles.get(0).getPartyId();
+        List<FEInitRow> feInitRows = picklist.getPicklistBins()
+                .stream()
+                .map(OFBizOrderPickerTrans::transformBin2Rows)
+                .flatMap(Collection::stream)
+                .collect(Collectors.toList());
+       setRowIndices(feInitRows);
+        return new FETable(picklistId, pickerId, feInitRows);
+    }
+
+    private static void setRowIndices(List<FEInitRow> feInitRows) {
+        int rowIdx = 1;
+        for (FEInitRow feInitRow : feInitRows){
+            feInitRow.setRowIdx(rowIdx);
+            rowIdx++;
+        }
+    }
+
+    private static List<PicklistRole> safelyExtractPickerRoles(Picklist picklist) {
+        List<PicklistRole> pickerRoles = picklist.getPicklistRoles()
+                .stream()
+                .filter(c -> c.getRoleTypeId().equals(OFBizOrderPicker.OP_PICKER_ROLE_TYPE))
+                .collect(Collectors.toList());
+        if (pickerRoles.size() == 0){
+            throw new RuntimeException("There is no picker associated to the picklist");
+        }else if (pickerRoles.size() > 1){
+            throw new RuntimeException("There are multiple pickers associated to the picklist");
+        }
+        return pickerRoles;
+    }
+
+    private static List<FEInitRow> transformBin2Rows(PicklistBin picklistBin) {
+        List<FEInitRow> feInitRows = new LinkedList<FEInitRow>();
+        for (PicklistItem picklistItem : picklistBin.getPicklistItems()){
+            InventoryItem inventoryItem = picklistItem.getInventoryItem();
+            String productId = inventoryItem.getProductId();
+            String inventoryItem_Soll = inventoryItem.getContainerId();
+            int shipmentBinNr_Soll = picklistBin.getBinLocationNumber();
+            FEInitRow feInitRow = new FEInitRow(-1, productId, inventoryItem_Soll, shipmentBinNr_Soll);
+            feInitRows.add(feInitRow);
+        }
+        return feInitRows;
+    }
+
+    static List<ZoneDescriptor> picklistToZoneDescriptors(Picklist picklist) {
+        FETable feTable = OFBizOrderPickerTrans.transformPicklistIntoFeTable(picklist); // the ECA-rule shall expect the position events to arrive exactly in the order displayed in the frontend-table
+        List<ZoneDescriptor> zoneDescriptors = feTable.getFeInitRows().stream()
+                .map(OFBizOrderPickerTrans::feTableRowToZoneDescriptors)
+                .flatMap(Collection::stream)
+                .collect(Collectors.toList());
+        return zoneDescriptors;
+    }
+
+    static List<ZoneDescriptor> feTableRowToZoneDescriptors(FEInitRow feInitRow) {
+        List<ZoneDescriptor> zoneDescriptors = new LinkedList<>();
+        zoneDescriptors.add(extractInvItemZoneDescFromRow(feInitRow));
+        zoneDescriptors.add(extractShipmentBinZoneDescFromRow(feInitRow));
+        return zoneDescriptors;
+    }
+
+    private static ZoneDescriptor extractShipmentBinZoneDescFromRow(FEInitRow feInitRow) {
+        ZoneDescriptor shipBin_zoneDescriptor = modelFactory.createZoneDescriptor();
+        shipBin_zoneDescriptor.setZoneId(OFBizOrderPicker.PREFIX_SHIPMENTBIN + feInitRow.getShipmentBinNr_Soll());
+        return shipBin_zoneDescriptor;
+    }
+
+    private static ZoneDescriptor extractInvItemZoneDescFromRow(FEInitRow feInitRow) {
+        ZoneDescriptor invItem_zoneDescriptor = modelFactory.createZoneDescriptor();
+        invItem_zoneDescriptor.setZoneId(feInitRow.getInventoryItem_Soll());
+        return invItem_zoneDescriptor;
+    }
+
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/eca/SeqPicklistCondition.java b/src/main/java/ipos/project/iposextension/orderpicker/eca/SeqPicklistCondition.java
new file mode 100644
index 0000000000000000000000000000000000000000..1a68ecb7964bd279805845edeb3568b77dc66436
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/eca/SeqPicklistCondition.java
@@ -0,0 +1,29 @@
+package ipos.project.iposextension.orderpicker.eca;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.ZoneDescriptor;
+import ipos.project.devkit.eca.zseq.StageChangeAction;
+import ipos.project.devkit.eca.zseq.ZoneSequenceCondition;
+import ipos.project.devkit.eca.zseq.ZoneSequenceStage;
+
+public class SeqPicklistCondition extends ZoneSequenceCondition {
+
+    int timesCalled = 0;
+
+    /**
+     *
+     * @param zoneDescriptor describes the zone, i.e. the inventory- or shipmentBinItem, that the received Position(Event) has been found be located into by the IPos-FW
+     * @return
+     */
+    @Override
+    public StageChangeAction evaluateStageChangeIntoAction(ZoneDescriptor zoneDescriptor){
+        timesCalled++;
+        int index = (int) Math.ceil(timesCalled/2.0); // number of the line of the frontend-app table should be updated. Each second StageChange changes the line number
+        ZoneSequenceStage nextStage = currentStage.getNextStage(); // assumption: ZoneSequenceRule::isApplicable rejects the event if the corresponding picklist has been finished (when
+        String nextItemId = nextStage.getEventDescriptors().get(0).getZoneId();
+        boolean isCorrect = zoneDescriptor.getZoneId().equals(nextItemId);
+        String itemId = zoneDescriptor.getZoneId();
+        UpdateFrontendAction updateFrontendAction = new UpdateFrontendAction(index, isCorrect, itemId);
+        return updateFrontendAction;
+    }
+
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/eca/SeqPicklistRule.java b/src/main/java/ipos/project/iposextension/orderpicker/eca/SeqPicklistRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..c1b796b81df321a12cc7851c18049757d9cf356c
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/eca/SeqPicklistRule.java
@@ -0,0 +1,42 @@
+package ipos.project.iposextension.orderpicker.eca;
+
+import ipos.project.DataModellntegration.iPos_Datamodel.IPosDevKit.IposPositionEvent;
+import ipos.project.devkit.eca.zseq.ZoneSequenceRule;
+
+public class SeqPicklistRule extends ZoneSequenceRule {
+    private String picklistId;
+    private String pickerId;
+
+    public SeqPicklistRule(String picklistId, String pickerId) {
+        this.picklistId = picklistId;
+        this.pickerId = pickerId;
+    }
+
+    public String getPicklistId() {
+        return picklistId;
+    }
+
+    public String getPickerId() {
+        return pickerId;
+    }
+
+    @Override
+    public String toString() {
+        String strRepresentation = "SeqPicklistRule: \n picklistId: " + picklistId + "\n pickerId: " + pickerId + "\n";
+        strRepresentation += zsCondition.toString();
+        return strRepresentation;
+
+    }
+
+    @Override
+    public boolean isApplicable(IposPositionEvent posEvent){
+        boolean picklistHasBeenFinished = zsCondition.getCurrentStage().getNextStage() == null;
+        boolean isApplicable = this.pickerId.equals(posEvent.getAgentId()) & (!picklistHasBeenFinished);
+        return super.isApplicable(posEvent) & isApplicable;
+    }
+
+    //@Override
+    //public StageChangeAction createSCAction() {
+    //    return null;
+    //}
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/eca/UpdateFrontendAction.java b/src/main/java/ipos/project/iposextension/orderpicker/eca/UpdateFrontendAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..c00bcb8400b9f406c70e9d5245a499a055e1ad0a
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/eca/UpdateFrontendAction.java
@@ -0,0 +1,62 @@
+package ipos.project.iposextension.orderpicker.eca;
+
+import ipos.models.OFBizOrderpicker;
+import ipos.project.devkit.eca.zseq.StageChangeAction;
+import ipos.project.devkit.utility.ExternalPubServiceImpl;
+import ipos.project.devkit.utility.ProtoJsonMap;
+import ipos.project.iposextension.orderpicker.OFBizOrderPicker;
+import ipos.project.iposextension.orderpicker.frontend.FETransformer;
+import ipos.project.iposextension.orderpicker.frontend.FEUpdateInventoryItem;
+import ipos.project.iposextension.orderpicker.frontend.FEUpdateShipmentBin;
+import org.apache.logging.log4j.LogManager;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class UpdateFrontendAction extends StageChangeAction {
+    private static org.apache.logging.log4j.Logger LOG = LogManager.getLogger();
+    private final int index;
+    private final boolean isCorrect;
+    private final String itemId;
+
+   // @Autowired
+   // public static ExternalPubServiceImpl mqttService;
+
+    public UpdateFrontendAction(int index, boolean isCorrect, String itemId) {
+        super();
+        this.index = index;
+        this.isCorrect = isCorrect;
+        this.itemId = itemId;
+    }
+
+    @Override
+    public void execute() {
+        if (isInventoryItem(this.itemId)){
+            FEUpdateInventoryItem feUpdInvItem = new FEUpdateInventoryItem(index, isCorrect, itemId);
+            OFBizOrderpicker.FEndUpdateInventoryItem proto_invItem = FETransformer.transformIntoProto(feUpdInvItem);
+            String jsonString = ProtoJsonMap.toJson(proto_invItem);
+            OFBizOrderPicker.mqttService.publish(OFBizOrderPicker.TOPIC_FRONTEND, jsonString, 0, false);
+            LOG.info("publishing JSON-InventoryItem mqtt update-message to OP-Frontend-app:" + jsonString + " on topic: " + OFBizOrderPicker.TOPIC_FRONTEND);
+        }else if(isShipmentBin(this.itemId)) {
+            int shipmentBinNr = extractShipmentBinNr(this.itemId);
+            FEUpdateShipmentBin feUpdShipBinNr = new FEUpdateShipmentBin(index, isCorrect, shipmentBinNr);
+            OFBizOrderpicker.FEndUpdateShipmentBin proto_shipBin = FETransformer.transformIntoProto(feUpdShipBinNr);
+            String jsonString = ProtoJsonMap.toJson(proto_shipBin);
+            OFBizOrderPicker.mqttService.publish(OFBizOrderPicker.TOPIC_FRONTEND, jsonString, 0, false);
+            LOG.info("publishing JSON-ShipmentBin mqtt update-message to OP-Frontend-app:" + jsonString + " on topic: " + OFBizOrderPicker.TOPIC_FRONTEND);
+        } else {
+            LOG.info("Warning: Could not react to StageChange, as vessel-type could not be determined");
+            return;
+        }
+    }
+
+    private int extractShipmentBinNr(String itemId) {
+        return Integer.parseInt(itemId.split("_")[1]);
+    }
+
+    private boolean isShipmentBin(String itemId) {
+        return itemId.startsWith(OFBizOrderPicker.PREFIX_SHIPMENTBIN);
+    }
+
+    private boolean isInventoryItem(String itemId) {
+        return itemId.startsWith(OFBizOrderPicker.PREFIX_INVENTORYITEM);
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEInitRow.java b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEInitRow.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc6da5856f24f8d60e419f660b1427a1750ddc3f
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEInitRow.java
@@ -0,0 +1,35 @@
+package ipos.project.iposextension.orderpicker.frontend;
+
+public class FEInitRow {
+    public FEInitRow(int index, String productId, String inventoryItem_Soll, int shipmentBinNr_Soll) {
+        this.index = index;
+        this.productId = productId;
+        this.inventoryItem_Soll = inventoryItem_Soll;
+        this.shipmentBinNr_Soll = shipmentBinNr_Soll;
+    }
+
+    int index;
+    String productId;
+    String inventoryItem_Soll;
+    int shipmentBinNr_Soll;
+
+    public int getIndex() {
+        return index;
+    }
+
+    public String getProductId() {
+        return productId;
+    }
+
+    public String getInventoryItem_Soll() {
+        return inventoryItem_Soll;
+    }
+
+    public int getShipmentBinNr_Soll() {
+        return shipmentBinNr_Soll;
+    }
+
+    public void setRowIdx(int rowIdx){
+        this.index = rowIdx;
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/frontend/FETable.java b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FETable.java
new file mode 100644
index 0000000000000000000000000000000000000000..40eb2e8e38be86e054687ae7d9af2c0b4af404e1
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FETable.java
@@ -0,0 +1,27 @@
+package ipos.project.iposextension.orderpicker.frontend;
+
+import java.util.List;
+
+public class FETable {
+    String picklistId;
+    String pickerId;
+    List<FEInitRow> feInitRows;
+
+    public String getPicklistId() {
+        return picklistId;
+    }
+
+    public String getPickerId() {
+        return pickerId;
+    }
+
+    public List<FEInitRow> getFeInitRows() {
+        return feInitRows;
+    }
+
+    public FETable(String picklistId, String pickerId, List<FEInitRow> feInitRows) {
+        this.picklistId = picklistId;
+        this.pickerId = pickerId;
+        this.feInitRows = feInitRows;
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/frontend/FETransformer.java b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FETransformer.java
new file mode 100644
index 0000000000000000000000000000000000000000..1a6a08d07b3b067e3ed61d3191f6349eb37547db
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FETransformer.java
@@ -0,0 +1,21 @@
+package ipos.project.iposextension.orderpicker.frontend;
+
+import ipos.models.OFBizOrderpicker;
+
+public class FETransformer {
+    public static OFBizOrderpicker.FEndUpdateInventoryItem transformIntoProto(FEUpdateInventoryItem feUpdInvItem) {
+        OFBizOrderpicker.FEndUpdateInventoryItem.Builder proto_invItem = OFBizOrderpicker.FEndUpdateInventoryItem.newBuilder();
+        proto_invItem.setIndex(feUpdInvItem.getIndex());
+        proto_invItem.setIsCorrect(feUpdInvItem.isCorrect());
+        proto_invItem.setInventoryItemIst(feUpdInvItem.getInventoryItem_Ist());
+        return proto_invItem.build();
+    }
+
+    public static OFBizOrderpicker.FEndUpdateShipmentBin transformIntoProto(FEUpdateShipmentBin feUpdShipBinNr) {
+        OFBizOrderpicker.FEndUpdateShipmentBin.Builder proto_shipBin = OFBizOrderpicker.FEndUpdateShipmentBin.newBuilder();
+        proto_shipBin.setIndex(feUpdShipBinNr.getIndex());
+        proto_shipBin.setIsCorrect(feUpdShipBinNr.isCorrect());
+        proto_shipBin.setShipmentBinNrIst(feUpdShipBinNr.getShipmentBinNr_Ist());
+        return proto_shipBin.build();
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateInventoryItem.java b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateInventoryItem.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ab79a41877f03559d441cc6b5d4ca683eecb0b7
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateInventoryItem.java
@@ -0,0 +1,14 @@
+package ipos.project.iposextension.orderpicker.frontend;
+
+public class FEUpdateInventoryItem extends FEUpdateRow {
+    String inventoryItem_Ist;
+
+    public FEUpdateInventoryItem(int index, boolean isCorrect, String inventoryItem_Ist) {
+        super(index, isCorrect);
+        this.inventoryItem_Ist = inventoryItem_Ist;
+    }
+
+    public String getInventoryItem_Ist() {
+        return inventoryItem_Ist;
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateRow.java b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateRow.java
new file mode 100644
index 0000000000000000000000000000000000000000..b007a0cbbcc5992123280649beecf099f4ffa941
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateRow.java
@@ -0,0 +1,19 @@
+package ipos.project.iposextension.orderpicker.frontend;
+
+public class FEUpdateRow {
+    int index;
+    boolean isCorrect;
+
+    public FEUpdateRow(int index, boolean isCorrect) {
+        this.index = index;
+        this.isCorrect = isCorrect;
+    }
+
+    public int getIndex() {
+        return index;
+    }
+
+    public boolean isCorrect() {
+        return isCorrect;
+    }
+}
diff --git a/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateShipmentBin.java b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateShipmentBin.java
new file mode 100644
index 0000000000000000000000000000000000000000..2c53c92b55ea9426b836a8229c3c0e13bb8b8825
--- /dev/null
+++ b/src/main/java/ipos/project/iposextension/orderpicker/frontend/FEUpdateShipmentBin.java
@@ -0,0 +1,14 @@
+package ipos.project.iposextension.orderpicker.frontend;
+
+public class FEUpdateShipmentBin extends FEUpdateRow{
+    int shipmentBinNr_Ist;
+
+    public FEUpdateShipmentBin(int index, boolean isCorrect, int shipmentBinNr_Ist) {
+        super(index, isCorrect);
+        this.shipmentBinNr_Ist = shipmentBinNr_Ist;
+    }
+
+    public int getShipmentBinNr_Ist() {
+        return shipmentBinNr_Ist;
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index cc75fe88d2afba2fc940c4ebcc1ac1edcacf051d..2933f2c4284f8a81628750f771b7a4823af0cb83 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,7 +1,7 @@
 logging:
   level:
     ipos: DEBUG
-  config: .\logback-spring.xml
+  config: logback-spring.xml
 server:
   port: 7071
 
@@ -13,12 +13,12 @@ mqtt:
   connectionTimeout: 20
   clientId: ipos.project.fw
   # hostname: 192.168.0.111 # ceti-laptop robolab
-  hostname: broker.hivemq.com # online
+  # hostname: broker.hivemq.com # online
   # hostname: 192.168.0.143 # Frank-laptop robolab
-  # hostname: localhost
+  hostname: localhost
   port: 1883
 
 spring:
   activemq:
     packages:
-      trusted: ipos.models, com.google.protobuf
\ No newline at end of file
+      trusted: ipos.models, com.google.protobuf # JMS serializes just trusted classes
\ No newline at end of file
diff --git a/testdata_raw_orderpicker.txt b/testdata_raw_orderpicker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..52b48e1e1c280351b6241452eb24a42e7eb123c4
--- /dev/null
+++ b/testdata_raw_orderpicker.txt
@@ -0,0 +1 @@
+{"picklists" : [{  	"picklistId" : "picklist_1", 	"picklistRoles" : [ 		{ "picklistId" : "Picklist_1", 		  "partyId" : "Employee_1", 		  "roleTypeId" : "PICKER" 		 		} 	], 	"picklistBins" : [  		{ 			"picklistId" : "picklist_1", 			"binLocationNumber" : 4,  			"picklistItems" : [ 				{ 					"inventoryItem" :  					{ 						"inventoryItemId" : "invit1", 						"containerId" : "box_1",  						"productId" : "Rasierer" 					} 				} 			] 		}, 		{ 			"picklistId" : "picklist_1", 			"binLocationNumber" : 3,  			"picklistItems" : [ 				{ 					"inventoryItem" :  					{ 						"inventoryItemId" : "invit3", 						"containerId" : "box_3",  						"productId" : "Smartphone" 					} 				}, 				{ 				"inventoryItem" :  					{ 						"inventoryItemId" : "invit5", 						"containerId" : "box_5",  						"productId" : "Bohrmaschine"					 					} 				}, 				{ 				"inventoryItem" :  					{ 						"inventoryItemId" : "invit2", 						"containerId" : "box_2",  						"productId" : "Hammer"					 					} 				} 			] 		 		} 	 	]     }]}
\ No newline at end of file
diff --git a/testdata_raw_orderpicker_posEvts.txt b/testdata_raw_orderpicker_posEvts.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bdd729b42e85e25ac8f5554a2cbee22233b04e9f
--- /dev/null
+++ b/testdata_raw_orderpicker_posEvts.txt
@@ -0,0 +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" : "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"}] 	} ]}
+{"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"}] 	} ]}
+{"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"}] 	} ]}
+{"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
new file mode 100644
index 0000000000000000000000000000000000000000..c549bbea706b1bec861ad7c45df9f9bf6c9c2259
--- /dev/null
+++ b/testdata_raw_orderpicker_posEvts_readable.txt
@@ -0,0 +1,96 @@
+{"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"}]
+	}
+]}
+{"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"}]
+	}
+]}
+{"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"}]
+	}
+]}
+{"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"}]
+	}
+]}
\ No newline at end of file
diff --git a/testdata_raw_orderpicker_readable.txt b/testdata_raw_orderpicker_readable.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c95c5b661920f9a43e64166a36b4b461369a28b7
--- /dev/null
+++ b/testdata_raw_orderpicker_readable.txt
@@ -0,0 +1,59 @@
+{"picklists" : [{ 
+	"picklistId" : "picklist_1",
+	"picklistRoles" : [
+		{ "picklistId" : "Picklist_1",
+		  "partyId" : "Employee_1",
+		  "roleTypeId" : "PICKER"
+		
+		}
+	],
+	"picklistBins" : [ 
+		{
+			"picklistId" : "picklist_1",
+			"binLocationNumber" : 4, 
+			"picklistItems" : [
+				{
+					"inventoryItem" : 
+					{
+						"inventoryItemId" : "invit1",
+						"containerId" : "box_1", 
+						"productId" : "Rasierer"
+					}
+				}
+			]
+		},
+		{
+			"picklistId" : "picklist_1",
+			"binLocationNumber" : 3, 
+			"picklistItems" : [
+				{
+					"inventoryItem" : 
+					{
+						"inventoryItemId" : "invit3",
+						"containerId" : "box_3", 
+						"productId" : "Smartphone"
+					}
+				},
+				{
+				"inventoryItem" : 
+					{
+						"inventoryItemId" : "invit5",
+						"containerId" : "box_5", 
+						"productId" : "Bohrmaschine"					
+					}
+				},
+				{
+				"inventoryItem" : 
+					{
+						"inventoryItemId" : "invit2",
+						"containerId" : "box_2", 
+						"productId" : "Hammer"					
+					}
+				}
+			]
+		
+		}
+	
+	]
+
+   }]}
\ No newline at end of file