diff --git a/TS-0041-oneM2M-SensorThings_interworking.md b/TS-0041-oneM2M-SensorThings_interworking.md index 30540e85d5d6283692d1235c85453f8edba409fe..7dd9700e98b7b235c25edc5fac9d7f9d2ff612e0 100644 --- a/TS-0041-oneM2M-SensorThings_interworking.md +++ b/TS-0041-oneM2M-SensorThings_interworking.md @@ -73,6 +73,7 @@ References are either specific (identified by date of publication and/or edition - <a name="_ref_1">[1]</a> OGC SensorThings API "Part 1: Sensing Version 1.1" (http://www.opengis.net/doc/is/sensorthings/1.1) +- <a name="_ref_2">[2]</a> oneM2M TS-0033 (V3.0.0): "Interworking Framework" ## 2.2 Informative references @@ -174,8 +175,33 @@ The Sensing Entities data model and the purpose of data within the data model di - Data embedded in the Sensing Entities Data Model, like "historic locations" should be seen as data for documentation purposes. -## 5.1 User defined subdivisions of clause(s) from here onwards -<Text> + +# 6 Architecture Model of OGC/STA to oneM2M interworking + +## 6.0 Introduction + +Figure 6.0-1 shows an architecture approach for an Interworking Proxy Entity (IPE) between oneM2M and the OGC SensorThings API. The IPE is located between a oneM2M CSE and an OGC/SensorThings API (STA)-Server. + +The basic interworking enables applications that are connected to an oneM2M-based system to get data from sensors that are connected to an OGC/STA server. Furthermore, an application that is connected to an OGC/STA server will be able to get data from sensors that are connected to an oneM2M-based system. + +<figure> + <img src="media/STA_oneM2M_architekturbild_01.svg" alt="arch_overview"> + <figcaption>Figure 6.0-1: IPE architecture overview</figcaption> +</figure> + +## 6.1 OGC/STA-to-oneM2M Data Model Mapping + +According to oneM2M TS-0033 <a href="#_ref_2">[2]</a> a representation of a non-oneM2M Proximal IoT function/device in a oneM2M-specified resource instance is to be synchronized with the entity that it represents. Thus the OGC/STA data model has to be represented in the hosting CSE. The SensorThings data model is comprehensive and should be regarded as a n:m relational database structure, holding both: +- sensor (IoT-data); and +- administrative data (like historic locations or historic products IDs). + +The IPE shall map the 'result' attribute of an OGC/STA 'Observation' to the 'content' attribute of a oneM2M <contentInstance>, and vice versa as shown in Figure 6.1-1. + +<figure> + <img src="media/data_mapping.svg" alt="data_mapping"> + <figcaption>Figure 6.1-1: OGC / STA-to-oneM2M data model mapping</figcaption> +</figure> + <mark>The following text is to be used when appropriate:</mark> diff --git a/media/STA_oneM2M_architekturbild_01.svg b/media/STA_oneM2M_architekturbild_01.svg new file mode 100644 index 0000000000000000000000000000000000000000..cefd7791475a1970ac5d269a840581d47d62d682 --- /dev/null +++ b/media/STA_oneM2M_architekturbild_01.svg @@ -0,0 +1,345 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generiert durch Microsoft Visio, SVG Export STA_oneM2M_architekturbild_01.svg Zeichenblatt-1 --> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" + xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="9.57735in" height="5.12853in" + viewBox="0 0 689.569 369.254" xml:space="preserve" color-interpolation-filters="sRGB" class="st10"> + <v:documentProperties v:langID="1031" v:metric="true" v:viewMarkup="false"/> + + <style type="text/css"> + <![CDATA[ + .st1 {fill:#d8d8d8;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75} + .st2 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75} + .st3 {fill:#f2f2f2;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75} + .st4 {fill:#000000;font-family:Calibri;font-size:1.00001em} + .st5 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75} + .st6 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:3} + .st7 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75} + .st8 {font-size:1em} + .st9 {fill:#000000;font-family:Calibri;font-size:0.833336em} + .st10 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3} + ]]> + </style> + + <g v:mID="0" v:index="1" v:groupContext="foregroundPage"> + <title>Zeichenblatt-1</title> + <v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" + v:shadowOffsetY="-8.50394"/> + <g id="group1003-1" transform="translate(0.375,-0.375)" v:mID="1003" v:groupContext="group"> + <title>Tabelle.1003</title> + <g id="group163-2" v:mID="163" v:groupContext="group"> + <title>Tabelle.163</title> + <g id="shape57-3" v:mID="57" v:groupContext="shape"> + <title>Tabelle.57</title> + <rect x="0" y="0.749996" width="334.488" height="368.504" class="st1"/> + </g> + <g id="shape116-5" v:mID="116" v:groupContext="shape" transform="translate(126.85,-309.472)"> + <title>Tabelle.116</title> + <rect x="0" y="322.482" width="46.7717" height="46.7717" class="st2"/> + </g> + <g id="shape58-7" v:mID="58" v:groupContext="shape" transform="translate(354.331,5.68434E-14)"> + <title>Tabelle.58</title> + <rect x="0" y="0.749996" width="334.488" height="368.504" class="st3"/> + </g> + <g id="shape11-9" v:mID="11" v:groupContext="shape" transform="translate(105.945,-131.953)"> + <title>Tabelle.11</title> + <desc>Backends</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="46.4173" cy="348.703" width="92.84" height="41.1024"/> + <ellipse cx="46.4173" cy="348.703" rx="46.4173" ry="20.5512" class="st2"/> + <text x="23.38" y="352.3" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>Backends</text> </g> + <g id="group12-12" transform="translate(131.811,-62.8038)" v:mID="12" v:groupContext="group"> + <title>Tabelle.12</title> + <g id="shape13-13" v:mID="13" v:groupContext="shape"> + <title>Tabelle.13</title> + <ellipse cx="20.5512" cy="348.703" rx="20.5512" ry="20.5512" class="st2"/> + </g> + <g id="shape14-15" v:mID="14" v:groupContext="shape" transform="translate(0.0185127,-19.6791)"> + <title>Tabelle.14</title> + <path d="M0 369.25 L41.07 369.25" class="st5"/> + </g> + <g id="shape15-18" v:mID="15" v:groupContext="shape" transform="translate(389.596,328.153) rotate(90)"> + <title>Tabelle.15</title> + <path d="M0 369.25 L41.1 369.25" class="st5"/> + </g> + </g> + <g id="shape19-21" v:mID="19" v:groupContext="shape" transform="translate(520.553,161.829) rotate(90)"> + <title>Tabelle.19</title> + <path d="M0 369.25 L34.38 369.25" class="st6"/> + </g> + <g id="shape20-24" v:mID="20" v:groupContext="shape" transform="translate(521.407,237.301) rotate(90)"> + <title>Tabelle.20</title> + <path d="M0 369.25 L28.05 369.25" class="st6"/> + </g> + <g id="shape21-27" v:mID="21" v:groupContext="shape" transform="translate(445.984,-213.749)"> + <title>Tabelle.21</title> + <desc>CSE</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="38.9764" cy="334.857" width="77.96" height="68.7947"/> + <rect x="0" y="300.459" width="77.9528" height="68.7947" class="st2"/> + <text x="30.09" y="338.46" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>CSE</text> </g> + <g id="group36-30" transform="translate(435.472,-26.7165)" v:mID="36" v:groupContext="group"> + <title>Tabelle.36</title> + <g id="shape37-31" v:mID="37" v:groupContext="shape"> + <title>Tabelle.37</title> + <ellipse cx="20.5512" cy="348.703" rx="20.5512" ry="20.5512" class="st2"/> + </g> + <g id="shape38-33" v:mID="38" v:groupContext="shape" transform="translate(0.0185127,-19.6791)"> + <title>Tabelle.38</title> + <path d="M0 369.25 L41.07 369.25" class="st5"/> + </g> + <g id="shape39-36" v:mID="39" v:groupContext="shape" transform="translate(389.596,328.153) rotate(90)"> + <title>Tabelle.39</title> + <path d="M0 369.25 L41.1 369.25" class="st5"/> + </g> + </g> + <g id="shape40-39" v:mID="40" v:groupContext="shape" transform="translate(824.846,231.263) rotate(89.817)"> + <title>Tabelle.40</title> + <path d="M0 369.25 L68.99 369.25" class="st6"/> + </g> + <g id="shape41-42" v:mID="41" v:groupContext="shape" transform="translate(408.858,-136.811)"> + <title>Tabelle.41</title> + <desc>AE</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="46.4173" cy="353.691" width="92.84" height="31.1266"/> + <ellipse cx="46.4173" cy="353.691" rx="46.4173" ry="15.5633" class="st2"/> + <text x="40.02" y="357.29" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>AE</text> </g> + <g id="shape42-45" v:mID="42" v:groupContext="shape" transform="translate(84.2894,201.327) rotate(-90)"> + <title>Tabelle.42</title> + <path d="M0 369.25 L45.82 369.25" class="st6"/> + </g> + <g id="shape63-48" v:mID="63" v:groupContext="shape" transform="translate(116.22,-42.8861)"> + <title>Tabelle.63</title> + <desc>Sensors</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="36.7441" cy="360.368" width="73.49" height="17.771"/> + <rect x="0" y="351.483" width="73.4882" height="17.771" class="st7"/> + <text x="17.9" y="363.97" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>Sensors</text> </g> + <g id="shape64-51" v:mID="64" v:groupContext="shape" transform="translate(431.929,-6.21485)"> + <title>Tabelle.64</title> + <desc>Sensors</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="24.4488" cy="360.368" width="48.9" height="17.771"/> + <rect x="0" y="351.483" width="48.8976" height="17.771" class="st7"/> + <text x="5.6" y="363.97" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>Sensors</text> </g> + <g id="group112-54" transform="translate(141.732,-324.354)" v:mID="112" v:groupContext="group"> + <title>Tabelle.112</title> + <g id="shape113-55" v:mID="113" v:groupContext="shape"> + <title>Tabelle.113</title> + <ellipse cx="8.50394" cy="360.75" rx="8.50394" ry="8.50394" class="st2"/> + </g> + <g id="shape114-57" v:mID="114" v:groupContext="shape" transform="translate(0.00766044,-8.14306)"> + <title>Tabelle.114</title> + <path d="M0 369.25 L16.99 369.25" class="st5"/> + </g> + <g id="shape115-60" v:mID="115" v:groupContext="shape" transform="translate(377.671,352.246) rotate(90)"> + <title>Tabelle.115</title> + <path d="M0 369.25 L17.01 369.25" class="st5"/> + </g> + </g> + <g id="shape118-63" v:mID="118" v:groupContext="shape" transform="translate(467.008,-309.472)"> + <title>Tabelle.118</title> + <rect x="0" y="322.482" width="46.7717" height="46.7717" class="st2"/> + </g> + <g id="group119-65" transform="translate(482.362,-324.354)" v:mID="119" v:groupContext="group"> + <title>Tabelle.119</title> + <g id="shape120-66" v:mID="120" v:groupContext="shape"> + <title>Tabelle.120</title> + <ellipse cx="8.50394" cy="360.75" rx="8.50394" ry="8.50394" class="st2"/> + </g> + <g id="shape121-68" v:mID="121" v:groupContext="shape" transform="translate(0.00766044,-8.14306)"> + <title>Tabelle.121</title> + <path d="M0 369.25 L16.99 369.25" class="st5"/> + </g> + <g id="shape122-71" v:mID="122" v:groupContext="shape" transform="translate(377.671,352.246) rotate(90)"> + <title>Tabelle.122</title> + <path d="M0 369.25 L17.01 369.25" class="st5"/> + </g> + </g> + <g id="shape123-74" v:mID="123" v:groupContext="shape" transform="translate(519.49,59.7815) rotate(90)"> + <title>Tabelle.123</title> + <path d="M0 369.25 L24.09 369.25" class="st6"/> + </g> + <g id="shape124-77" v:mID="124" v:groupContext="shape" transform="translate(860.12,59.7815) rotate(90)"> + <title>Tabelle.124</title> + <path d="M0 369.25 L26.93 369.25" class="st6"/> + </g> + <g id="shape125-80" v:mID="125" v:groupContext="shape" transform="translate(107.717,-324.354)"> + <title>Tabelle.125</title> + <desc>Application using oneM2M sensor data</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="129.189" cy="360.368" width="258.38" height="17.771"/> + <rect x="0" y="351.483" width="258.378" height="17.771" class="st7"/> + <text x="101.54" y="349.57" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>Application<v:lf/><tspan + x="92.38" dy="1.2em" class="st8">using oneM2M<v:lf/></tspan><tspan x="100.84" dy="1.2em" + class="st8">sensor data</tspan></text> </g> + <g id="shape126-85" v:mID="126" v:groupContext="shape" transform="translate(493.228,-323.591)"> + <title>Tabelle.126</title> + <desc>Application using STA sensor data</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="78.5197" cy="360.368" width="157.04" height="17.771"/> + <rect x="0" y="351.483" width="157.039" height="17.771" class="st7"/> + <text x="50.87" y="349.57" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>Application<v:lf/><tspan + x="55.16" dy="1.2em" class="st8">using STA <v:lf/></tspan><tspan x="50.17" dy="1.2em" class="st8">sensor data </tspan> </text> </g> + <g id="shape128-90" v:mID="128" v:groupContext="shape" transform="translate(575.433,-9.06183)"> + <title>Tabelle.128</title> + <rect v:rectContext="foreign" x="0" y="326.858" width="78.2133" height="42.396" class="st7"/> + <image x="0" y="326.858" width="78.2133" height="42.396" preserveAspectRatio="none" xlink:href="data:image/png;base64, + iVBORw0KGgoAAAANSUhEUgAAAawAAADoCAMAAACEqCBQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURb4C + COHi46WopL86M6ugnq+urMMkJLtSTMUQFrGFfaWztfXx7d2RkKaurcAID8O6tc05PuSUlu21t9xzd/XU1fjk5NFlZf///+3P + y/319dJMUemsrt+ChcUaGeeipMkqMCAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAw + MDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hI + SElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2Bg + YGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4 + eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQ + kJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6io + qKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DA + wMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY + 2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw + 8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///xQ93REAAAAJcEhZcwAADsIAAA7CARUoSoAA + ABAISURBVHhe7Z3rVuo8EIZdbj4ouulCt+IJ9P7v8uvhbUmTaToziWJCnj9oaQPkaaY5tjcvhWQoshKiyEqIIishiqyEKLIS + oshKiCIrIYqshCiyEqLISogiKyGKrIQoshKiyEqIIishiqyEKLISoshKiCIrIYqshCiyEiKurNeHw/50Ou0PD8/YIuPx4XA4 + PLziv0Weu/2PH0/4P3eiybr/W9V11Zjqaf55/8BbPD72dY2Dm2MXhX2+V+PHNR92+oftORNH1vP7zdnTmXp9jx0G1tWE8dPv + 94bojpsD3qJ4ONm7tx/2iHezJYasj2ooEg7VaVpE2iBpUGPzJ6X6ZJseeCT3bqg/sUemhMt6nzUF1tixhZT1Ppf5N2/d+1Oa + E8DDF/bKklBZjzfIJQ/1A3Z+eTlgE6haG57Mr516ysPSqfGOHXMkUNZsoZgyxsJ/2DDQ1OO8uW/bskomhVmQMyNMFvJnkWoo + W7asD7+rJhLiwJ5PbPVSYef8CJL1gOxhgJq1fcS/e/wxT39gB10Pccj2uhUi64GXdz192bJlLdZOTFmPyzv3+Gr9KRMg61Xi + 6lR1161H/Cfg2H1YwzPX1anKtEtDL+uInGHTli2FrK7G2B5KnBv1TXVDNccrXW/Xb0ct654+z9usm2kj102uy0pjDyrjbhuh + 7rssnqhY2r2TG2pZlJBqjTr6B+mkqVQ/4U8JfcvZqbTXf7vtHV/YdgZv5IVWFlWJvjG6lrBpyrysqvo6HPYznRNdsvZbN5PO + KLtJcMoyDmplEQVr6OjroZqvr3OyauT88xobJrRx0D7Q7ol6x/aBPbZnhVIWVbDw1gCV7zOyjC6iI1G42laulZpb37MuadMz + JxOUsoiC5YxeuReS08cz4cL6Cm7SjSz75CBGQ/DOQI5tLaUs5IgJ3jEgjN67suxqNtEkeLWvWFS5wVsj2JwTOlnPyBADo3Ix + 4F62akKWc3VxHT/Y24yK4MgVxEGdLGuko4HKG8KM27vnHmjXFZqQ9hd/DGDPCfY1MsNeDJ0s5IcBeYlwy8jekeX2urq9HO/2 + 5Q97TrAdZzgpQyfL6U2oyCF4twC6jF1/ZxzHe2sLGeLsa12GlXeVLLdOR18hZidLGBD1usXB5+pIYJesDIe1VLLcCtvMaezG + QQfi0oJ3AsmwhqGS5VYBZi4Qi2WE7BciuzHEFFk9bp18Zg4Y3vVRZPFRyUJ2GBCtrBbG/JYii08cWXODfUVWVL5Xlntxcyiy + +JSSlRDfe80iOt5tiiw+Kllubv7C2qDql/1uVD/JjW6/sJ2V4RiJSpbb56fvwVDJwvIuL6VvsMedNk13xFHjwjYaWdUbAySW + EypZb64EIs+pmrs7RKIqWdjx2tBdht1rEXM8628cWdewgJhAJ8utklPpuFOZajcwsmTZR7WTe68QnSxiJhrR0nKVVm4A5chy + 7WXYiGKgk0U0oNwqBjEF46gsWe4A2lWWLaUs1wMWYBlQ5UEpi6jR1MR8gNyJJ8uOTMT8vy+tLHKR+M3V6VLKeiOau9PIhI0T + qJYXTxZRtFrq6v2RnKqTZ5BUyiIHP4xbKJAdTc1naWV5uoSrul7v3w+HdtLM4fC+P9UtSCovtLLobj+smXr7R777GCDrDX9x + QVJ5oZY1c5eDql04SncJttM51bI4fcImfUqZoZbFGaua0H2SXhZnDqJBn1Jm6GUJz/X+XjF6WazpvWe6hHIjQBZn0H4EbeYA + WYJbKzR0R+RGiCyBraF/I0TWy7OgLPdHZEaQLM7gYse4VCRIlvcGahY4IC/CZBH5SnFu9QTKYp8dRRbFcTn7amOsK1TWC92C + c8HueREqq6nCL8Umsz8oWFZTK2SVLuycF+GyvNf9ylrSE0FWeze2pfOjyPLwtCfyr6rencVX9zXmHo0QstzJS3jD4LP5RJ+y + LHtydbKeVzb/rTanRkSfU23+rjer/27xpsl/GnDshGbr5utU2/brav21OWxvG1aH9ZeWmSnGNvoP0NzBUilrR3B3t1ttt5vN + Zrtd7e6w8Zu5az60PSW2zWeuVrf9hjN32/VyxCThzTr8wN4akISEiLJ+J7d/VLp4+SLpw7FBEhKyl9Xo4jUGLcgxTRvhUMAE + JCHhCmTtdhpbnKmJbt1WANKQcBWydndyXZyx5pAoWGTNcreRFgJ69v4UyTCAA9KQcCWydruD1BZ+qoegKFhk+ZDaWm5pyYZD + bZCIhOuRtdsgl5gsP4EmqGAVWX5kmbtcwwi6ZBVZfrYiW8PN/+fBjkqQiIRrkrVbiWwtxUHF0x9MkIqEq5Ilu2wtxUHGHVl8 + IBUJ1yXrDhnFYmlVUdglq8ha5FYSCP2rVIjlZyKQjIQrkyUKhP4HEjpP1BCCZCRcm6w7QfDy5w12UoNkJFybrN0t8oqDLw6G + RsEii4Mkk/FzKUKjYJHFQTBa4qu8hxasIovDCpnFwdOZG1hxL7JY3AnKxPy0mcDuiwYkJOH6ZO0EIxvzuRM0SNyBhCRcoSxB + FWO+MzdkqkwPEpJwjbIEDeO5OEg/gVQEUpJwjbIEVYy5+qB0QTUBUpJwjbIEVQz66UUR6oJFFhdBU4uePkg8mU8MkpJwlbIE + Fy16RlrYVJkeJCXhKmUFX7QiRMGfk3X/J5yPewK8x2ezOaxupUtWJO1i/OIJT+F1wZ+UhQ8MgaoVz9z8zE9V1evNSiQMR3Kg + epxiRMG0ZFGfrO/KrqqtQNcfHMWAmjYTo2ClJYtcoBpCtYWKZQJrGDEuWWnJomrFgbmw5hauLQ5gQPU44a0wkJaEC8oivm5o + fKlvYWMBgSziaeMxWlnJyXLioHsjeDF/oMOPZLanm0PhPe4tSEzCJWU5T1mIUctiRUKJLDcOhve4tyAxCZeU5TQ4Y9SyeEVL + 8kl2HAxbljWC1CT8JlnULa3FVNDhR5Tf+HoDwVNlepCahEvKsp9n5z7pSQOraElk2VmEzaEgNQkXlWXdZUV1CwSHinHVEs2i + th//H6WVlZ4s68Mj5cIKRjyErP0JuauMCZKTcFFZ0+eXxImCp9MGRjxI2ln2tTVO9SJBWZM4GCcKsi5aMlnTOBip/Kcna3LO + xmm+nE5rGPEgWlQ3HSCIFQXTk2XeOvIVm4KJL8vMpDjdFw1IT8KFZRnX7sBVn2cYYVAYcc1pM7HKf4KyjDgY61rAqGCIVqu2 + nAcI4nTitiBBCReWdY6Dr7FqWSfGsJb0s87nVIQJgwAJSri0rLEzN1oUrJaHSSQLSTrOA6XRyn+KssaB2Gi5wOjBkPfuD3Ew + XhRMWVbwqs8RRv1CMAVjAF8zylSZHqQo4dKyhu9MPM5TyfIlSzITDQwXrXhRMElZuBpEK1g1ox9X8WH9t4z3NdOUhatBtFM2 + fmdTRz9cHKv7sqVLUMbFZfVfINKAXgOjYGk6IfvWe8SC9ftkcVolXRzE314Wn1DTwhkotksx40lFuGhxyv8/ptEuQRnfKqvi + hI0uDnJy4ZOTC5oo+JeRcH/XLfzjo+bW7tv0hHyvLM6v6yrvnOziGOUULKfifuQE4XbaDMtD1rK6AIO/vXBkMQYe3Yr7kfPE + 6vauWxypD9zJj+3PFvLNsjh91B8vL3/xp48jQxan3u72NR255xT+9FGzZ6r2OSnim2VxzsUmGxhlhrMXaxoa9jU4ss6pI2vC + 4D5hWZwFVzVrwuCeIYsRBKkW8ZHXi8Q6814TlsU6Zz85UfCRIYsRBKmxrKbM4C8fNauVxZ+wj6yU8N2yOOfsntMcaz51QRZj + bKSB6L44suLw6ZWxU/OLE5YVaWJ4m9RSjrKCILVCtZEVazQtbVmsc5ZB+z0XkuIEQbITt5EVZUl3wyFtWZHO2bZvzi+L54oa + ymrvrhpnHkw7syZlWXGKVtdy9qbEW1BMzptuZcXpSW5bzknLihNg2pR8shh9gi1kVaaVFWW5UbcsJmlZUcaAuwVtnvzkLB1p + Ic+cVlaUANCV/6RlxThnu1zw5CdvBd3c5ItOVpQ42CaUtKwY5+xSQtw7YNApdLJizNjpyn/asiKcs/3Y/6wsXgtrdop7JyvC + OdWX/7RlhVeL+1yYzU5uuZqbe9HLCl8e0i82SVxW8JRjLOOakcUtV7OTmnpZ4UWrvydX4rI+8a+ajz4dOje5FcH56YKQhf/U + oPwnLiv0nEUuzCTDDYLzM9AgK3SeGcp/6rLwr5bhOVakLHYQnJ+HC1mh5xTKf+qyOONVHobbZVCZ+cUNgp7VjoMs/KtkyMnU + ZYVlwxAFSVlsV56nnA2ywvpahvKfvKygBue4lNXNbnYM9C5GGGQFnVPjEq7rljUujnRk8WOgd8n3KCvka44ZmbyskABz/oa2 + LHalvcHnYZQ1HymXGct/8rJCOnPPN6GwE2FX2hfWIoyyQpbKjeU/eVkh5+z59i5WIvwL1sIin1FWSGcukshBVsA5ixQaprL+ + 8IPgwvNuR1kB59T5p6YvS58NY8V9mkbFuPfZyMKHn2XpO8bOd6HKQJb6LlrGvbiMPBfcw70BB81xlqU/p87BOgNZ6nPWuNun + kZMHaOCweD8ZQ5b2omWU/wxkac9ZIxeMJAR1C8ZdtQxZ2o4x4zH8OcjCJilGLpxl1dDAYvmunYYsbRvDKP85yFK2i817fQ4Z + KXLFuOmFIUsZB83yn4MsXRw0c2FIoZZUBDl3kzFlKSeM4OiWLGSp7qo4echWL4v9dJgOTi3UlKU6pyrjHpd5yHrURJjJo8a6 + fJS5YjXGJ7I0E0YmmZiFLM0kp+m3a2XJXPFuCT6RpZnkNCn/echSnLOTu1O3smSulrouwESWJg5Oyn8eshTn7PRZBXUlGRRp + 8PffjkxlyftaJrWgTGTJz9lpLjSyRPVAbsGyZMknOU2iYC6yxOvqrAdsCWPgtimJLKayXm6wmcvN9AFbT8yPxe4SflKW9J6l + 9iM8mc8IHLljsrudgK18cNwAti6BHyXhJ2VJu5ysKPgiDIK/HPwoCT8qS3jRMu7Q31Fk4VWGUpasWTzpF2gpsvAqQylL1vHm + fLUiC68ylLJkcdCqpBVZPyxL1JnrPHK2yMKrDK2sD8lVC8ecKbLwKkMrS9KZ636zIguvMtSyBJ25007cliILrzLUsgSTnLA2 + zaDIwqsMtSx+fdDuvmgosvAqQy+L3Zlrd180FFl4laGXxR1AGB4oY1Jk4VWGXha3PkhEwSLrx2Ux28VEFCyyflwW80Gcdidu + S5GFVxkBsnj1QfJrFVl4lREiizWV7/xgYIMiC68yQmRxju0fgGRTZOFVRogszuA+VRcssi4hi3HRsqY1gSILrzKCZDFmUd5j + 1ylFFl5lBMlankVJR8Ei6wKyluMg1SJuKLLwKiNM1mJnLvazKbLwKiNM1ivengX72RRZeJURJmupM3fmklVkXUTWwuD+dFXG + mSILr4UEKLISoshKiCIrIYqshCiyEqLISogiKyGKrIQoshKiyEqIIishiqyEKLISoshKiCIrIYqshCiyEqLISogiKyGKrGR4 + efkfWrL9LMRLCaoAAAAASUVORK5CYII="/> + <rect v:rectContext="foreign" x="0" y="326.858" width="78.2133" height="42.396" class="st7"/> + </g> + <g id="shape140-94" v:mID="140" v:groupContext="shape" transform="translate(278.74,479.275) rotate(180)"> + <title>Tabelle.140</title> + <path d="M0 369.25 L46.38 369.25" class="st6"/> + </g> + <g id="shape141-97" v:mID="141" v:groupContext="shape" transform="translate(445.984,488.841) rotate(180)"> + <title>Tabelle.141</title> + <path d="M0 369.25 L51.26 369.25" class="st6"/> + </g> + <g id="shape134-100" v:mID="134" v:groupContext="shape" transform="translate(278.74,-228.189)"> + <title>Tabelle.134</title> + <desc>SensorThings API IPE</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="57.9921" cy="348.703" width="115.99" height="41.1024"/> + <rect x="0" y="328.152" width="115.984" height="41.1024" class="st2"/> + <text x="23.23" y="345.7" class="st9" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>SensorThings API<v:lf/><tspan + x="51.71" dy="1.2em" class="st8">IPE</tspan></text> </g> + <g id="group150-104" transform="translate(495.748,-24.3872)" v:mID="150" v:groupContext="group"> + <title>Tabelle.150</title> + <g id="shape151-105" v:mID="151" v:groupContext="shape"> + <title>Tabelle.151</title> + <ellipse cx="20.5512" cy="348.703" rx="20.5512" ry="20.5512" class="st2"/> + </g> + <g id="shape152-107" v:mID="152" v:groupContext="shape" transform="translate(0.0185127,-19.6791)"> + <title>Tabelle.152</title> + <path d="M0 369.25 L41.07 369.25" class="st5"/> + </g> + <g id="shape153-110" v:mID="153" v:groupContext="shape" transform="translate(389.596,328.153) rotate(90)"> + <title>Tabelle.153</title> + <path d="M0 369.25 L41.1 369.25" class="st5"/> + </g> + </g> + <g id="shape154-113" v:mID="154" v:groupContext="shape" transform="translate(885.224,265.734) rotate(89.817)"> + <title>Tabelle.154</title> + <path d="M0 369.25 L36.85 369.25" class="st5"/> + </g> + <g id="shape155-116" v:mID="155" v:groupContext="shape" transform="translate(469.134,-102.34)"> + <title>Tabelle.155</title> + <desc>AE</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="46.4173" cy="353.691" width="92.84" height="31.1266"/> + <ellipse cx="46.4173" cy="353.691" rx="46.4173" ry="15.5633" class="st2"/> + <text x="40.02" y="357.29" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>AE</text> </g> + <g id="shape156-119" v:mID="156" v:groupContext="shape" transform="translate(145.549,235.789) rotate(-90)"> + <title>Tabelle.156</title> + <path d="M0 369.25 L78.12 369.25" class="st5"/> + </g> + <g id="shape157-122" v:mID="157" v:groupContext="shape" transform="translate(485.244,-5.2877)"> + <title>Tabelle.157</title> + <desc>Actuators</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="31.0551" cy="360.368" width="62.12" height="17.771"/> + <rect x="0" y="351.483" width="62.1102" height="17.771" class="st7"/> + <text x="7.4" y="363.97" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>Actuators</text> </g> + <g id="shape159-125" v:mID="159" v:groupContext="shape" transform="translate(189.129,-249.174)"> + <title>Tabelle.159</title> + <desc>HTTP APIs</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="21.6142" cy="353.597" width="43.23" height="31.314"/> + <rect x="0" y="337.94" width="43.2283" height="31.314" class="st2"/> + <text x="11.04" y="350.6" class="st9" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>HTTP<v:lf/><tspan + x="12.92" dy="1.2em" class="st8">APIs</tspan></text> </g> + <g id="shape161-129" v:mID="161" v:groupContext="shape" transform="translate(189.129,-212.598)"> + <title>Tabelle.161</title> + <desc>MQTT Broker</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="21.6142" cy="353.597" width="43.23" height="31.314"/> + <rect x="0" y="337.94" width="43.2283" height="31.314" class="st2"/> + <text x="9.1" y="350.6" class="st9" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>MQTT<v:lf/><tspan + x="8.01" dy="1.2em" class="st8">Broker</tspan></text> </g> + <g id="shape162-133" v:mID="162" v:groupContext="shape" transform="translate(278.74,500.306) rotate(180)"> + <title>Tabelle.162</title> + <path d="M0 369.25 L46.38 369.25" class="st6"/> + </g> + <g id="shape1-136" v:mID="1" v:groupContext="shape" transform="translate(111.26,-207.425)"> + <title>Tabelle.1</title> + <desc>OGC / SensorThingsAPI Server</desc> + <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/> + <v:textRect cx="38.9764" cy="330.278" width="77.96" height="77.9528"/> + <rect x="0" y="291.301" width="77.9528" height="77.9528" class="st2"/> + <text x="24.35" y="312.28" class="st4" v:langID="1031"><v:paragraph v:horizAlign="1"/><v:tabList/>OGC / <tspan + x="6.7" dy="1.2em" class="st8">SensorThings</tspan><tspan x="30.89" dy="1.2em" class="st8">API<v:lf/></tspan><tspan + x="23.36" dy="1.2em" class="st8">Server</tspan></text> </g> + </g> + </g> + </g> +</svg> diff --git a/media/content_copy.png b/media/content_copy.png new file mode 100644 index 0000000000000000000000000000000000000000..1c827727229e774d88c65281ba7615546c198351 Binary files /dev/null and b/media/content_copy.png differ diff --git a/media/data_mapping.svg b/media/data_mapping.svg new file mode 100644 index 0000000000000000000000000000000000000000..f5bcc7ee6087a43936295221c6eee7c9ad671606 --- /dev/null +++ b/media/data_mapping.svg @@ -0,0 +1 @@ +<svg width="2114" height="1515" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden"><g transform="translate(-1142 -226)"><rect x="2502.5" y="708.5" width="424" height="190" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2613.51 820)">Container</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1230.3 294)">SensorThings</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1511.6 294)">API Data </text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1697.8 294)">Model</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1448.01 355)">(</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1463.48 355)">subset</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1596.96 355)">)</text><rect x="2247.5" y="1009.5" width="721" height="211" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2381.77 1131)">ContentInstance</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2729.53 1131)">4711</text><rect x="2495.5" y="420.5" width="424" height="205" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2680.11 539)">AE</text><path d="M0 0 38.1442 0 38.1442 0.000360892 76.288 0.000360892" stroke="#000000" stroke-width="6.875" stroke-miterlimit="8" fill="none" fill-rule="evenodd" transform="matrix(-1.83697e-16 -1 -1 1.83697e-16 1424.5 707.788)"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2473.69 303)">oneM2M Data </text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2781.91 303)">Model</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2611.76 364)">(</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2627.23 364)">subset</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2760.72 364)">)</text><rect x="1786" y="1420" width="736" height="212" fill="#FFFFFF"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="55" transform="matrix(1 0 0 1 1981.15 1544)">Mapping by IPE</text><path d="M1144.5 454.834C1144.5 435.319 1160.32 419.5 1179.83 419.5L1668.17 419.5C1687.68 419.5 1703.5 435.319 1703.5 454.834L1703.5 596.166C1703.5 615.681 1687.68 631.5 1668.17 631.5L1179.83 631.5C1160.32 631.5 1144.5 615.681 1144.5 596.166Z" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1367.39 542)">Thing </text><path d="M1144.5 738C1144.5 721.708 1157.71 708.5 1174 708.5L1674 708.5C1690.29 708.5 1703.5 721.708 1703.5 738L1703.5 856C1703.5 872.292 1690.29 885.5 1674 885.5L1174 885.5C1157.71 885.5 1144.5 872.292 1144.5 856Z" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1304.09 813)">Datastream</text><path d="M1144.5 1039C1144.5 1022.71 1157.71 1009.5 1174 1009.5L1757 1009.5C1773.29 1009.5 1786.5 1022.71 1786.5 1039L1786.5 1157C1786.5 1173.29 1773.29 1186.5 1757 1186.5L1174 1186.5C1157.71 1186.5 1144.5 1173.29 1144.5 1157Z" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1282.5 1114)">Observation 1234</text><path d="M1199.5 1094C1199.5 1077.71 1212.71 1064.5 1229 1064.5L1812 1064.5C1828.29 1064.5 1841.5 1077.71 1841.5 1094L1841.5 1212C1841.5 1228.29 1828.29 1241.5 1812 1241.5L1229 1241.5C1212.71 1241.5 1199.5 1228.29 1199.5 1212Z" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1337.5 1169)">Observation 1234</text><path d="M1254.5 1149C1254.5 1132.71 1267.71 1119.5 1284 1119.5L1867 1119.5C1883.29 1119.5 1896.5 1132.71 1896.5 1149L1896.5 1267C1896.5 1283.29 1883.29 1296.5 1867 1296.5L1284 1296.5C1267.71 1296.5 1254.5 1283.29 1254.5 1267Z" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1392.5 1224)">Observation 1234</text><path d="M1309.5 1204C1309.5 1187.71 1322.71 1174.5 1339 1174.5L1922 1174.5C1938.29 1174.5 1951.5 1187.71 1951.5 1204L1951.5 1322C1951.5 1338.29 1938.29 1351.5 1922 1351.5L1339 1351.5C1322.71 1351.5 1309.5 1338.29 1309.5 1322Z" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1504.78 1249)">Observation</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1504.51 1310)">„</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1525.7 1310)">result</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 1642.58 1310)">“:“…“</text><path d="M2707 625 2714.02 707.586" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><rect x="2307.5" y="1064.5" width="721" height="211" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2442.46 1186)">ContentInstance</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2790.22 1186)">4711</text><rect x="2382.5" y="1119.5" width="721" height="211" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2517.37 1241)">ContentInstance</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2865.13 1241)">4711</text><rect x="2463.5" y="1174.5" width="721" height="211" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" fill="#FFFFFF"/><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2658.13 1266)">c</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2679.33 1266)">ontentInstance</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2677.31 1327)">„</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2698.51 1327)">content</text><text font-family="Calibri,Calibri_MSFontService,sans-serif" font-weight="400" font-size="50" transform="matrix(1 0 0 1 2857.21 1327)">“:“…“</text><path d="M1424 885 1465.15 1008.74" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><path d="M1424 885 1499.57 1059.31" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><path d="M1424 885 1575.15 1118.74" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><path d="M1424 885 1630.15 1173.74" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><path d="M0 0 106.851 110.173" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd" transform="matrix(-1 0 0 1 2713.85 898)"/><path d="M2714 898 2829.39 1058.74" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><path d="M2714 898 2742.75 1118.17" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><path d="M2714 898 3109.45 1164.61" stroke="#000000" stroke-width="2.29167" stroke-miterlimit="8" fill="none" fill-rule="evenodd"/><path d="M2104.5 226.5 2113.28 1455.16" stroke="#000000" stroke-width="4.58333" stroke-miterlimit="8" stroke-dasharray="18.3333 13.75" fill="none" fill-rule="evenodd"/><path d="M2868.5 1539.5C2868.5 1649.4 2579.05 1738.5 2222 1738.5 1864.95 1738.5 1575.5 1649.4 1575.5 1539.5L1675 1539.5C1675 1594.45 1919.9 1639 2222 1639 2524.1 1639 2769 1594.45 2769 1539.5Z" stroke="#41719C" stroke-width="4.58333" stroke-linecap="round" stroke-miterlimit="8" fill="#5B9BD5" fill-rule="evenodd"/><path d="M2942.5 1534.56 2883.75 1534.56 2883.75 1536.5 2766.25 1536.5 2766.25 1534.56 2707.5 1534.56 2825 1404.5Z" stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5" fill-rule="evenodd"/><path d="M1742.5 1536.56 1683.75 1536.56 1683.75 1538.5 1566.25 1538.5 1566.25 1536.56 1507.5 1536.56 1625 1406.5Z" stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5" fill-rule="evenodd"/></g></svg> \ No newline at end of file diff --git a/media/figure6_0__1.png b/media/figure6_0__1.png new file mode 100644 index 0000000000000000000000000000000000000000..b637eda413c2923e00b58d141e7f89dba466b9ea Binary files /dev/null and b/media/figure6_0__1.png differ diff --git a/media/ogc_non_model.png b/media/ogc_non_model.png new file mode 100644 index 0000000000000000000000000000000000000000..e992c923b662a2a049634061c441c370cb56bb70 Binary files /dev/null and b/media/ogc_non_model.png differ diff --git a/media/ogc_to_onem2m_flow.png b/media/ogc_to_onem2m_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..066824ab49939a0ed65ef53321195e03f914f495 Binary files /dev/null and b/media/ogc_to_onem2m_flow.png differ diff --git a/media/onem2m_to_ogc_flow.png b/media/onem2m_to_ogc_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..45d6f7b2ff7cff3b79a7c7e1665476bcef07302a Binary files /dev/null and b/media/onem2m_to_ogc_flow.png differ