feat(ppmp): second draft v3

Signed-off-by: Axel Meinhardt <axel.meinhardt@bosch-si.com>
diff --git a/200.html b/200.html
index 5f80cff..7df99dd 100644
--- a/200.html
+++ b/200.html
@@ -26,6 +26,6 @@
     We started to capture this information in a simple payload specification and just like in the introducing language example where you can use phrases via phone, letter or in person, the payload is meant to be sent over different protocols (REST, MQTT, AMQP). This payload is the Production Performance Management Protocol (<i>PPMP</i>).
     <div class="card is-pulled-left"><div class="card-image"><figure class="image"><img src="images/eclipse-426x100.png" alt="Eclipse logo" title="Eclipse logo"></figure></div></div><p>
     In order to, first, leverage the Eclipse IoT stack in Industry 4.0 scenarios and, second, build a lively community around the specification, we consider the Eclipse iot working group as the premier place to host Unide. 
-    </div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_index.922f1427ed81a1db7207.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_index.922f1427ed81a1db7207.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/article/index.html b/article/index.html
index 63e448d..75ceae5 100644
--- a/article/index.html
+++ b/article/index.html
@@ -60,6 +60,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/12/Unide-proposal-online/index.html b/blog/2016/9/12/Unide-proposal-online/index.html
index e83bbc7..666f42a 100644
--- a/blog/2016/9/12/Unide-proposal-online/index.html
+++ b/blog/2016/9/12/Unide-proposal-online/index.html
@@ -76,6 +76,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-proposal-online",content:'<p>We\'re happy to announce, that the proposal for our new Eclipse Project is online! You can find it at <a href="https://projects.eclipse.org/proposals/unide">https://projects.eclipse.org/proposals/unide</a>. For further discussions, there\'s the <a href="https://www.eclipse.org/forums/index.php/t/1080186/">forum post</a> as well.<br>\nNow, it\'s time to study all details about Eclipse processes and <a href="https://eclipse.org/legal/eplfaq.php#3RDPARTY">license regulations</a>.</p>\n<div class="card">\n\t<header class="card-header is-primary">\n\t\t<p class="card-header-title"><i class="fa fa-pencil">&nbsp;</i>Did you know?</p>\n\t</header>\n\t<div class="card-content">\n\t\t<div class="content">\n\t\t\tThe projects name is derived from <b>un</b>derstand <b>i</b>ndustry <b>de</b>vices. Other ideas like <b>co</b>nnect <b>i</b>ndustry <b>ma</b>chines turned out to have meanings in foreign languages or being trademarked already.\n\t\t</div>\n\t</div>\n</div>\n',url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z",tags:["project start"],next:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-proposal-online",content:'<p>We\'re happy to announce, that the proposal for our new Eclipse Project is online! You can find it at <a href="https://projects.eclipse.org/proposals/unide">https://projects.eclipse.org/proposals/unide</a>. For further discussions, there\'s the <a href="https://www.eclipse.org/forums/index.php/t/1080186/">forum post</a> as well.<br>\nNow, it\'s time to study all details about Eclipse processes and <a href="https://eclipse.org/legal/eplfaq.php#3RDPARTY">license regulations</a>.</p>\n<div class="card">\n\t<header class="card-header is-primary">\n\t\t<p class="card-header-title"><i class="fa fa-pencil">&nbsp;</i>Did you know?</p>\n\t</header>\n\t<div class="card-content">\n\t\t<div class="content">\n\t\t\tThe projects name is derived from <b>un</b>derstand <b>i</b>ndustry <b>de</b>vices. Other ideas like <b>co</b>nnect <b>i</b>ndustry <b>ma</b>chines turned out to have meanings in foreign languages or being trademarked already.\n\t\t</div>\n\t</div>\n</div>\n',url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z",tags:["project start"],next:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/12/index.html b/blog/2016/9/12/index.html
index 4aba6f7..5c8ca42 100644
--- a/blog/2016/9/12/index.html
+++ b/blog/2016/9/12/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/16/Project-approved/index.html b/blog/2016/9/16/Project-approved/index.html
index b3a585b..c9ac9f7 100644
--- a/blog/2016/9/16/Project-approved/index.html
+++ b/blog/2016/9/16/Project-approved/index.html
@@ -73,6 +73,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Project-approved",content:'<p>Unide proposal has been approved to be an Eclipse Project! You can now find all relevant information at <a href="https://projects.eclipse.org/projects/iot.unide">https://projects.eclipse.org/projects/iot.unide</a>.</p>\n<p>There\'s still some paperwork pending, but it looks promising! Next steps are</p>\n<ul>\n<li>creating a proper homepage with relevant information and the PPMP specification</li>\n<li>license checking of initial commitment code.</li>\n<li>getting in touch with Eclipse community</li>\n<li>making plans for the upcoming months</li>\n</ul>\n<p>If you are interested in industry 4.0, IoT stack in manufacturing or you are building industry machines and want to find out more about the possiblities with PPMP, let us know: <a href="mailto:unide-inbox@eclipse.org?subject=Interested%20in%20contributing">unide-inbox@eclipse.org</a></p>\n',url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z",tags:["project start"],prev:{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online"},next:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Project-approved",content:'<p>Unide proposal has been approved to be an Eclipse Project! You can now find all relevant information at <a href="https://projects.eclipse.org/projects/iot.unide">https://projects.eclipse.org/projects/iot.unide</a>.</p>\n<p>There\'s still some paperwork pending, but it looks promising! Next steps are</p>\n<ul>\n<li>creating a proper homepage with relevant information and the PPMP specification</li>\n<li>license checking of initial commitment code.</li>\n<li>getting in touch with Eclipse community</li>\n<li>making plans for the upcoming months</li>\n</ul>\n<p>If you are interested in industry 4.0, IoT stack in manufacturing or you are building industry machines and want to find out more about the possiblities with PPMP, let us know: <a href="mailto:unide-inbox@eclipse.org?subject=Interested%20in%20contributing">unide-inbox@eclipse.org</a></p>\n',url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z",tags:["project start"],prev:{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online"},next:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/16/index.html b/blog/2016/9/16/index.html
index 1cd42c6..4862d4a 100644
--- a/blog/2016/9/16/index.html
+++ b/blog/2016/9/16/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/21/Official-launch/index.html b/blog/2016/9/21/Official-launch/index.html
index 1d9be3c..6ec3fe3 100644
--- a/blog/2016/9/21/Official-launch/index.html
+++ b/blog/2016/9/21/Official-launch/index.html
@@ -72,6 +72,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Official-launch",content:'<p>Today, we officially launch Unide. In the last days, we have redesigned the logo, published Blog posts and started work on the initial (code) contributions.<br>\nIt even seems like good timing, since there was a <a href="http://m.heise.de/newsticker/meldung/Umfrage-Unternehmen-fordern-offene-Plattform-fuer-die-Industrie-4-0-3327135.html">survey in Germany about open platforms &amp; standards in industry 4.0</a>, basically asking for something like Unide/PPMP.</p>\n<h3>the logo</h3>\n<p>Unide and PPMP\'s goal is to enable you to connect machines and receive their measurements / alerts. The logo represents that. It has you (&quot;<em>U</em>&quot;) highlighted and connects to rings. As a side note, we found that the words almost look like <em>you-nice</em>.</p>\n<h3>blog entries</h3>\n<p>If you are interested in further readings, check out the post at <a href="http://blog.bosch-si.com">blog.bosch-si.com</a>.</p>\n<h3>initial contributions</h3>\n<p>We are working on creating the initial contributions for Unide. Since there are a few legal aspects we have to consider, stay tuned. The code will be published to our <a href="https://github.com/eclipse/unide">github repository</a>.</p>\n',url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z",tags:["project start"],prev:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"},next:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Official-launch",content:'<p>Today, we officially launch Unide. In the last days, we have redesigned the logo, published Blog posts and started work on the initial (code) contributions.<br>\nIt even seems like good timing, since there was a <a href="http://m.heise.de/newsticker/meldung/Umfrage-Unternehmen-fordern-offene-Plattform-fuer-die-Industrie-4-0-3327135.html">survey in Germany about open platforms &amp; standards in industry 4.0</a>, basically asking for something like Unide/PPMP.</p>\n<h3>the logo</h3>\n<p>Unide and PPMP\'s goal is to enable you to connect machines and receive their measurements / alerts. The logo represents that. It has you (&quot;<em>U</em>&quot;) highlighted and connects to rings. As a side note, we found that the words almost look like <em>you-nice</em>.</p>\n<h3>blog entries</h3>\n<p>If you are interested in further readings, check out the post at <a href="http://blog.bosch-si.com">blog.bosch-si.com</a>.</p>\n<h3>initial contributions</h3>\n<p>We are working on creating the initial contributions for Unide. Since there are a few legal aspects we have to consider, stay tuned. The code will be published to our <a href="https://github.com/eclipse/unide">github repository</a>.</p>\n',url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z",tags:["project start"],prev:{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved"},next:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/21/index.html b/blog/2016/9/21/index.html
index b3101da..559207a 100644
--- a/blog/2016/9/21/index.html
+++ b/blog/2016/9/21/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/27/News-coverage/index.html b/blog/2016/9/27/News-coverage/index.html
index 3550052..1e9998e 100644
--- a/blog/2016/9/27/News-coverage/index.html
+++ b/blog/2016/9/27/News-coverage/index.html
@@ -71,6 +71,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"News-coverage",content:'<p>After the <a href="/unide/2016/09/21/Official%20launch/">Official launch</a> of unide and PPMP, there was some media coverage about the project.</p>\n<p>Triggered by a statement by <a href="http://www.bosch.com/en/com/bosch_group/board_management/dr_rer_nat_volkmar_denner/volkmar-denner.html">Bosch CEO Volkmar Denner</a> on <em><a href="http://www.bosch-presse.de/pressportal/en/bosch-initiates-new-machine-language-for-industry-4-0-65216.html">&quot;initiating new machine language for Industry 4.0&quot;</a></em>, twitter, blogs and magazines mention PPMP, e.g.:</p>\n<ul>\n<li><a href="https://www.elektormagazine.com/news/free-ppmp-from-bosch-makes-industry-4-0-open-for-all">electormagazine</a></li>\n<li><a href="http://www.computer-automation.de/feldebene/vernetzung/artikel/134233/">computer-automation</a> (de)</li>\n</ul>\n<p>Looking forward to spreading the word further.</p>\n',url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z",tags:["media"],prev:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"},next:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"News-coverage",content:'<p>After the <a href="/unide/2016/09/21/Official%20launch/">Official launch</a> of unide and PPMP, there was some media coverage about the project.</p>\n<p>Triggered by a statement by <a href="http://www.bosch.com/en/com/bosch_group/board_management/dr_rer_nat_volkmar_denner/volkmar-denner.html">Bosch CEO Volkmar Denner</a> on <em><a href="http://www.bosch-presse.de/pressportal/en/bosch-initiates-new-machine-language-for-industry-4-0-65216.html">&quot;initiating new machine language for Industry 4.0&quot;</a></em>, twitter, blogs and magazines mention PPMP, e.g.:</p>\n<ul>\n<li><a href="https://www.elektormagazine.com/news/free-ppmp-from-bosch-makes-industry-4-0-open-for-all">electormagazine</a></li>\n<li><a href="http://www.computer-automation.de/feldebene/vernetzung/artikel/134233/">computer-automation</a> (de)</li>\n</ul>\n<p>Looking forward to spreading the word further.</p>\n',url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z",tags:["media"],prev:{url:"/blog/2016/9/21/Official-launch",title:"Official launch"},next:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/27/index.html b/blog/2016/9/27/index.html
index c6ca738..fda32e1 100644
--- a/blog/2016/9/27/index.html
+++ b/blog/2016/9/27/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/9/index.html b/blog/2016/9/index.html
index c585bb9..c704474 100644
--- a/blog/2016/9/index.html
+++ b/blog/2016/9/index.html
@@ -78,6 +78,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2016/index.html b/blog/2016/index.html
index 9e6acd5..2f6609d 100644
--- a/blog/2016/index.html
+++ b/blog/2016/index.html
@@ -78,6 +78,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2016/9/27/News-coverage",title:"News Coverage",date:"2016-09-27T09:14:27.000Z"},{url:"/blog/2016/9/21/Official-launch",title:"Official launch",date:"2016-09-21T09:47:43.000Z"},{url:"/blog/2016/9/16/Project-approved",title:"Eclipse Project approved",date:"2016-09-16T12:16:37.000Z"},{url:"/blog/2016/9/12/Unide-proposal-online",title:"Unide proposal online",date:"2016-09-12T09:26:37.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/10/19/i40-testbed-started/index.html b/blog/2017/10/19/i40-testbed-started/index.html
index 180f24f..6b67ebe 100644
--- a/blog/2017/10/19/i40-testbed-started/index.html
+++ b/blog/2017/10/19/i40-testbed-started/index.html
@@ -67,6 +67,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"i40-testbed-started",content:'<p>The Eclipse IoT Working group has started another testbed around Production Performance Management. Together with other Eclipse projects but also manufacturing companies, we aim to showcase and test the software in real life scenarios.<br>\n<a href="https://www.contact-software.com">Contact Software</a>, <a href="https://www.eurotech.com">Eurotech</a> and <a href="https://www.eclipse.org/4diac/">Eclipse 4diac</a> provide bindings to actual machines, Unide and PPMP will be used for structuring and normalizing the information, <a href="https://projects.eclipse.org/projects/iot.hono">Ecipse Hono</a> and other provide the advanced infrastructure and <a href="https://www.influxdata.com/">influx data</a> persists the data.<br>\nYou can find more information in the <a href="https://eclipse.org/org/press-release/20171019_industry40_testbed.php">Press Release</a> or the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">homepage of the testbed</a>.</p>\n',url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z",tags:["testbed"],prev:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"},next:{url:"/blog/2018/1/26/New-website",title:"Updated Website"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"i40-testbed-started",content:'<p>The Eclipse IoT Working group has started another testbed around Production Performance Management. Together with other Eclipse projects but also manufacturing companies, we aim to showcase and test the software in real life scenarios.<br>\n<a href="https://www.contact-software.com">Contact Software</a>, <a href="https://www.eurotech.com">Eurotech</a> and <a href="https://www.eclipse.org/4diac/">Eclipse 4diac</a> provide bindings to actual machines, Unide and PPMP will be used for structuring and normalizing the information, <a href="https://projects.eclipse.org/projects/iot.hono">Ecipse Hono</a> and other provide the advanced infrastructure and <a href="https://www.influxdata.com/">influx data</a> persists the data.<br>\nYou can find more information in the <a href="https://eclipse.org/org/press-release/20171019_industry40_testbed.php">Press Release</a> or the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">homepage of the testbed</a>.</p>\n',url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z",tags:["testbed"],prev:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"},next:{url:"/blog/2018/1/26/New-website",title:"Updated Website"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/10/19/index.html b/blog/2017/10/19/index.html
index a8dbef0..b1b0693 100644
--- a/blog/2017/10/19/index.html
+++ b/blog/2017/10/19/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/10/6/DZone-article-published/index.html b/blog/2017/10/6/DZone-article-published/index.html
index 0fc2377..50d9cea 100644
--- a/blog/2017/10/6/DZone-article-published/index.html
+++ b/blog/2017/10/6/DZone-article-published/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"DZone-article-published",content:'<p>A new article about PPMP and the Eclipse Unide project was published at <a href="https://dzone.com/articles/eclipse-unide-a-way-to-establish-an-open-industry">DZone</a>!<br>\nIt explains how to use the <a href="https://www.eclipse.org/unide/2017/06/29/Validator-Online/">PPMP validator</a>, gives an overview of the InfluxDB / Grafana visualisation and how this setup can be used in an Eclipse Testbed.</p>\n',url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"},next:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"DZone-article-published",content:'<p>A new article about PPMP and the Eclipse Unide project was published at <a href="https://dzone.com/articles/eclipse-unide-a-way-to-establish-an-open-industry">DZone</a>!<br>\nIt explains how to use the <a href="https://www.eclipse.org/unide/2017/06/29/Validator-Online/">PPMP validator</a>, gives an overview of the InfluxDB / Grafana visualisation and how this setup can be used in an Eclipse Testbed.</p>\n',url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"},next:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/10/6/index.html b/blog/2017/10/6/index.html
index ab2368b..061e0b2 100644
--- a/blog/2017/10/6/index.html
+++ b/blog/2017/10/6/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/10/index.html b/blog/2017/10/index.html
index e589e5d..926bea7 100644
--- a/blog/2017/10/index.html
+++ b/blog/2017/10/index.html
@@ -70,6 +70,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/3/23/Unide-at-BCX/index.html b/blog/2017/3/23/Unide-at-BCX/index.html
index 132fd36..3b48f52 100644
--- a/blog/2017/3/23/Unide-at-BCX/index.html
+++ b/blog/2017/3/23/Unide-at-BCX/index.html
@@ -74,6 +74,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-at-BCX",content:'<p>Unide and PPMP were used in <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">Bosch Connected Experience Hackaton</a> by students and developers to connect sensors to backend solutions in just two days!<br>\nThey even took a professional video:</p>\n<center>\n<iframe width="400" height="300" src="https://www.youtube.com/embed/Pq88mIx-lnQ?ecver=1" frameborder="0" allowfullscreen></iframe>\n</center>\n<p>Also in the same conference, Bosch CEO Dr. Volkmar Denner <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">refered to PPMP again</a>:</p>\n<blockquote>\n\t<p>On a more practical level, the product performance management protocol, or PPMP, is being tried out at the Bosch plant in Homburg, Germany, as part of a joint Industrie 4.0 and IIC testbed. Bosch itself developed the PPMP, which is available to all at no cost. It allows small and medium-sized enterprises to transmit data from their sensors quickly, simply, and securely to the production systems of large companies. This helps remove some of the obstacles preventing entry into connected manufacturing. This first practical experience will be used to further refine the new protocol – work which will be done by Eclipse, an open-source community. Once again, we see that openness is our life blood.</p>\n\t<footer>Dr. Volkmar Denner, Bosch CEO</footer>\n</blockquote>\n',url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z",tags:["media"],prev:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"},next:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Unide-at-BCX",content:'<p>Unide and PPMP were used in <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">Bosch Connected Experience Hackaton</a> by students and developers to connect sensors to backend solutions in just two days!<br>\nThey even took a professional video:</p>\n<center>\n<iframe width="400" height="300" src="https://www.youtube.com/embed/Pq88mIx-lnQ?ecver=1" frameborder="0" allowfullscreen></iframe>\n</center>\n<p>Also in the same conference, Bosch CEO Dr. Volkmar Denner <a href="http://bcw.bosch-si.com/berlin/bcw-hackathon/?refresh=1">refered to PPMP again</a>:</p>\n<blockquote>\n\t<p>On a more practical level, the product performance management protocol, or PPMP, is being tried out at the Bosch plant in Homburg, Germany, as part of a joint Industrie 4.0 and IIC testbed. Bosch itself developed the PPMP, which is available to all at no cost. It allows small and medium-sized enterprises to transmit data from their sensors quickly, simply, and securely to the production systems of large companies. This helps remove some of the obstacles preventing entry into connected manufacturing. This first practical experience will be used to further refine the new protocol – work which will be done by Eclipse, an open-source community. Once again, we see that openness is our life blood.</p>\n\t<footer>Dr. Volkmar Denner, Bosch CEO</footer>\n</blockquote>\n',url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z",tags:["media"],prev:{url:"/blog/2016/9/27/News-coverage",title:"News Coverage"},next:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/3/23/index.html b/blog/2017/3/23/index.html
index d47fb7c..a944a83 100644
--- a/blog/2017/3/23/index.html
+++ b/blog/2017/3/23/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/3/index.html b/blog/2017/3/index.html
index 933781a..699448a 100644
--- a/blog/2017/3/index.html
+++ b/blog/2017/3/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/6/1/New-process-message-spec/index.html b/blog/2017/6/1/New-process-message-spec/index.html
index f38cf20..cd5497d 100644
--- a/blog/2017/6/1/New-process-message-spec/index.html
+++ b/blog/2017/6/1/New-process-message-spec/index.html
@@ -65,6 +65,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-process-message-spec",content:'<p>We’re happy to announce, that the process message specification is online! You can find it at <a href="http://www.eclipse.org/unide/specification">http://www.eclipse.org/unide/specification</a>. With this type of messages you have a standard format for sending data out of discrete and possibly complex processes. <img src="/unide/images/processPayload.png" alt="alt text"></p>\n',url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z",tags:["process message"],prev:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"},next:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-process-message-spec",content:'<p>We’re happy to announce, that the process message specification is online! You can find it at <a href="http://www.eclipse.org/unide/specification">http://www.eclipse.org/unide/specification</a>. With this type of messages you have a standard format for sending data out of discrete and possibly complex processes. <img src="/unide/images/processPayload.png" alt="alt text"></p>\n',url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z",tags:["process message"],prev:{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton"},next:{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/6/1/index.html b/blog/2017/6/1/index.html
index c9389fa..c06b303 100644
--- a/blog/2017/6/1/index.html
+++ b/blog/2017/6/1/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/6/29/Validator-Online/index.html b/blog/2017/6/29/Validator-Online/index.html
index b4a8e51..a775c5a 100644
--- a/blog/2017/6/29/Validator-Online/index.html
+++ b/blog/2017/6/29/Validator-Online/index.html
@@ -73,6 +73,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Validator-Online",content:"<p>Our first PPMP-Validator as a HTTP-server is online!</p>\n<p>What we already contribtuted as sourcecode to the Unide-project we've also installed on an eclipse sandbox server. Now you are able to validate your PPMP-messages through the internet without running the server on your local machine. The intention is to make the latest specification validator accessible to everyone at anytime.</p>\n<p>You can reach the server by sending POST-requests to the following endpoints:</p>\n<pre>\n<a>http://unide.eclipse.org/rest/v2/message?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/measurement?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/process?validate=true</a>\n</pre>\n<p>Further functions of the sandbox server will be also visualization and storaging of incoming PPMP-messages.</p>\n",url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z",tags:["validator"],prev:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"},next:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Validator-Online",content:"<p>Our first PPMP-Validator as a HTTP-server is online!</p>\n<p>What we already contribtuted as sourcecode to the Unide-project we've also installed on an eclipse sandbox server. Now you are able to validate your PPMP-messages through the internet without running the server on your local machine. The intention is to make the latest specification validator accessible to everyone at anytime.</p>\n<p>You can reach the server by sending POST-requests to the following endpoints:</p>\n<pre>\n<a>http://unide.eclipse.org/rest/v2/message?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/measurement?validate=true</a>\n<a>http://unide.eclipse.org/rest/v2/process?validate=true</a>\n</pre>\n<p>Further functions of the sandbox server will be also visualization and storaging of incoming PPMP-messages.</p>\n",url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z",tags:["validator"],prev:{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes"},next:{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/6/29/index.html b/blog/2017/6/29/index.html
index ed097fc..0aacec3 100644
--- a/blog/2017/6/29/index.html
+++ b/blog/2017/6/29/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/6/index.html b/blog/2017/6/index.html
index dc07c55..5202dd5 100644
--- a/blog/2017/6/index.html
+++ b/blog/2017/6/index.html
@@ -70,6 +70,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2017/index.html b/blog/2017/index.html
index ee995b8..b5c4b36 100644
--- a/blog/2017/index.html
+++ b/blog/2017/index.html
@@ -82,6 +82,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"},{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"},{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed",date:"2017-10-19T00:00:00.000Z"},{url:"/blog/2017/10/6/DZone-article-published",title:"DZone article published",date:"2017-10-06T00:00:00.000Z"},{url:"/blog/2017/6/29/Validator-Online",title:"First PPMP-Validator Online",date:"2017-06-29T00:00:00.000Z"},{url:"/blog/2017/6/1/New-process-message-spec",title:"New PPMP-Specification for processes",date:"2017-06-01T00:00:00.000Z"},{url:"/blog/2017/3/23/Unide-at-BCX",title:"Unide at Bosch Hackaton",date:"2017-03-23T17:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/1/26/New-website/index.html b/blog/2018/1/26/New-website/index.html
index 49b7b97..1bc110f 100644
--- a/blog/2018/1/26/New-website/index.html
+++ b/blog/2018/1/26/New-website/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-website",content:'<p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contradictions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href="https://github.com/eclipse/unide/issues/21">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href="http://plantuml.com/">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>\n<p>Although the website has the same look, it is completely reworked as a <a href="https://en.wikipedia.org/wiki/Single-page_application">single-page application</a> to generate the specification directly from the json-schema. Instead of using <a href="https://hexo.io/">hexo</a> it is now based on <a href="https://nuxtjs.org/">nuxt.js</a>. <a href="https://vuejs.org/">Vue.js</a> as a basis for nuxt is also used in the <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">new PPMP client application called binsa</a>.</p>\n',url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"},next:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"New-website",content:'<p>It turned out that even with multiple reviews, it is possible to have small mistakes in the PPMP documentation. In order to avoid such contradictions between diagrams, specification, json-schema and eventual implementation, we decided to rework the project structure and fixed <a href="https://github.com/eclipse/unide/issues/21">the JSON Schemas</a>. The corresponding uml diagrams are generated with <a href="http://plantuml.com/">plantuml</a>. For even better understandibility, the attributes are sorted lexicographically.</p>\n<p>Although the website has the same look, it is completely reworked as a <a href="https://en.wikipedia.org/wiki/Single-page_application">single-page application</a> to generate the specification directly from the json-schema. Instead of using <a href="https://hexo.io/">hexo</a> it is now based on <a href="https://nuxtjs.org/">nuxt.js</a>. <a href="https://vuejs.org/">Vue.js</a> as a basis for nuxt is also used in the <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">new PPMP client application called binsa</a>.</p>\n',url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z",tags:["media"],prev:{url:"/blog/2017/10/19/i40-testbed-started",title:"Unide is part of Industry 4.0 Testbed"},next:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/1/26/index.html b/blog/2018/1/26/index.html
index 22f041e..a101317 100644
--- a/blog/2018/1/26/index.html
+++ b/blog/2018/1/26/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/1/index.html b/blog/2018/1/index.html
index a07003e..6f05d9f 100644
--- a/blog/2018/1/index.html
+++ b/blog/2018/1/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/2/11/Transform-PPMP-with-camel/index.html b/blog/2018/2/11/Transform-PPMP-with-camel/index.html
index 2dcd34c..c34e6a6 100644
--- a/blog/2018/2/11/Transform-PPMP-with-camel/index.html
+++ b/blog/2018/2/11/Transform-PPMP-with-camel/index.html
@@ -702,6 +702,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Transform-PPMP-with-camel",content:'<p>The Production Performance Management Protocol (PPMP) is a simple structure to send out machine data. Unide, as its hosting project, is supposed to provide exemplary implementations.</p>\n<p>We have already published <a href="https://github.com/eclipse/unide/tree/master/servers/rest">a REST server</a>, <a href="https://github.com/eclipse/unide.java">java-</a> and <a href="https://github.com/eclipse/unide.python">python-</a> bindings and an <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">html5-client</a>. But how are these implementations used in real life?</p>\n<h1>The Challenge</h1>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Welding robots" title="BMW plant, spot welding" src="/unide/images/blog/Transform-PPMP-with-camel-welding.jpg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tBMW plant in Leipzig, Germany: Spot welding <a href="https://creativecommons.org/licenses/by-sa/2.0/de/deed.en">(CC BY-SA 2.0 DE)</a>\n\t</div>\n</div>\n<p>In the automotive industry, <a href="https://en.wikipedia.org/wiki/Spot_welding">welding spots</a> are crucial for the quality of a car and the security of the passenger. In modern production lines, hundreds of welding spots have to be precisely set in a single shift. In order to reduce product rework, scrap, destructible tests and machine downtime, the quality should be monitored consistently. That\'s what special welding controller in machines do. Unfortunately, this data is often only used locally, for a short period of time and in proprietary formats. Just enough to determine the immediate process outcome. In that case, further opportunities of analysing the information are not taken. With the continuous increase in complexity, price and time pressure, the demand for further processing and optimization grows. The data could be used to prevent or even predict maintenance or just store the data in long time archives in case of legal disputes.</p>\n<p>One prerequisite for such connectivity is the hardware and its connectivity. Older generations of welding controllers can only be accessed with proprietary stacks (like the <a href="https://www.boschrexroth.com/en/xc/products/product-groups/welding-technology/controllers-with-power-section/mf-system-psi6000/index">PSI 6000</a>) whereas newer generations (like the <a href="https://www.boschrexroth.com/en/xc/company/press/index2-29696">PRC 7000</a>) are much more flexible in terms of networking and communication. In general, there are two aspects that make up the communication: the transport protocol and the structure of the payload. This is similar to our daily life: if you want to chat with your friends, you need to use the same messenger or communication technology (phone, email) and you need speak the same language (English, German etc.).</p>\n<p>In the following sections, let\'s assume we need to transform the transport protocol as well as the payload. The data is generated by a welding controller and should be passed to <a href="https://unide.eclipse.org">the unide REST server</a> for persisting it in a dedicated timeseries database.</p>\n<h1>The Approach</h1>\n<p>We want to find a way to receive the data, transform it into PPMP and store it into a database in our <a href="https://unide.eclipse.org">REST Server</a>.</p>\n<p>First, we need to understand which interfaces the controller has, which communication protocol is used, and how the payload would be interpreted. In the case of the PSI 6000, it was configured to publish the quality data to a <a href="https://de.wikipedia.org/wiki/MQTT">mqtt</a> message broker (here: <a href="https://mosquitto.org/">Eclipse mosquitto</a>). We don\'t have an extensive documentation of the payload, but we can look at samples of it (some Curve data shortened at the end):</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"Name"</span><span class="token operator">:</span> <span class="token string">"WeldLog/UIR Testrack 24/"</span><span class="token punctuation">,</span>\n  <span class="token property">"WeldTimer"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n  <span class="token property">"TimeStamp"</span><span class="token operator">:</span> <span class="token string">"2018-01-17T10:41:00.0008436+01:00"</span><span class="token punctuation">,</span>\n  <span class="token property">"OutputFormat"</span><span class="token operator">:</span> <span class="token string">"JSON"</span><span class="token punctuation">,</span>\n  <span class="token property">"Message"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n    <span class="token property">"WeldLog"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n      <span class="token property">"protRecord_ID"</span><span class="token operator">:</span> <span class="token number">734827</span><span class="token punctuation">,</span>\n      <span class="token property">"dateTime"</span><span class="token operator">:</span> <span class="token string">"2018-01-15T16:52:32.09"</span><span class="token punctuation">,</span>\n      <span class="token property">"timerName"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n      <span class="token property">"progNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"spotName"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"wear"</span><span class="token operator">:</span> <span class="token number">8312480</span><span class="token punctuation">,</span>\n      <span class="token property">"wearPerCent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"measureState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"powerState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceStateAdd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceRepeat"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorMode"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemandStd"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"ilsts"</span><span class="token operator">:</span> <span class="token number">13.14</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand1"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation1"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand2"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual2"</span><span class="token operator">:</span> <span class="token number">13.16</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation2"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand3"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation3"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"phaStd"</span><span class="token operator">:</span> <span class="token number">24.96</span><span class="token punctuation">,</span>\n      <span class="token property">"pha1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"pha2"</span><span class="token operator">:</span> <span class="token number">24.64</span><span class="token punctuation">,</span>\n      <span class="token property">"pha3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"t_iDemandStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"tActualStd"</span><span class="token operator">:</span> <span class="token number">878</span><span class="token punctuation">,</span>\n      <span class="token property">"partIdentString"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"tipDressCounter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"electrodeNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForceSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThicknessSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGpSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSpotWithSg"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorCurrent"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorTemp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForce"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThickness"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGc"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspJunction"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspMax"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaActual"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaMinDemand"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSplashTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"nuggetDiameter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"usp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"normingTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStartTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"returnToConstantCurrent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"declineUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"offsetUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"currentFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"triggerTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrRegulationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageActualValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageRefValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"currentActualValue"</span><span class="token operator">:</span> <span class="token number">13.17</span><span class="token punctuation">,</span>\n      <span class="token property">"currentReferenceValue"</span><span class="token operator">:</span> <span class="token number">13.95</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeActualValue"</span><span class="token operator">:</span> <span class="token number">876</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeRefValue"</span><span class="token operator">:</span> <span class="token number">760</span><span class="token punctuation">,</span>\n      <span class="token property">"energyActualValue"</span><span class="token operator">:</span> <span class="token number">395.1261</span><span class="token punctuation">,</span>\n      <span class="token property">"energyRefValue"</span><span class="token operator">:</span> <span class="token number">342</span><span class="token punctuation">,</span>\n      <span class="token property">"powerActualValue"</span><span class="token operator">:</span> <span class="token number">395.133</span><span class="token punctuation">,</span>\n      <span class="token property">"powerRefValue"</span><span class="token operator">:</span> <span class="token number">449.35</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceActualValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceRefValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthActualValue"</span><span class="token operator">:</span> <span class="token number">25.02</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthRefValue"</span><span class="token operator">:</span> <span class="token number">26.19</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorActValue"</span><span class="token operator">:</span> <span class="token number">55</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"thresholdStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"wldEffectStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uipActualValue"</span><span class="token operator">:</span> <span class="token number">126</span><span class="token punctuation">,</span>\n      <span class="token property">"uipRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirExpulsionTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMeasuringActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirRegulationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppRefCntValue"</span><span class="token operator">:</span> <span class="token number">9</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppActCntValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_1"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_2"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_3"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_4"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_5"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_6"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_7"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_8"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_9"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_10"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_11"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_12"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_13"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_14"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_15"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_16"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_17"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_18"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"uipMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfActualValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrModeOff"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"reweldActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"weldspotRefIdent"</span><span class="token operator">:</span> <span class="token string">"UIR_PART"</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Torque_Gp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Force_Corr"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Weldspot_Geo_Wear"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Wear_Length"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Beam_UpArching"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"CurrentCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">11621</span><span class="token punctuation">,</span>\n        <span class="token number">15434</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"VoltageCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">39</span><span class="token punctuation">,</span>\n        <span class="token number">29</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"ForceCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span>\n    <span class="token punctuation">}</span>\n  <span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>That\'s already very detailed, but it\'s unclear which device / welding spot the data comes from and what the timing of the curves was. Let\'s get some more structure in with PPMP!</p>\n<p>In PPMP, we have the option to differentiate between discrete manufacturing data (MES - part produced) by using the <a href="/unide/specification/measurement-message">measurement-message</a> and detailed process data by using the <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>. In the welding payload, that\'s all combined in one message. So we also want to split this payload into two.</p>\n<h2>Introducing Apache Camel</h2>\n<div class="card figure is-pulled-left">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Apache Camel" title="Apache Camel" src="/unide/images/blog/Transform-PPMP-with-camel-camel.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tApache Camel, <a href="https://www.apache.org/licenses/LICENSE-2.0">(Apache&nbsp;License&nbsp;2.0)</a>\n\t</div>\n</div>\n<p><a href="https://en.wikipedia.org/wiki/Apache_Camel">Apache Camel</a> is a java-based Open Source framework, that can transform and route data. It supports most of the <a href="https://en.wikipedia.org/wiki/Enterprise_Integration_Patterns">Enterprise Integration Patterns</a> and hundreds(!) of <a href="http://camel.apache.org/components.html">connectors / components</a>. Think of it as an extensive transformation and workflow automation engine. In fact, it\'s so powerful and versatile, that it unfortunately doesn\'t come with a visual user interface or a plug-and-play installer. Luckily, for everyone who doesn\'t happen to be a java expert, there\'s also an xml configuration (via <a href="https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xsd-configuration.html">spring xml</a>). And that\'s mostly all we need!</p>\n<h2>Transforming the Communication Protocol</h2>\n<p>We will use Spring XML to configure Apache Camel. The workflow in Camel are called <code>&lt;routes&gt;</code>. So let\'s create a route that transforms our mqtt to REST protocol:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>That\'s it! A <code>&lt;route&gt;</code> that reads<code>&lt;from&gt;</code> mqtt and forwards <code>&lt;to&gt;</code> http. Not so difficult, is it? We could use many of the other <a href="http://camel.apache.org/components.html">connectors / components</a> in the example above as well to transform from/to different protocols.</p>\n<p>But wait! The welding payload above was not PPMP. So we also need to normalize the payload.</p>\n<h2>Normalizing the Payload</h2>\n<p>Now that we can easily convert protocols, let\'s address the structure of the payload. Overall, we want to have a workflow that looks as described in the diagram below:</p>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="data workflow" title="data workflow" src="/unide/images/blog/Transform-PPMP-with-camel-1.svg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tWorkflow to extract the data from controller, convert it and send the data to the cloud application\n\t</div>\n</div>\n<p>The extra steps here are:</p>\n<ol>\n<li>transform the PSI 6000 JSON String payload to a java object</li>\n<li>transform the PSI 6000 java object to two PPMP-java objects (<a href="/unide/specification/measurement-message">measurement-message</a> and <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>)</li>\n<li>split up the two PPMP objects</li>\n<li>route the objects individually</li>\n<li>transform each PPMP object back to a String</li>\n</ol>\n<h3>Create the PSI 6000 Java Object</h3>\n<p>Luckily, there are helpers for transforming json (or xml) to plain old java objects (POJOs). We are using <a href="http://www.jsonschema2pojo.org/">jsonschema2pojo</a> to convert the above json sample to POJOs with Jackson 2.x annotation. I name the resulting data type class <code>PSI6000DataType</code> and organize it in the package <code>org.eclipse.iot.unide.integrators</code>. Based on the given testdata, jsonschema2pojo cannot fully deduct all attribute types correctly. In order to allow floating point values, we would rename all <code>Integer</code> and <code>Object</code> types to <code>Number</code> in the WeldLog.java file. Also in the same file, we would change the type of the <code>dateTime</code> field from String to <code>LocalDateTime</code> to be more accurate:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token annotation punctuation">@JsonProperty</span><span class="token punctuation">(</span><span class="token string">"dateTime"</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonSerialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeSerializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonDeserialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeDeserializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token keyword">private</span> LocalDateTime dateTime<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>For that, we also need to include the respective imports:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonDeserialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonSerialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>deser<span class="token punctuation">.</span>LocalDateTimeDeserializer<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>ser<span class="token punctuation">.</span>LocalDateTimeSerializer<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>and adjust the getter (<code>getDateTime()</code>), setter (<code>setDateTime()</code>) and the type in the constructor (<code>public WeldLog(...)</code>) accordingly.</p>\n<p>Camel will be able to transform (&quot;<em>unmarshal</em>&quot;) this datatype from a string to a POJO after adding the definition to the above Spring XML:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Use unide.java binding for PPMP Java Objects</h3>\n<p>For eventually transforming the PPMP objects back to String (&quot;<em>marshal</em>&quot;), we can make use of the <a href="https://github.com/eclipse/unide.java">unide PPMP java binding</a>. Just adjust the dataFormats section of the Spring XML so that it reads:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> \n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Create the Workflow</h3>\n<p>In order to better structure data flow, we use multiple <code>&lt;route&gt;</code>-s: one for retrieving the data and two more after the split of the payload. They are connected via the virtual camel protocol &quot;<em>direct</em>&quot;. In the following Spring XML, you can also find some <code>&lt;log&gt;</code> points and additional steps to set http header (<code>&lt;setHeader&gt;</code>) for posting to the unide server:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>bean</span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span> <span class="token attr-name">autoStartup</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>true<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>unmarshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Type<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>application/json; charset=utf-8<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>CamelHttpMethod<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>POST<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>done<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>{"result": true }<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[0]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId measurement: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>measurement sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[1]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId process: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/process?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>process sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>You might have noticed that we have not yet discussed one important item in this workflow: how do we actually transform the payload from one format to another?</p>\n<h3>Transforming from PSI 6000 POJO to PPMP POJOs</h3>\n<p>One thing that we\'ll hardwire as java code is the transformation from the source to the target structure. The same functionality could be achieved with scripting components (e.g. <a href="http://camel.apache.org/groovy.html">groovy</a>, but that would be less powerful and worse performance. Since we don\'t expect the format to change but mostly the workflow or endpoints, implementing a java bean is not too much effort. Here\'s how:<br>\nApache Camel offers a <code>Processor</code> interface that can be used to override the <code>process()</code> function. This function receives the complete message (<code>exchange</code>) and can modify it in any way. Since we have created the PSI 6000 Java Object already and want to produce PPMP java objects, the logic is mostly about creating the child objects and wiring the suitable getter to corresponding setter.</p>\n<pre class="language-java"><code class="language-java"><span class="token keyword">package</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>integrators<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>OffsetDateTime<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>ZoneOffset<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>Arrays<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>LinkedList<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>List<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Exchange<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Message<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Processor<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>Device<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>MetaData<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>MeasurementsWrapper<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Process<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>ProcessWrapper<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>core<span class="token punctuation">.</span>JsonProcessingException<span class="token punctuation">;</span>\n\n<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">PSI6000</span> <span class="token keyword">implements</span> <span class="token class-name">Processor</span> <span class="token punctuation">{</span>\n\n\t<span class="token keyword">public</span> <span class="token function">PSI6000</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap <span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap map<span class="token punctuation">,</span> String name<span class="token punctuation">,</span> Number value<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>value <span class="token operator">!=</span> null<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tmap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span>name<span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t\t<span class="token keyword">return</span> map<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token annotation punctuation">@Override</span>\n\t<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">process</span><span class="token punctuation">(</span>Exchange exchange<span class="token punctuation">)</span> <span class="token keyword">throws</span> JsonProcessingException<span class="token punctuation">,</span> Exception <span class="token punctuation">{</span>\n\t\tMessage msg <span class="token operator">=</span> exchange<span class="token punctuation">.</span><span class="token function">getIn</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tPSI6000DataType doc <span class="token operator">=</span> msg<span class="token punctuation">.</span><span class="token function">getBody</span><span class="token punctuation">(</span>PSI6000DataType<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tObject <span class="token punctuation">[</span><span class="token punctuation">]</span>bundle <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformProcess</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmsg<span class="token punctuation">.</span><span class="token function">setBody</span><span class="token punctuation">(</span>bundle<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\texchange<span class="token punctuation">.</span><span class="token function">setOut</span><span class="token punctuation">(</span>msg<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> <span class="token keyword">void</span> <span class="token function">setSpotName</span><span class="token punctuation">(</span>Device device<span class="token punctuation">,</span> WeldLog wl<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tString spotName <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>spotName <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> spotName<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tMetaData md <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MetaData</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tmd<span class="token punctuation">.</span><span class="token function">setMetaDataValue</span><span class="token punctuation">(</span><span class="token string">"spotName"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tdevice<span class="token punctuation">.</span><span class="token function">setMetaData</span><span class="token punctuation">(</span>md<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> ProcessWrapper <span class="token function">transformProcess</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tProcessWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ProcessWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tOffsetDateTime odt <span class="token operator">=</span> OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// process</span>\n\t\tProcess process <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Process</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setExternalProcessId</span><span class="token punctuation">(</span>String<span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getProtRecordID</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setProcess</span><span class="token punctuation">(</span>process<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">//values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"curentCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"voltageCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"forceCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getForceCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> MeasurementsWrapper <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tMeasurementsWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MeasurementsWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"$_time"</span><span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wearPerCent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWearPerCent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"measureState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMeasureState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceStateAdd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceStateAdd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceRepeat"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceRepeat</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorMode"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorMode</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"ilsts"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIlsts</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"phaStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPhaStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"t_iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tActualStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTActualStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "partIdentString",</span>\n\t\t<span class="token comment">// wl.getPartIdentString());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tipDressCounter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTipDressCounter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"electrodeNo"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getElectrodeNo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForceSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThicknessSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThicknessSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGpSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGpSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSpotWithSg"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSpotWithSg</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorTemp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorTemp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForce"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForce</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThickness"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThickness</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGc"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGc</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspJunction"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspJunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspMax"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspMax</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaActual"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaActual</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaMinDemand"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaMinDemand</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSplashTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSplashTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"nuggetDiameter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNuggetDiameter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"usp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"normingTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNormingTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStartTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStartTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"returnToConstantCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReturnToConstantCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"declineUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getDeclineUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"offsetUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getOffsetUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"triggerTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTriggerTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentReferenceValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentReferenceValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorActValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorActValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"thresholdStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getThresholdStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wldEffectStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWldEffectStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirExpulsionTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirExpulsionTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppRefCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppRefCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppActCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppActCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP161</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP162</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP163</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_4"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP164</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_5"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP165</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_6"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP326</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_7"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP167</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_8"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP168</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_9"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP169</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_10"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1610</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_11"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1611</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_12"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3212</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_13"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1613</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_14"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1614</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_15"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1615</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_16"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1616</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_17"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1617</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_18"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3218</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrModeOff"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrModeOff</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"reweldActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReweldActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "weldspotRefIdent",</span>\n\t\t<span class="token comment">// wl.getWeldspotRefIdent());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Torque_Gp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgTorqueGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Force_Corr"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceCorr</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Weldspot_Geo_Wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWeldspotGeoWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Wear_Length"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWearLength</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Beam_UpArching"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgBeamUpArching</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<h1>Summary</h1>\n<p>It takes a while to understand the involved software components. Yet, once the set up is running, it gets much easier to adapt it to another Use Case. And another. The pattern of wiring protocols and transforming the payload is very similar. The involved frameworks are powerful enough to support many Use Cases. This article is supposed to show that there are simple possibilities to transform transport protocols and payloads, so that you can focus on addressing functional challenges.</p>\n',url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/1/26/New-website",title:"Updated Website"},next:{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Transform-PPMP-with-camel",content:'<p>The Production Performance Management Protocol (PPMP) is a simple structure to send out machine data. Unide, as its hosting project, is supposed to provide exemplary implementations.</p>\n<p>We have already published <a href="https://github.com/eclipse/unide/tree/master/servers/rest">a REST server</a>, <a href="https://github.com/eclipse/unide.java">java-</a> and <a href="https://github.com/eclipse/unide.python">python-</a> bindings and an <a href="https://github.com/eclipse/unide/tree/master/clients/binsa">html5-client</a>. But how are these implementations used in real life?</p>\n<h1>The Challenge</h1>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Welding robots" title="BMW plant, spot welding" src="/unide/images/blog/Transform-PPMP-with-camel-welding.jpg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tBMW plant in Leipzig, Germany: Spot welding <a href="https://creativecommons.org/licenses/by-sa/2.0/de/deed.en">(CC BY-SA 2.0 DE)</a>\n\t</div>\n</div>\n<p>In the automotive industry, <a href="https://en.wikipedia.org/wiki/Spot_welding">welding spots</a> are crucial for the quality of a car and the security of the passenger. In modern production lines, hundreds of welding spots have to be precisely set in a single shift. In order to reduce product rework, scrap, destructible tests and machine downtime, the quality should be monitored consistently. That\'s what special welding controller in machines do. Unfortunately, this data is often only used locally, for a short period of time and in proprietary formats. Just enough to determine the immediate process outcome. In that case, further opportunities of analysing the information are not taken. With the continuous increase in complexity, price and time pressure, the demand for further processing and optimization grows. The data could be used to prevent or even predict maintenance or just store the data in long time archives in case of legal disputes.</p>\n<p>One prerequisite for such connectivity is the hardware and its connectivity. Older generations of welding controllers can only be accessed with proprietary stacks (like the <a href="https://www.boschrexroth.com/en/xc/products/product-groups/welding-technology/controllers-with-power-section/mf-system-psi6000/index">PSI 6000</a>) whereas newer generations (like the <a href="https://www.boschrexroth.com/en/xc/company/press/index2-29696">PRC 7000</a>) are much more flexible in terms of networking and communication. In general, there are two aspects that make up the communication: the transport protocol and the structure of the payload. This is similar to our daily life: if you want to chat with your friends, you need to use the same messenger or communication technology (phone, email) and you need speak the same language (English, German etc.).</p>\n<p>In the following sections, let\'s assume we need to transform the transport protocol as well as the payload. The data is generated by a welding controller and should be passed to <a href="https://unide.eclipse.org">the unide REST server</a> for persisting it in a dedicated timeseries database.</p>\n<h1>The Approach</h1>\n<p>We want to find a way to receive the data, transform it into PPMP and store it into a database in our <a href="https://unide.eclipse.org">REST Server</a>.</p>\n<p>First, we need to understand which interfaces the controller has, which communication protocol is used, and how the payload would be interpreted. In the case of the PSI 6000, it was configured to publish the quality data to a <a href="https://de.wikipedia.org/wiki/MQTT">mqtt</a> message broker (here: <a href="https://mosquitto.org/">Eclipse mosquitto</a>). We don\'t have an extensive documentation of the payload, but we can look at samples of it (some Curve data shortened at the end):</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"Name"</span><span class="token operator">:</span> <span class="token string">"WeldLog/UIR Testrack 24/"</span><span class="token punctuation">,</span>\n  <span class="token property">"WeldTimer"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n  <span class="token property">"TimeStamp"</span><span class="token operator">:</span> <span class="token string">"2018-01-17T10:41:00.0008436+01:00"</span><span class="token punctuation">,</span>\n  <span class="token property">"OutputFormat"</span><span class="token operator">:</span> <span class="token string">"JSON"</span><span class="token punctuation">,</span>\n  <span class="token property">"Message"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n    <span class="token property">"WeldLog"</span><span class="token operator">:</span> <span class="token punctuation">{</span>\n      <span class="token property">"protRecord_ID"</span><span class="token operator">:</span> <span class="token number">734827</span><span class="token punctuation">,</span>\n      <span class="token property">"dateTime"</span><span class="token operator">:</span> <span class="token string">"2018-01-15T16:52:32.09"</span><span class="token punctuation">,</span>\n      <span class="token property">"timerName"</span><span class="token operator">:</span> <span class="token string">"UIR Testrack 24"</span><span class="token punctuation">,</span>\n      <span class="token property">"progNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"spotName"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"wear"</span><span class="token operator">:</span> <span class="token number">8312480</span><span class="token punctuation">,</span>\n      <span class="token property">"wearPerCent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"measureState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"powerState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceState"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceStateAdd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sequenceRepeat"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"monitorMode"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemandStd"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"ilsts"</span><span class="token operator">:</span> <span class="token number">13.14</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand1"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation1"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand2"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual2"</span><span class="token operator">:</span> <span class="token number">13.16</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation2"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"iDemand3"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>\n      <span class="token property">"iActual3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulation3"</span><span class="token operator">:</span> <span class="token number">4</span><span class="token punctuation">,</span>\n      <span class="token property">"phaStd"</span><span class="token operator">:</span> <span class="token number">24.96</span><span class="token punctuation">,</span>\n      <span class="token property">"pha1"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"pha2"</span><span class="token operator">:</span> <span class="token number">24.64</span><span class="token punctuation">,</span>\n      <span class="token property">"pha3"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"t_iDemandStd"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"tActualStd"</span><span class="token operator">:</span> <span class="token number">878</span><span class="token punctuation">,</span>\n      <span class="token property">"partIdentString"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span>\n      <span class="token property">"tipDressCounter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"electrodeNo"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForceSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThicknessSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGpSetPoint"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSpotWithSg"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorCurrent"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgMotorTemp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgForce"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSheetThickness"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sgSagGc"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspJunction"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regUsrUspMax"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaActual"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSpotDiaMinDemand"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regSplashTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"nuggetDiameter"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"usp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"normingTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"regulationStartTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"returnToConstantCurrent"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"declineUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"offsetUsp"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"currentFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"triggerTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrRegulationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageActualValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"voltageRefValue"</span><span class="token operator">:</span> <span class="token number">0.03</span><span class="token punctuation">,</span>\n      <span class="token property">"currentActualValue"</span><span class="token operator">:</span> <span class="token number">13.17</span><span class="token punctuation">,</span>\n      <span class="token property">"currentReferenceValue"</span><span class="token operator">:</span> <span class="token number">13.95</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeActualValue"</span><span class="token operator">:</span> <span class="token number">876</span><span class="token punctuation">,</span>\n      <span class="token property">"weldTimeRefValue"</span><span class="token operator">:</span> <span class="token number">760</span><span class="token punctuation">,</span>\n      <span class="token property">"energyActualValue"</span><span class="token operator">:</span> <span class="token number">395.1261</span><span class="token punctuation">,</span>\n      <span class="token property">"energyRefValue"</span><span class="token operator">:</span> <span class="token number">342</span><span class="token punctuation">,</span>\n      <span class="token property">"powerActualValue"</span><span class="token operator">:</span> <span class="token number">395.133</span><span class="token punctuation">,</span>\n      <span class="token property">"powerRefValue"</span><span class="token operator">:</span> <span class="token number">449.35</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceActualValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"resistanceRefValue"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthActualValue"</span><span class="token operator">:</span> <span class="token number">25.02</span><span class="token punctuation">,</span>\n      <span class="token property">"pulseWidthRefValue"</span><span class="token operator">:</span> <span class="token number">26.19</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorActValue"</span><span class="token operator">:</span> <span class="token number">55</span><span class="token punctuation">,</span>\n      <span class="token property">"stabilisationFactorRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"thresholdStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"wldEffectStabilisationFactor"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uipActualValue"</span><span class="token operator">:</span> <span class="token number">126</span><span class="token punctuation">,</span>\n      <span class="token property">"uipRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirExpulsionTime"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMeasuringActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirRegulationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirMonitoringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirWeldTimeProlongationActive"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppRefCntValue"</span><span class="token operator">:</span> <span class="token number">9</span><span class="token punctuation">,</span>\n      <span class="token property">"uirQStoppActCntValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirUipCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"uirPsfCondTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_1"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_2"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_3"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_4"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_5"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_6"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_7"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_8"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_9"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_10"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_11"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_12"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_13"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_14"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_15"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_16"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP16_17"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"weldSpotCustDataP32_18"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"uipMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfActualValue"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfRefValue"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondUpperTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMonCondLowerTol"</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>\n      <span class="token property">"fqfMeasuringActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"xqrModeOff"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"reweldActive"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>\n      <span class="token property">"weldspotRefIdent"</span><span class="token operator">:</span> <span class="token string">"UIR_PART"</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Torque_Gp"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Force_Corr"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Weldspot_Geo_Wear"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Wear_Length"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"sg_Beam_UpArching"</span><span class="token operator">:</span> <span class="token null">null</span><span class="token punctuation">,</span>\n      <span class="token property">"CurrentCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">11621</span><span class="token punctuation">,</span>\n        <span class="token number">15434</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"VoltageCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">39</span><span class="token punctuation">,</span>\n        <span class="token number">29</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span><span class="token punctuation">,</span>\n      <span class="token property">"ForceCurve"</span><span class="token operator">:</span> <span class="token punctuation">[</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        <span class="token number">49</span><span class="token punctuation">,</span>\n        ...\n      <span class="token punctuation">]</span>\n    <span class="token punctuation">}</span>\n  <span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>That\'s already very detailed, but it\'s unclear which device / welding spot the data comes from and what the timing of the curves was. Let\'s get some more structure in with PPMP!</p>\n<p>In PPMP, we have the option to differentiate between discrete manufacturing data (MES - part produced) by using the <a href="/unide/specification/measurement-message">measurement-message</a> and detailed process data by using the <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>. In the welding payload, that\'s all combined in one message. So we also want to split this payload into two.</p>\n<h2>Introducing Apache Camel</h2>\n<div class="card figure is-pulled-left">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="Apache Camel" title="Apache Camel" src="/unide/images/blog/Transform-PPMP-with-camel-camel.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tApache Camel, <a href="https://www.apache.org/licenses/LICENSE-2.0">(Apache&nbsp;License&nbsp;2.0)</a>\n\t</div>\n</div>\n<p><a href="https://en.wikipedia.org/wiki/Apache_Camel">Apache Camel</a> is a java-based Open Source framework, that can transform and route data. It supports most of the <a href="https://en.wikipedia.org/wiki/Enterprise_Integration_Patterns">Enterprise Integration Patterns</a> and hundreds(!) of <a href="http://camel.apache.org/components.html">connectors / components</a>. Think of it as an extensive transformation and workflow automation engine. In fact, it\'s so powerful and versatile, that it unfortunately doesn\'t come with a visual user interface or a plug-and-play installer. Luckily, for everyone who doesn\'t happen to be a java expert, there\'s also an xml configuration (via <a href="https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xsd-configuration.html">spring xml</a>). And that\'s mostly all we need!</p>\n<h2>Transforming the Communication Protocol</h2>\n<p>We will use Spring XML to configure Apache Camel. The workflow in Camel are called <code>&lt;routes&gt;</code>. So let\'s create a route that transforms our mqtt to REST protocol:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>That\'s it! A <code>&lt;route&gt;</code> that reads<code>&lt;from&gt;</code> mqtt and forwards <code>&lt;to&gt;</code> http. Not so difficult, is it? We could use many of the other <a href="http://camel.apache.org/components.html">connectors / components</a> in the example above as well to transform from/to different protocols.</p>\n<p>But wait! The welding payload above was not PPMP. So we also need to normalize the payload.</p>\n<h2>Normalizing the Payload</h2>\n<p>Now that we can easily convert protocols, let\'s address the structure of the payload. Overall, we want to have a workflow that looks as described in the diagram below:</p>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="data workflow" title="data workflow" src="/unide/images/blog/Transform-PPMP-with-camel-1.svg"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tWorkflow to extract the data from controller, convert it and send the data to the cloud application\n\t</div>\n</div>\n<p>The extra steps here are:</p>\n<ol>\n<li>transform the PSI 6000 JSON String payload to a java object</li>\n<li>transform the PSI 6000 java object to two PPMP-java objects (<a href="/unide/specification/measurement-message">measurement-message</a> and <a href="https://www.eclipse.org/unide/specification/process-message">process-message</a>)</li>\n<li>split up the two PPMP objects</li>\n<li>route the objects individually</li>\n<li>transform each PPMP object back to a String</li>\n</ol>\n<h3>Create the PSI 6000 Java Object</h3>\n<p>Luckily, there are helpers for transforming json (or xml) to plain old java objects (POJOs). We are using <a href="http://www.jsonschema2pojo.org/">jsonschema2pojo</a> to convert the above json sample to POJOs with Jackson 2.x annotation. I name the resulting data type class <code>PSI6000DataType</code> and organize it in the package <code>org.eclipse.iot.unide.integrators</code>. Based on the given testdata, jsonschema2pojo cannot fully deduct all attribute types correctly. In order to allow floating point values, we would rename all <code>Integer</code> and <code>Object</code> types to <code>Number</code> in the WeldLog.java file. Also in the same file, we would change the type of the <code>dateTime</code> field from String to <code>LocalDateTime</code> to be more accurate:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token annotation punctuation">@JsonProperty</span><span class="token punctuation">(</span><span class="token string">"dateTime"</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonSerialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeSerializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token annotation punctuation">@JsonDeserialize</span><span class="token punctuation">(</span>using <span class="token operator">=</span> LocalDateTimeDeserializer<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span>\n<span class="token keyword">private</span> LocalDateTime dateTime<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>For that, we also need to include the respective imports:</p>\n<pre class="language-java"><code class="language-java"><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonDeserialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>databind<span class="token punctuation">.</span>annotation<span class="token punctuation">.</span>JsonSerialize<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>deser<span class="token punctuation">.</span>LocalDateTimeDeserializer<span class="token punctuation">;</span>\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>datatype<span class="token punctuation">.</span>jsr310<span class="token punctuation">.</span>ser<span class="token punctuation">.</span>LocalDateTimeSerializer<span class="token punctuation">;</span>\n<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>\n</code></pre>\n<p>and adjust the getter (<code>getDateTime()</code>), setter (<code>setDateTime()</code>) and the type in the constructor (<code>public WeldLog(...)</code>) accordingly.</p>\n<p>Camel will be able to transform (&quot;<em>unmarshal</em>&quot;) this datatype from a string to a POJO after adding the definition to the above Spring XML:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Use unide.java binding for PPMP Java Objects</h3>\n<p>For eventually transforming the PPMP objects back to String (&quot;<em>marshal</em>&quot;), we can make use of the <a href="https://github.com/eclipse/unide.java">unide PPMP java binding</a>. Just adjust the dataFormats section of the Spring XML so that it reads:</p>\n<pre class="language-xml"><code class="language-xml">...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> \n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span>\n\t\t\t<span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n</code></pre>\n<h3>Create the Workflow</h3>\n<p>In order to better structure data flow, we use multiple <code>&lt;route&gt;</code>-s: one for retrieving the data and two more after the split of the payload. They are connected via the virtual camel protocol &quot;<em>direct</em>&quot;. In the following Spring XML, you can also find some <code>&lt;log&gt;</code> points and additional steps to set http header (<code>&lt;setHeader&gt;</code>) for posting to the unide server:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token prolog">&lt;?xml version="1.0" encoding="UTF-8"?></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>beans</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/beans<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>camel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xmlns:</span>util</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.springframework.org/schema/util\n\thttp://www.springframework.org/schema/util/spring-util.xsd \n\thttp://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans.xsd\n    http://camel.apache.org/schema/spring\n    http://camel.apache.org/schema/spring/camel-spring.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>bean</span><span class="token punctuation">></span></span>\n\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>camelContext</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://camel.apache.org/schema/spring<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dataFormats</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.integrators.PSI6000DataType<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.measurements.MeasurementsWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>json</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token attr-name">library</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Jackson<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">unmarshalTypeName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>org.eclipse.iot.unide.ppmp.process.ProcessWrapper<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">moduleClassNames</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>com.fasterxml.jackson.datatype.jsr310.JavaTimeModule<span class="token punctuation">"</span></span>\n\t\t\t\t<span class="token attr-name">disableFeatures</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>WRITE_DATES_AS_TIMESTAMPS<span class="token punctuation">"</span></span> <span class="token attr-name">include</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>NON_NULL<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dataFormats</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span> <span class="token attr-name">autoStartup</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>true<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>mqtt://psi6000?host=tcp://192.168.123.135:1883<span class="token entity" title="&amp;">&amp;amp;</span>subscribeTopicName=PSI6000//PROCESS/PPMP/PROCESS<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>unmarshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>bean</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>psi6000-to-ppmp<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Type<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>application/json; charset=utf-8<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>CamelHttpMethod<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>constant</span><span class="token punctuation">></span></span>POST<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>constant</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>multicast</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>done<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>{"result": true }<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[0]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId measurement: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpMeasurementMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending measurement<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/measurement?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>measurement sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>direct:process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>${body[1]}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>deviceId process: ${body.device.deviceID}<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>marshal</span> <span class="token attr-name">ref</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ppmpProcessMessage<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sending process<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setHeader</span> <span class="token attr-name">headerName</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Content-Length<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>body.length<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setHeader</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>to</span>\n\t\t\t\t<span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://unide.eclipse.org:8080/rest/v2/process?bridgeEndpoint=true<span class="token entity" title="&amp;">&amp;amp;</span>throwExceptionOnFailure=true<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>log</span> <span class="token attr-name">message</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>process sent<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>camelContext</span><span class="token punctuation">></span></span>\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>beans</span><span class="token punctuation">></span></span>\n</code></pre>\n<p>You might have noticed that we have not yet discussed one important item in this workflow: how do we actually transform the payload from one format to another?</p>\n<h3>Transforming from PSI 6000 POJO to PPMP POJOs</h3>\n<p>One thing that we\'ll hardwire as java code is the transformation from the source to the target structure. The same functionality could be achieved with scripting components (e.g. <a href="http://camel.apache.org/groovy.html">groovy</a>, but that would be less powerful and worse performance. Since we don\'t expect the format to change but mostly the workflow or endpoints, implementing a java bean is not too much effort. Here\'s how:<br>\nApache Camel offers a <code>Processor</code> interface that can be used to override the <code>process()</code> function. This function receives the complete message (<code>exchange</code>) and can modify it in any way. Since we have created the PSI 6000 Java Object already and want to produce PPMP java objects, the logic is mostly about creating the child objects and wiring the suitable getter to corresponding setter.</p>\n<pre class="language-java"><code class="language-java"><span class="token keyword">package</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>integrators<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>OffsetDateTime<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>time<span class="token punctuation">.</span>ZoneOffset<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>Arrays<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>LinkedList<span class="token punctuation">;</span>\n<span class="token keyword">import</span> java<span class="token punctuation">.</span>util<span class="token punctuation">.</span>List<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Exchange<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Message<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>camel<span class="token punctuation">.</span>Processor<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>Device<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>commons<span class="token punctuation">.</span>MetaData<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>MeasurementsWrapper<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Process<span class="token punctuation">;</span>\n<span class="token keyword">import</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>ProcessWrapper<span class="token punctuation">;</span>\n\n<span class="token keyword">import</span> com<span class="token punctuation">.</span>fasterxml<span class="token punctuation">.</span>jackson<span class="token punctuation">.</span>core<span class="token punctuation">.</span>JsonProcessingException<span class="token punctuation">;</span>\n\n<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">PSI6000</span> <span class="token keyword">implements</span> <span class="token class-name">Processor</span> <span class="token punctuation">{</span>\n\n\t<span class="token keyword">public</span> <span class="token function">PSI6000</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap <span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap map<span class="token punctuation">,</span> String name<span class="token punctuation">,</span> Number value<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>value <span class="token operator">!=</span> null<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tmap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span>name<span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t\t<span class="token keyword">return</span> map<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token annotation punctuation">@Override</span>\n\t<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">process</span><span class="token punctuation">(</span>Exchange exchange<span class="token punctuation">)</span> <span class="token keyword">throws</span> JsonProcessingException<span class="token punctuation">,</span> Exception <span class="token punctuation">{</span>\n\t\tMessage msg <span class="token operator">=</span> exchange<span class="token punctuation">.</span><span class="token function">getIn</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tPSI6000DataType doc <span class="token operator">=</span> msg<span class="token punctuation">.</span><span class="token function">getBody</span><span class="token punctuation">(</span>PSI6000DataType<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tObject <span class="token punctuation">[</span><span class="token punctuation">]</span>bundle <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Object</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tbundle<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>       <span class="token operator">=</span> <span class="token function">transformProcess</span><span class="token punctuation">(</span>doc<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmsg<span class="token punctuation">.</span><span class="token function">setBody</span><span class="token punctuation">(</span>bundle<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\texchange<span class="token punctuation">.</span><span class="token function">setOut</span><span class="token punctuation">(</span>msg<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> <span class="token keyword">void</span> <span class="token function">setSpotName</span><span class="token punctuation">(</span>Device device<span class="token punctuation">,</span> WeldLog wl<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tString spotName <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>spotName <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> spotName<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\tMetaData md <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MetaData</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tmd<span class="token punctuation">.</span><span class="token function">setMetaDataValue</span><span class="token punctuation">(</span><span class="token string">"spotName"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSpotName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tdevice<span class="token punctuation">.</span><span class="token function">setMetaData</span><span class="token punctuation">(</span>md<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> ProcessWrapper <span class="token function">transformProcess</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tProcessWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ProcessWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tOffsetDateTime odt <span class="token operator">=</span> OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// process</span>\n\t\tProcess process <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Process</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tprocess<span class="token punctuation">.</span><span class="token function">setExternalProcessId</span><span class="token punctuation">(</span>String<span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getProtRecordID</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setProcess</span><span class="token punctuation">(</span>process<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>odt<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">//values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>process<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"curentCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"voltageCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"forceCurve"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getForceCurve</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n\n\t<span class="token keyword">private</span> MeasurementsWrapper <span class="token function">transformMeasurement</span><span class="token punctuation">(</span>PSI6000DataType doc<span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\tMeasurementsWrapper wrapper <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">MeasurementsWrapper</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tWeldLog wl <span class="token operator">=</span> doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// device</span>\n\t\tDevice device <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Device</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tdevice<span class="token punctuation">.</span><span class="token function">setDeviceID</span><span class="token punctuation">(</span>doc<span class="token punctuation">.</span><span class="token function">getMessage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getWeldLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getTimerName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">setSpotName</span><span class="token punctuation">(</span>device<span class="token punctuation">,</span> wl<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setDevice</span><span class="token punctuation">(</span>device<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// part</span>\n\t\tString partId <span class="token operator">=</span> wl<span class="token punctuation">.</span><span class="token function">getPartIdentString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token keyword">if</span> <span class="token punctuation">(</span>partId <span class="token operator">!=</span> null <span class="token operator">&amp;&amp;</span> partId<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>\n\t\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part part <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Part</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\tpart<span class="token punctuation">.</span><span class="token function">setPartID</span><span class="token punctuation">(</span>partId<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t\twrapper<span class="token punctuation">.</span><span class="token function">setPart</span><span class="token punctuation">(</span>part<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token punctuation">}</span>\n\n\t\t<span class="token comment">// measurements</span>\n\t\tList<span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span> measurements <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LinkedList</span><span class="token operator">&lt;</span>org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements measurement <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>Measurements</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setTimestamp</span><span class="token punctuation">(</span>OffsetDateTime<span class="token punctuation">.</span><span class="token function">of</span><span class="token punctuation">(</span>wl<span class="token punctuation">.</span><span class="token function">getDateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> ZoneOffset<span class="token punctuation">.</span>UTC<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token comment">// values</span>\n\t\torg<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap seriesMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">org<span class="token punctuation">.</span>eclipse<span class="token punctuation">.</span>iot<span class="token punctuation">.</span>unide<span class="token punctuation">.</span>ppmp<span class="token punctuation">.</span>measurements<span class="token punctuation">.</span>SeriesMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tseriesMap<span class="token punctuation">.</span><span class="token function">setSeriesValue</span><span class="token punctuation">(</span><span class="token string">"$_time"</span><span class="token punctuation">,</span> Arrays<span class="token punctuation">.</span><span class="token function">asList</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wearPerCent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWearPerCent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"measureState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMeasureState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceState"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceState</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceStateAdd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceStateAdd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sequenceRepeat"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSequenceRepeat</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"monitorMode"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getMonitorMode</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"ilsts"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIlsts</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iDemand3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemand3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"iActual3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIActual3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulation3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulation3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"phaStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPhaStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pha3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPha3</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"t_iDemandStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getIDemandStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tActualStd"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTActualStd</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "partIdentString",</span>\n\t\t<span class="token comment">// wl.getPartIdentString());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"tipDressCounter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTipDressCounter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"electrodeNo"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getElectrodeNo</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForceSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThicknessSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThicknessSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGpSetPoint"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGpSetPoint</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSpotWithSg"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSpotWithSg</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgMotorTemp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgMotorTemp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgForce"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForce</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSheetThickness"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSheetThickness</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sgSagGc"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgSagGc</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspJunction"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspJunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regUsrUspMax"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegUsrUspMax</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaActual"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaActual</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSpotDiaMinDemand"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSpotDiaMinDemand</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regSplashTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegSplashTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"nuggetDiameter"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNuggetDiameter</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"usp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"normingTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getNormingTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"regulationStartTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getRegulationStartTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"returnToConstantCurrent"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReturnToConstantCurrent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"declineUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getDeclineUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"offsetUsp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getOffsetUsp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"triggerTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getTriggerTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"voltageRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getVoltageRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"currentReferenceValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getCurrentReferenceValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldTimeRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldTimeRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"energyRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getEnergyRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"powerRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPowerRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"resistanceRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getResistanceRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"pulseWidthRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getPulseWidthRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorActValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorActValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"stabilisationFactorRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getStabilisationFactorRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"thresholdStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getThresholdStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"wldEffectStabilisationFactor"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWldEffectStabilisationFactor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirExpulsionTime"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirExpulsionTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirRegulationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirRegulationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirMonitoringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirMonitoringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirWeldTimeProlongationActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirWeldTimeProlongationActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppRefCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppRefCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirQStoppActCntValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirQStoppActCntValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirUipCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirUipCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uirPsfCondTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUirPsfCondTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_1"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP161</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_2"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP162</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_3"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP163</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_4"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP164</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_5"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP165</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_6"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP326</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_7"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP167</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_8"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP168</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_9"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP169</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_10"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1610</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_11"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1611</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_12"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3212</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_13"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1613</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_14"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1614</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_15"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1615</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_16"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1616</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP16_17"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP1617</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"weldSpotCustDataP32_18"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getWeldSpotCustDataP3218</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"uipMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getUipMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfActualValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfActualValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfRefValue"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfRefValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondUpperTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondUpperTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMonCondLowerTol"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMonCondLowerTol</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"fqfMeasuringActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getFqfMeasuringActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"xqrModeOff"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getXqrModeOff</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"reweldActive"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getReweldActive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token comment">// addMeasurementPoint(seriesMap, "weldspotRefIdent",</span>\n\t\t<span class="token comment">// wl.getWeldspotRefIdent());</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Torque_Gp"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgTorqueGp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Force_Corr"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgForceCorr</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Weldspot_Geo_Wear"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWeldspotGeoWear</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Wear_Length"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgWearLength</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\t<span class="token function">addMeasurementPoint</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">,</span> <span class="token string">"sg_Beam_UpArching"</span><span class="token punctuation">,</span> wl<span class="token punctuation">.</span><span class="token function">getSgBeamUpArching</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\tmeasurement<span class="token punctuation">.</span><span class="token function">setSeriesMap</span><span class="token punctuation">(</span>seriesMap<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\tmeasurements<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>measurement<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\t\twrapper<span class="token punctuation">.</span><span class="token function">setMeasurements</span><span class="token punctuation">(</span>measurements<span class="token punctuation">)</span><span class="token punctuation">;</span>\n\n\t\t<span class="token keyword">return</span> wrapper<span class="token punctuation">;</span>\n\t<span class="token punctuation">}</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<h1>Summary</h1>\n<p>It takes a while to understand the involved software components. Yet, once the set up is running, it gets much easier to adapt it to another Use Case. And another. The pattern of wiring protocols and transforming the payload is very similar. The involved frameworks are powerful enough to support many Use Cases. This article is supposed to show that there are simple possibilities to transform transport protocols and payloads, so that you can focus on addressing functional challenges.</p>\n',url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/1/26/New-website",title:"Updated Website"},next:{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/2/11/index.html b/blog/2018/2/11/index.html
index b2392ef..4304d36 100644
--- a/blog/2018/2/11/index.html
+++ b/blog/2018/2/11/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/2/13/grinding-machine-scenario/index.html b/blog/2018/2/13/grinding-machine-scenario/index.html
index 871ea90..41180ec 100644
--- a/blog/2018/2/13/grinding-machine-scenario/index.html
+++ b/blog/2018/2/13/grinding-machine-scenario/index.html
@@ -188,6 +188,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"grinding-machine-scenario",content:'<h2>Abstract</h2>\n<p>In this blog post we present a real world condition monitoring scenario used in<br>\nthe <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, where Unide and<br>\nPPMP plays a crucial role. Moreover, we also provide a code repository and<br>\ninstructions so that you can recreate the scenario in your own computer and<br>\nlearn about its components and the communication with each other.</p>\n<h2>Introduction</h2>\n<p>In the context of the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, a<br>\nreal world condition monitoring scenario has been recreated, in which a<br>\ngrinding machine is being continuously monitored allowing to have real time<br>\nhealth checks and prevent unexpected failures.</p>\n<p>This scenario consists of the following building blocks: device, gateway,<br>\nbackend. The communication between them happens seamlessly thanks to the<br>\nProduction Performance management Protocol (PPMP).</p>\n<ul>\n<li>\n<p>The device, i.e. the grinding machine, has been retrofitted with an<br>\nacceleration sensor attached to one of its critical components. The data<br>\nprovided by this sensor is routed to the gateway in the form of a <a href="https://www.eclipse.org/unide/specification/measurement-message#messageDetail">PPMP<br>\nMeasurement Message</a>.</p>\n</li>\n<li>\n<p>The gateway receives the raw acceleration measurements, calculates some<br>\nstatistical characteristics and and applies some machine learning techniques<br>\nto them in order to evaluate the condition of the grinding machine. Then both<br>\nthe statistical values and the condition are routed to the backend, again in<br>\nthe form of a PPMP Measurement Message.</p>\n</li>\n<li>\n<p>The backend, usually in the cloud, is any component that &quot;speaks PPMP&quot; and<br>\nperforms meaningful operations on the incoming messages. Most frequently it<br>\nis responsible for storing the arriving data and making it available to apps<br>\nthat want to consume it. Common responsibilities of these apps are the<br>\nrepresentation or display of the data (e.g. dashboards), or workflows<br>\nmanagement (e.g. the grinding machine is in bad condition and an inspection<br>\nmust be carried out).</p>\n<p>The backend can be swapped effortless with any entity adhering to PPMP standard.<br>\nIn the Eclipse PPM Testbed at least two different backends have been used:</p>\n<ul>\n<li>One directly based on <a href="https://github.com/eclipse/unide">Unide</a></li>\n<li>One based on <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a>.</li>\n</ul>\n</li>\n</ul>\n<h2>Hands-on demonstration</h2>\n<p>In order to make this scenario more hands-on and interesting, within the<br>\n<a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement">Production Performance Management Testbed repository</a> project in Github, we<br>\nhave set up a <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/tree/master/grinding-machine">subproject for the grinding machine scenario</a>. There you can<br>\nfind a thorough description and code to simulate the device and the gateway,<br>\nand route messages to a given backend. The only requirements are git and conda<br>\n(the easiest way to get conda is to <a href="https://conda.io/miniconda.html">install miniconda</a>).</p>\n<p>So, let\'s get started! First of all, open your terminal and clone the<br>\nrepository:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">git</span> clone https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement eclipse-testbed-ppm\n$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>Then move to the grinding machine subproject directory:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>In that folder you will see two subfolders. The first one<br>\n<code>unide-grinding-machine</code> contains a Python program that simulates grinding<br>\nmachine and the second one <code>unide-grinding-machine-gateway</code> simulates the<br>\ngateway.</p>\n<h3>Grinding Machine simulator</h3>\n<p>Let\'s start with the first component. First <code>cd</code> to <code>unide-grinding-machine</code><br>\nand then create the conda environment:</p>\n<pre class="language-bash"><code class="language-bash">$ conda <span class="token function">env</span> create --prefix<span class="token operator">=</span>env\n</code></pre>\n<p>And then in order to use this environment, we need to activate it.</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">source</span> activate <span class="token function">env</span>    <span class="token comment"># or in windows: activate env </span>\n</code></pre>\n<p>Run <code>unide-grinding-machine -h</code> to get familiar with the CLI. With this<br>\nexecutable we can generate some machine grinding data, and (for the moment)<br>\nprint messages to the console. To do so, run <code>unide-grinding-machine send random</code> and you should get a large message on the console. This is the PPMP<br>\nmessage ought to be sent to the gateway.</p>\n<p>We don\'t have a gateway so far, but don\'t worry, we will get to that in a<br>\nminute. Don\'t close this console!</p>\n<h3>Gateway simulator</h3>\n<p>Open a new console, and similarly to the previous point, first <code>cd</code> to<br>\n<code>unide-grinding-machine-gateway</code>, create the environment (<code>conda env create --prefix=env</code>) and activate it (<code>source activate env</code>).</p>\n<p>The run the command <code>unide-grinding-machine-gateway -h</code> to test that everything<br>\nis in place. You should get the CLI documentation.</p>\n<p>Now, let\'s fire up the gateway by calling <code>unide-grinding-machine-gateway start_server</code>, and a message like this should show up:</p>\n<pre class="language-bash"><code class="language-bash">Running <span class="token operator">&lt;</span>unide_grinding_machine_gateway.server.App object at 0x<span class="token punctuation">..</span><span class="token punctuation">..</span>.<span class="token operator">></span>\nListening on http://127.0.0.1:5000\nPress Ctrl-C to stop<span class="token punctuation">..</span>.\n</code></pre>\n<p>We are getting closer. Leave the gateway running.</p>\n<h3>Communication Device-Gateway</h3>\n<p>Let\'s go back to the previous console where we had the <code>unide-grinding-machine</code><br>\nenvironment and  call again the <code>unide-grinding-machine</code> program, but this time<br>\npassing the as an argument where the gateway is listening to messages.</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000\n</code></pre>\n<p>If you take peek at the gateway output, you should see new information printed<br>\nout, which is a PPMP message containing the result of the classification<br>\nalgorithms applied to the device data we just sent to it.</p>\n<p>We are getting somewhere! But still, it is not extremely useful to print some<br>\ncharacters into a console, is it?</p>\n<h3>Communication Device-Gateway-Backend</h3>\n<p>There is only a small but relevant point missing: the routing from the gateway<br>\nto the backend. We need a backend and the Unide project provides a service that<br>\ncan be used as a playground for these purposes. So let\'s restart the gateway,<br>\nthis time passing the Unide endpoint:</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine-gateway start_server --endpoint<span class="token operator">=</span>https://unide.eclipse.org/rest/v2\n</code></pre>\n<p>Now we can use the <code>unide-grinding-machine</code> to send raw data to the gateway<br>\nwhich in turn sends its results to the backend.  In order to be able to<br>\nidentify this data later, we are going to define a proper device ID (argument<br>\n<code>--device-id</code>), and also tell it to send data once each 10 seconds (argument<br>\n<code>--period</code>):</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000 --device-id<span class="token operator">=</span>IoT-000028--3 --period<span class="token operator">=</span>10\n</code></pre>\n<p>Once started, a continuous flow of data is pumped through each component until<br>\nit reaches the backend, allowing us to use the applications that consume this<br>\ndata. For instance, the basic backend provided by Unide offers a <a href="https://grafana.com/">Grafana</a> based<br>\ndashboard that offers live monitoring of the statistical values calculated in the<br>\ngateway:</p>\n<p><img src="/unide/images/blog/grinding-machine-grafana-dashboard.png" alt="Grafana based dashboard monitoring grinding machine"></p>\n<p>If instead of that we use the the <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a> based backend,<br>\nwe can see a different and richer dashboard: charts, 3D models, list of<br>\nmaintenance events, device master data and the Activity Stream, a place where<br>\ndifferent parties can exchange information related to the grinding machine:</p>\n<p><img src="/unide/images/blog/grinding-machine-ce4iot-dashboard.png" alt="CONTACT Elements for IoT Dashboard"></p>\n',url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"},next:{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"grinding-machine-scenario",content:'<h2>Abstract</h2>\n<p>In this blog post we present a real world condition monitoring scenario used in<br>\nthe <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, where Unide and<br>\nPPMP plays a crucial role. Moreover, we also provide a code repository and<br>\ninstructions so that you can recreate the scenario in your own computer and<br>\nlearn about its components and the communication with each other.</p>\n<h2>Introduction</h2>\n<p>In the context of the <a href="https://iot.eclipse.org/testbeds/production-performance-management/#">Eclipse Production Performance Management Testbed</a>, a<br>\nreal world condition monitoring scenario has been recreated, in which a<br>\ngrinding machine is being continuously monitored allowing to have real time<br>\nhealth checks and prevent unexpected failures.</p>\n<p>This scenario consists of the following building blocks: device, gateway,<br>\nbackend. The communication between them happens seamlessly thanks to the<br>\nProduction Performance management Protocol (PPMP).</p>\n<ul>\n<li>\n<p>The device, i.e. the grinding machine, has been retrofitted with an<br>\nacceleration sensor attached to one of its critical components. The data<br>\nprovided by this sensor is routed to the gateway in the form of a <a href="https://www.eclipse.org/unide/specification/measurement-message#messageDetail">PPMP<br>\nMeasurement Message</a>.</p>\n</li>\n<li>\n<p>The gateway receives the raw acceleration measurements, calculates some<br>\nstatistical characteristics and and applies some machine learning techniques<br>\nto them in order to evaluate the condition of the grinding machine. Then both<br>\nthe statistical values and the condition are routed to the backend, again in<br>\nthe form of a PPMP Measurement Message.</p>\n</li>\n<li>\n<p>The backend, usually in the cloud, is any component that &quot;speaks PPMP&quot; and<br>\nperforms meaningful operations on the incoming messages. Most frequently it<br>\nis responsible for storing the arriving data and making it available to apps<br>\nthat want to consume it. Common responsibilities of these apps are the<br>\nrepresentation or display of the data (e.g. dashboards), or workflows<br>\nmanagement (e.g. the grinding machine is in bad condition and an inspection<br>\nmust be carried out).</p>\n<p>The backend can be swapped effortless with any entity adhering to PPMP standard.<br>\nIn the Eclipse PPM Testbed at least two different backends have been used:</p>\n<ul>\n<li>One directly based on <a href="https://github.com/eclipse/unide">Unide</a></li>\n<li>One based on <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a>.</li>\n</ul>\n</li>\n</ul>\n<h2>Hands-on demonstration</h2>\n<p>In order to make this scenario more hands-on and interesting, within the<br>\n<a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement">Production Performance Management Testbed repository</a> project in Github, we<br>\nhave set up a <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/tree/master/grinding-machine">subproject for the grinding machine scenario</a>. There you can<br>\nfind a thorough description and code to simulate the device and the gateway,<br>\nand route messages to a given backend. The only requirements are git and conda<br>\n(the easiest way to get conda is to <a href="https://conda.io/miniconda.html">install miniconda</a>).</p>\n<p>So, let\'s get started! First of all, open your terminal and clone the<br>\nrepository:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">git</span> clone https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement eclipse-testbed-ppm\n$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>Then move to the grinding machine subproject directory:</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">cd</span> eclipse-testbed-ppm/grinding-machine\n</code></pre>\n<p>In that folder you will see two subfolders. The first one<br>\n<code>unide-grinding-machine</code> contains a Python program that simulates grinding<br>\nmachine and the second one <code>unide-grinding-machine-gateway</code> simulates the<br>\ngateway.</p>\n<h3>Grinding Machine simulator</h3>\n<p>Let\'s start with the first component. First <code>cd</code> to <code>unide-grinding-machine</code><br>\nand then create the conda environment:</p>\n<pre class="language-bash"><code class="language-bash">$ conda <span class="token function">env</span> create --prefix<span class="token operator">=</span>env\n</code></pre>\n<p>And then in order to use this environment, we need to activate it.</p>\n<pre class="language-bash"><code class="language-bash">$ <span class="token function">source</span> activate <span class="token function">env</span>    <span class="token comment"># or in windows: activate env </span>\n</code></pre>\n<p>Run <code>unide-grinding-machine -h</code> to get familiar with the CLI. With this<br>\nexecutable we can generate some machine grinding data, and (for the moment)<br>\nprint messages to the console. To do so, run <code>unide-grinding-machine send random</code> and you should get a large message on the console. This is the PPMP<br>\nmessage ought to be sent to the gateway.</p>\n<p>We don\'t have a gateway so far, but don\'t worry, we will get to that in a<br>\nminute. Don\'t close this console!</p>\n<h3>Gateway simulator</h3>\n<p>Open a new console, and similarly to the previous point, first <code>cd</code> to<br>\n<code>unide-grinding-machine-gateway</code>, create the environment (<code>conda env create --prefix=env</code>) and activate it (<code>source activate env</code>).</p>\n<p>The run the command <code>unide-grinding-machine-gateway -h</code> to test that everything<br>\nis in place. You should get the CLI documentation.</p>\n<p>Now, let\'s fire up the gateway by calling <code>unide-grinding-machine-gateway start_server</code>, and a message like this should show up:</p>\n<pre class="language-bash"><code class="language-bash">Running <span class="token operator">&lt;</span>unide_grinding_machine_gateway.server.App object at 0x<span class="token punctuation">..</span><span class="token punctuation">..</span>.<span class="token operator">></span>\nListening on http://127.0.0.1:5000\nPress Ctrl-C to stop<span class="token punctuation">..</span>.\n</code></pre>\n<p>We are getting closer. Leave the gateway running.</p>\n<h3>Communication Device-Gateway</h3>\n<p>Let\'s go back to the previous console where we had the <code>unide-grinding-machine</code><br>\nenvironment and  call again the <code>unide-grinding-machine</code> program, but this time<br>\npassing the as an argument where the gateway is listening to messages.</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000\n</code></pre>\n<p>If you take peek at the gateway output, you should see new information printed<br>\nout, which is a PPMP message containing the result of the classification<br>\nalgorithms applied to the device data we just sent to it.</p>\n<p>We are getting somewhere! But still, it is not extremely useful to print some<br>\ncharacters into a console, is it?</p>\n<h3>Communication Device-Gateway-Backend</h3>\n<p>There is only a small but relevant point missing: the routing from the gateway<br>\nto the backend. We need a backend and the Unide project provides a service that<br>\ncan be used as a playground for these purposes. So let\'s restart the gateway,<br>\nthis time passing the Unide endpoint:</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine-gateway start_server --endpoint<span class="token operator">=</span>https://unide.eclipse.org/rest/v2\n</code></pre>\n<p>Now we can use the <code>unide-grinding-machine</code> to send raw data to the gateway<br>\nwhich in turn sends its results to the backend.  In order to be able to<br>\nidentify this data later, we are going to define a proper device ID (argument<br>\n<code>--device-id</code>), and also tell it to send data once each 10 seconds (argument<br>\n<code>--period</code>):</p>\n<pre class="language-bash"><code class="language-bash">$ unide-grinding-machine send random --endpoint<span class="token operator">=</span>http://127.0.0.1:5000 --device-id<span class="token operator">=</span>IoT-000028--3 --period<span class="token operator">=</span>10\n</code></pre>\n<p>Once started, a continuous flow of data is pumped through each component until<br>\nit reaches the backend, allowing us to use the applications that consume this<br>\ndata. For instance, the basic backend provided by Unide offers a <a href="https://grafana.com/">Grafana</a> based<br>\ndashboard that offers live monitoring of the statistical values calculated in the<br>\ngateway:</p>\n<p><img src="/unide/images/blog/grinding-machine-grafana-dashboard.png" alt="Grafana based dashboard monitoring grinding machine"></p>\n<p>If instead of that we use the the <a href="https://www.contact-software.com/en/products/elements-for-iot/">CONTACT Elements for IoT</a> based backend,<br>\nwe can see a different and richer dashboard: charts, 3D models, list of<br>\nmaintenance events, device master data and the Activity Stream, a place where<br>\ndifferent parties can exchange information related to the grinding machine:</p>\n<p><img src="/unide/images/blog/grinding-machine-ce4iot-dashboard.png" alt="CONTACT Elements for IoT Dashboard"></p>\n',url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel"},next:{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/2/13/index.html b/blog/2018/2/13/index.html
index ae7f5ae..ab33a85 100644
--- a/blog/2018/2/13/index.html
+++ b/blog/2018/2/13/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/2/index.html b/blog/2018/2/index.html
index e623fb2..4f1d6bc 100644
--- a/blog/2018/2/index.html
+++ b/blog/2018/2/index.html
@@ -70,6 +70,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/3/26/Release-0.2.0/index.html b/blog/2018/3/26/Release-0.2.0/index.html
index c39b680..54188ca 100644
--- a/blog/2018/3/26/Release-0.2.0/index.html
+++ b/blog/2018/3/26/Release-0.2.0/index.html
@@ -194,6 +194,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Release-0.2.0",content:'<p>Finally, the second version (0.2.0) of the Eclipse unide project is released! The <a href="http://unide.eclipse.org">REST Server on the Testserver</a> has been updated as well.</p>\n<h1>Quick start</h1>\n<h2>Binsa chrome app</h2>\n<p>Download the binsa chrome app from <a href="http://download.eclipse.org/unide/binsa.crx">download page</a>. Open your chrome browser at <a href="chrome://extensions">chrome://extensions</a> and drag the binsa.crx file onto the page. You should be able to see your new chrome app in <a href="chrome://apps">chrome://apps</a></p>\n<h2>REST Server</h2>\n<p>Download the REST server file from <a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-server/0.2.0/ppmp-server-0.2.0.jar">repo.eclipse.org</a>, create a simple configuration file (e.g. application_conf.json):</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"http.port"</span><span class="token operator">:</span> <span class="token number">8090</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.enable"</span><span class="token operator">:</span> <span class="token boolean">false</span>\n<span class="token punctuation">}</span>\n\n</code></pre>\n<p>and start the server</p>\n<pre class="language-bash"><code class="language-bash">java -jar ppmp-server-0.2.0.jar -conf application_conf.json\n</code></pre>\n<p>Point your browser to <a href="http://localhost:8090">http://localhost:8090</a> and see the servers documentation running on your local server! At this point, PPMP validation (via HTTP POST to <code>/rest/v2/validate</code>) is enabled, but no persistence.</p>\n<p>If you want to send data to the server, a quick way is via <a href="https://www.getpostman.com/">Postman App</a>, which is available as native app or <a href="https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en">Chrome app</a>. Once installed and started, you can easily use the &quot;Import &gt; Import From Link&quot; feature to get the prepared <a href="https://raw.githubusercontent.com/eclipse/unide/f4d349bc4a0096d3f99e14cf5f8b9f53a5145fdd/servers/rest/assets/postman/unide.postman_collection.json">unide.postman_collection.json</a> and the corresponding <a href="https://raw.githubusercontent.com/eclipse/unide/f4d349bc4a0096d3f99e14cf5f8b9f53a5145fdd/servers/rest/assets/postman/unide.postman_environment.json">unide.postman_environment</a>. You should now have Machine/Measurement/Process messages and requests prepared in the Collections tab. In order to send, you could extend the URL with &quot;/validate&quot; and hit &quot;Send&quot; button. If you get the response</p>\n<blockquote>\n<p>Ppmp Message of type \'xy\' is valid</p>\n</blockquote>\n<p>the unide REST server works as expected!</p>\n<h1>Persistence</h1>\n<h2>Influx DB</h2>\n<p><a href="https://portal.influxdata.com/downloads">Download</a> the InfluxDB Time-Series Data Storage and unzip or install it on your system. By default, it opens an http port at 8086. In order to make use of it, the configuration file should be modified, e.g. to:</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"http.port"</span><span class="token operator">:</span> <span class="token number">8090</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.system"</span><span class="token operator">:</span> <span class="token string">"influxDb"</span><span class="token punctuation">,</span>\n  <span class="token property">"influxDb.url"</span><span class="token operator">:</span> <span class="token string">"http://localhost:8086"</span><span class="token punctuation">,</span>\n  <span class="token property">"influxDb.user"</span><span class="token operator">:</span> <span class="token string">"root"</span><span class="token punctuation">,</span>\n  <span class="token property">"influxDb.password"</span><span class="token operator">:</span> <span class="token string">"root"</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>After starting the database and the unide REST server, it should be possible to send POST requests to <code>http://localhost:8090/rest/v2</code>. This path receives all message types. To query the database after, use:<br>\n<a href="http://localhost:8086/query?pretty=true&amp;u=root&amp;p=root&amp;db=Measurements&amp;q=SELECT%20*%20FROM%20%22ppmp_measurements%22">http://localhost:8086/query?pretty=true&amp;u=root&amp;p=root&amp;db=Measurements&amp;q=SELECT * FROM &quot;ppmp_measurements&quot;</a> or the other databases that are documented on the <a href="http://localhost:8090/#influxdb_schema_design">running server instance</a>, respectively.</p>\n<h2>SQL (timescale, h2)</h2>\n<p>Download the appropriate jdbc driver, e.g. <a href="http://repo1.maven.org/maven2/com/h2database/h2/1.4.197/h2-1.4.197.jar">h2-*.jar</a>, modify the configuration file, e.g. for h2:</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"http.port"</span><span class="token operator">:</span> <span class="token number">8090</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.system"</span><span class="token operator">:</span> <span class="token string">"sql"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.driver"</span><span class="token operator">:</span> <span class="token string">"org.h2.Driver"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.url"</span><span class="token operator">:</span> <span class="token string">"jdbc:h2:./test"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.user"</span><span class="token operator">:</span> <span class="token string">"sa"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.password"</span><span class="token operator">:</span> <span class="token string">""</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>Start the PPMP Server with the jdbc dependency on the classpath, e.g.:</p>\n<pre class="language-bash"><code class="language-bash">java -cp <span class="token string">"h2-1.4.197.jar;ppmp-server-0.2.0.jar"</span> io.vertx.core.Launcher org.eclipse.iot.unide.server.MainVerticle -conf application.conf\n</code></pre>\n<p>Now, all the data send to the REST server is persisted in the file <code>test.mv.db</code>.<br>\nFor concurrent db actions (reading while writing), use the h2 tcp server instead. h2 is not recommended for production use!</p>\n<h1>Background</h1>\n<h2>Download</h2>\n<p>Available artifacts for download:</p>\n<ul>\n<li><a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-schema/2.0.0/">PPMP Schema v2</a></li>\n<li><a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-java-binding/0.2.0/">PPMP java Binding</a></li>\n<li><a href="https://pypi.python.org/packages/d5/af/c90911d1da56a1ed0238338ba01068d43b8cd0137e9ca52b0f52a279f73e/unide_python-0.2.0-py2.py3-none-any.whl#md5=ca67bcd536b3a4015f72f5fa53d36543">PPMP Python Binding</a></li>\n<li><a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-server/0.2.0/">PPMP Server</a></li>\n<li><a href="http://download.eclipse.org/unide/binsa.crx">binsa client chrome app</a></li>\n</ul>\n<p>Source code:</p>\n<ul>\n<li><a href="https://github.com/eclipse/unide/releases/tag/v0.2.0">unide</a></li>\n<li><a href="https://github.com/eclipse/unide.java/releases/tag/v0.2.0">java binding</a></li>\n<li><a href="https://github.com/eclipse/unide.python/releases/tag/v0.2.0">python binding</a></li>\n</ul>\n<h2>Release notes</h2>\n<h3>REST Server improvements (refactoring &amp; persistence)</h3>\n<ul>\n<li>Added persistence to timeseries/postgres db</li>\n<li>Outfactored schema files</li>\n<li>Adjusted maven file</li>\n<li>Added unit tests</li>\n<li>Added documentation &amp; java docs</li>\n<li>Adjusted error handling</li>\n<li>Removed unused code</li>\n<li>Added postman collections</li>\n<li>Added grafana configuration file</li>\n</ul>\n<h3>New HTML5 simulation client</h3>\n<ul>\n<li>Progressive Webapp runs as website (see <a href="https://unide.eclipse.org/binsa">https://unide.eclipse.org/binsa</a>), browser app, native client (via <a href="https://nwjs.io/">nw.js</a>) or app (via <a href="https://cordova.apache.org/">Apache cordova</a>)</li>\n</ul>\n<h3>PPMP JSON Schema files</h3>\n<ul>\n<li>Introduced separate bundle for schemas</li>\n<li>general fixes\n<ul>\n<li>make schema draft-06 compliant</li>\n<li>added \'id\' and \'descriptions\' where applicable</li>\n<li>added \'type\' and \'default\' for enums</li>\n<li>added \'required\' fields where necessary</li>\n<li>made \'additionalProperties\': true explicit for \'metaData\'</li>\n<li>sorted the properties for improved readability</li>\n</ul>\n</li>\n<li>message_schema fixes\n<ul>\n<li>added minItems: 1 to messages</li>\n</ul>\n</li>\n<li>measurement_schema fixes\n<ul>\n<li>completed \'limits\' specification</li>\n<li>added \'patternProperties\' and minProperties detail to \'series\'</li>\n<li>added minItems: 1 to measurements</li>\n</ul>\n</li>\n<li>process_schema fixes\n<ul>\n<li>made \'id\' and \'name\' of a \'program\' mandatory</li>\n<li>fixed \'shutoffValues\', having properties not items</li>\n<li>fixed \'limits\', having properties not items and number values rather than object values as limits</li>\n<li>fixed \'specialValues\' to be an array of specialValue items with \'name\' for indicating the nature, rather than one single object with its keys indicating the nature. Offering optional \'$_time\' tag to be consistent with measurements.</li>\n<li>completed \'series\' definition</li>\n</ul>\n</li>\n</ul>\n<h3>Website</h3>\n<ul>\n<li>Autogenerating PPMP specification from JSON schemas to avoid discrepancies</li>\n<li>Generating UML schemas with plantuml</li>\n<li>Using similar HTML5 stack as simulation client for SPA website</li>\n</ul>\n<h3>Other</h3>\n<ul>\n<li>java and new python bindings in separate github repositories</li>\n</ul>\n',url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z",tags:["releases"],prev:{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed"},next:{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Release-0.2.0",content:'<p>Finally, the second version (0.2.0) of the Eclipse unide project is released! The <a href="http://unide.eclipse.org">REST Server on the Testserver</a> has been updated as well.</p>\n<h1>Quick start</h1>\n<h2>Binsa chrome app</h2>\n<p>Download the binsa chrome app from <a href="http://download.eclipse.org/unide/binsa.crx">download page</a>. Open your chrome browser at <a href="chrome://extensions">chrome://extensions</a> and drag the binsa.crx file onto the page. You should be able to see your new chrome app in <a href="chrome://apps">chrome://apps</a></p>\n<h2>REST Server</h2>\n<p>Download the REST server file from <a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-server/0.2.0/ppmp-server-0.2.0.jar">repo.eclipse.org</a>, create a simple configuration file (e.g. application_conf.json):</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"http.port"</span><span class="token operator">:</span> <span class="token number">8090</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.enable"</span><span class="token operator">:</span> <span class="token boolean">false</span>\n<span class="token punctuation">}</span>\n\n</code></pre>\n<p>and start the server</p>\n<pre class="language-bash"><code class="language-bash">java -jar ppmp-server-0.2.0.jar -conf application_conf.json\n</code></pre>\n<p>Point your browser to <a href="http://localhost:8090">http://localhost:8090</a> and see the servers documentation running on your local server! At this point, PPMP validation (via HTTP POST to <code>/rest/v2/validate</code>) is enabled, but no persistence.</p>\n<p>If you want to send data to the server, a quick way is via <a href="https://www.getpostman.com/">Postman App</a>, which is available as native app or <a href="https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en">Chrome app</a>. Once installed and started, you can easily use the &quot;Import &gt; Import From Link&quot; feature to get the prepared <a href="https://raw.githubusercontent.com/eclipse/unide/f4d349bc4a0096d3f99e14cf5f8b9f53a5145fdd/servers/rest/assets/postman/unide.postman_collection.json">unide.postman_collection.json</a> and the corresponding <a href="https://raw.githubusercontent.com/eclipse/unide/f4d349bc4a0096d3f99e14cf5f8b9f53a5145fdd/servers/rest/assets/postman/unide.postman_environment.json">unide.postman_environment</a>. You should now have Machine/Measurement/Process messages and requests prepared in the Collections tab. In order to send, you could extend the URL with &quot;/validate&quot; and hit &quot;Send&quot; button. If you get the response</p>\n<blockquote>\n<p>Ppmp Message of type \'xy\' is valid</p>\n</blockquote>\n<p>the unide REST server works as expected!</p>\n<h1>Persistence</h1>\n<h2>Influx DB</h2>\n<p><a href="https://portal.influxdata.com/downloads">Download</a> the InfluxDB Time-Series Data Storage and unzip or install it on your system. By default, it opens an http port at 8086. In order to make use of it, the configuration file should be modified, e.g. to:</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"http.port"</span><span class="token operator">:</span> <span class="token number">8090</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.system"</span><span class="token operator">:</span> <span class="token string">"influxDb"</span><span class="token punctuation">,</span>\n  <span class="token property">"influxDb.url"</span><span class="token operator">:</span> <span class="token string">"http://localhost:8086"</span><span class="token punctuation">,</span>\n  <span class="token property">"influxDb.user"</span><span class="token operator">:</span> <span class="token string">"root"</span><span class="token punctuation">,</span>\n  <span class="token property">"influxDb.password"</span><span class="token operator">:</span> <span class="token string">"root"</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>After starting the database and the unide REST server, it should be possible to send POST requests to <code>http://localhost:8090/rest/v2</code>. This path receives all message types. To query the database after, use:<br>\n<a href="http://localhost:8086/query?pretty=true&amp;u=root&amp;p=root&amp;db=Measurements&amp;q=SELECT%20*%20FROM%20%22ppmp_measurements%22">http://localhost:8086/query?pretty=true&amp;u=root&amp;p=root&amp;db=Measurements&amp;q=SELECT * FROM &quot;ppmp_measurements&quot;</a> or the other databases that are documented on the <a href="http://localhost:8090/#influxdb_schema_design">running server instance</a>, respectively.</p>\n<h2>SQL (timescale, h2)</h2>\n<p>Download the appropriate jdbc driver, e.g. <a href="http://repo1.maven.org/maven2/com/h2database/h2/1.4.197/h2-1.4.197.jar">h2-*.jar</a>, modify the configuration file, e.g. for h2:</p>\n<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>\n  <span class="token property">"http.port"</span><span class="token operator">:</span> <span class="token number">8090</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>\n  <span class="token property">"persistence.system"</span><span class="token operator">:</span> <span class="token string">"sql"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.driver"</span><span class="token operator">:</span> <span class="token string">"org.h2.Driver"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.url"</span><span class="token operator">:</span> <span class="token string">"jdbc:h2:./test"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.user"</span><span class="token operator">:</span> <span class="token string">"sa"</span><span class="token punctuation">,</span>\n  <span class="token property">"sqlDb.password"</span><span class="token operator">:</span> <span class="token string">""</span>\n<span class="token punctuation">}</span>\n</code></pre>\n<p>Start the PPMP Server with the jdbc dependency on the classpath, e.g.:</p>\n<pre class="language-bash"><code class="language-bash">java -cp <span class="token string">"h2-1.4.197.jar;ppmp-server-0.2.0.jar"</span> io.vertx.core.Launcher org.eclipse.iot.unide.server.MainVerticle -conf application.conf\n</code></pre>\n<p>Now, all the data send to the REST server is persisted in the file <code>test.mv.db</code>.<br>\nFor concurrent db actions (reading while writing), use the h2 tcp server instead. h2 is not recommended for production use!</p>\n<h1>Background</h1>\n<h2>Download</h2>\n<p>Available artifacts for download:</p>\n<ul>\n<li><a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-schema/2.0.0/">PPMP Schema v2</a></li>\n<li><a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-java-binding/0.2.0/">PPMP java Binding</a></li>\n<li><a href="https://pypi.python.org/packages/d5/af/c90911d1da56a1ed0238338ba01068d43b8cd0137e9ca52b0f52a279f73e/unide_python-0.2.0-py2.py3-none-any.whl#md5=ca67bcd536b3a4015f72f5fa53d36543">PPMP Python Binding</a></li>\n<li><a href="https://repo.eclipse.org/content/repositories/unide-releases/org/eclipse/iot/unide/ppmp/ppmp-server/0.2.0/">PPMP Server</a></li>\n<li><a href="http://download.eclipse.org/unide/binsa.crx">binsa client chrome app</a></li>\n</ul>\n<p>Source code:</p>\n<ul>\n<li><a href="https://github.com/eclipse/unide/releases/tag/v0.2.0">unide</a></li>\n<li><a href="https://github.com/eclipse/unide.java/releases/tag/v0.2.0">java binding</a></li>\n<li><a href="https://github.com/eclipse/unide.python/releases/tag/v0.2.0">python binding</a></li>\n</ul>\n<h2>Release notes</h2>\n<h3>REST Server improvements (refactoring &amp; persistence)</h3>\n<ul>\n<li>Added persistence to timeseries/postgres db</li>\n<li>Outfactored schema files</li>\n<li>Adjusted maven file</li>\n<li>Added unit tests</li>\n<li>Added documentation &amp; java docs</li>\n<li>Adjusted error handling</li>\n<li>Removed unused code</li>\n<li>Added postman collections</li>\n<li>Added grafana configuration file</li>\n</ul>\n<h3>New HTML5 simulation client</h3>\n<ul>\n<li>Progressive Webapp runs as website (see <a href="https://unide.eclipse.org/binsa">https://unide.eclipse.org/binsa</a>), browser app, native client (via <a href="https://nwjs.io/">nw.js</a>) or app (via <a href="https://cordova.apache.org/">Apache cordova</a>)</li>\n</ul>\n<h3>PPMP JSON Schema files</h3>\n<ul>\n<li>Introduced separate bundle for schemas</li>\n<li>general fixes\n<ul>\n<li>make schema draft-06 compliant</li>\n<li>added \'id\' and \'descriptions\' where applicable</li>\n<li>added \'type\' and \'default\' for enums</li>\n<li>added \'required\' fields where necessary</li>\n<li>made \'additionalProperties\': true explicit for \'metaData\'</li>\n<li>sorted the properties for improved readability</li>\n</ul>\n</li>\n<li>message_schema fixes\n<ul>\n<li>added minItems: 1 to messages</li>\n</ul>\n</li>\n<li>measurement_schema fixes\n<ul>\n<li>completed \'limits\' specification</li>\n<li>added \'patternProperties\' and minProperties detail to \'series\'</li>\n<li>added minItems: 1 to measurements</li>\n</ul>\n</li>\n<li>process_schema fixes\n<ul>\n<li>made \'id\' and \'name\' of a \'program\' mandatory</li>\n<li>fixed \'shutoffValues\', having properties not items</li>\n<li>fixed \'limits\', having properties not items and number values rather than object values as limits</li>\n<li>fixed \'specialValues\' to be an array of specialValue items with \'name\' for indicating the nature, rather than one single object with its keys indicating the nature. Offering optional \'$_time\' tag to be consistent with measurements.</li>\n<li>completed \'series\' definition</li>\n</ul>\n</li>\n</ul>\n<h3>Website</h3>\n<ul>\n<li>Autogenerating PPMP specification from JSON schemas to avoid discrepancies</li>\n<li>Generating UML schemas with plantuml</li>\n<li>Using similar HTML5 stack as simulation client for SPA website</li>\n</ul>\n<h3>Other</h3>\n<ul>\n<li>java and new python bindings in separate github repositories</li>\n</ul>\n',url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z",tags:["releases"],prev:{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed"},next:{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/3/26/index.html b/blog/2018/3/26/index.html
index 21cbd73..ae1c428 100644
--- a/blog/2018/3/26/index.html
+++ b/blog/2018/3/26/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/3/index.html b/blog/2018/3/index.html
index 8558f08..c92a349 100644
--- a/blog/2018/3/index.html
+++ b/blog/2018/3/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/9/4/Template-for-PPMP-transformation/index.html b/blog/2018/9/4/Template-for-PPMP-transformation/index.html
index bf43ec7..dc56161 100644
--- a/blog/2018/9/4/Template-for-PPMP-transformation/index.html
+++ b/blog/2018/9/4/Template-for-PPMP-transformation/index.html
@@ -229,6 +229,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Template-for-PPMP-transformation",content:'<h1>Quick start</h1>\n<p>In <a href="https://www.eclipse.org/unide/blog/2018/2/11/Transform-PPMP-with-camel/">a previous blog post</a>, I have already introduced Apache Camel as a tool to transform to PPMP. In this post, I want to dive a little deeper to get you started with your own transformation.<br>\nYou can find corresponding source code with some transformation examples <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/tree/master/camel-integrator">in the repository of the Eclipse PPM Testbed</a>. After download or checkout of the project, you can easily package everything necessary for an installation via <a href="https://maven.apache.org/">Apache Maven</a> and java 8+:</p>\n<pre class="language-bash"><code class="language-bash"><span class="token function">git</span> clone https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement.git\n<span class="token function">cd</span> eclipseiot-testbed-productionperformancemanagement\n<span class="token function">cd</span> camel-integrator\nmvn package\n</code></pre>\n<p>After successful build, you should get a zip file at <code>target/camel-integrator-*-assembly.zip</code> with the following content</p>\n<ul>\n<li><code>bin</code><br>\nThe IntegratorStarter* files for Windows and Linux can be used to start the integrator manually. WinServiceInstaller.bat und WinServiceUninstaller.bat can be executed with Admin permissions in Windows to register/unregister this java application as Windows Service called &quot;Integrator Service&quot;.</li>\n<li><code>conf</code><br>\nThis is where the main configuration file <code>application-context.xml</code>, further included spring xml configurations, as well as the configuration for logging <code>log4j.properties</code> and a key-value-file for quick configuration <code>application.properties</code> can be found. After modification of any of them, the integrator should be restarted.</li>\n<li><code>lib</code><br>\nContains all java dependencies and their dependencies as individual jar files</li>\n<li><code>log</code><br>\nAfter the first start, you will find an additional directory that contains the logs of every execution, as defined in the <code>conf/log4j.properties</code> file.</li>\n</ul>\n<p>So this <code>camel-integrator-*-assembly.zip</code> is all you need, ready to being shipped and installed in your target system.</p>\n<h1>How can I modify this?</h1>\n<p>In the <code>conf</code> folder of the output or <code>src/main/resources</code> src folder, you\'ll find multiple examples on how to use Apache Camel with Production Performance Management Protocol. Most of the examples are based on <a href="https://github.com/apache/camel/blob/master/components/camel-spring/src/main/docs/spring.adoc">spring xml</a>.<br>\nThe most important terms to understand them are:</p>\n<table>\n<thead>\n<tr>\n<th>xml tag</th>\n<th>meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bean</td>\n<td>additional functionality, coded as java class / function</td>\n</tr>\n<tr>\n<td>camelContext</td>\n<td>the main, camel specific configurations</td>\n</tr>\n<tr>\n<td>route</td>\n<td>describes the data flow as process</td>\n</tr>\n<tr>\n<td>from / to</td>\n<td>entry / exit points for the data flow. This is also, were external systems are accessed via <a href="https://github.com/apache/camel/tree/camel-2.21.0/components">components</a></td>\n</tr>\n<tr>\n<td>onException</td>\n<td>error handling for the data flow</td>\n</tr>\n<tr>\n<td>pipeline, multicast, ...</td>\n<td>routing of data via <a href="http://camel.apache.org/enterprise-integration-patterns.html">Enterprise Integration pattern</a></td>\n</tr>\n</tbody>\n</table>\n<p>Among others, you\'ll find:</p>\n<div class="card figure is-pulled-right">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="html log file" title="html log file" src="/unide/images/blog/Transform-PPMP-with-camel-2-logfile.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\thtml logfile before transformation to PPMP\n\t</div>\n</div>\n<ul>\n<li><code>application-context.xml</code><br>\nMain entry file to start camel routes. It contains a general PPMP validation REST endpoint that reuses the route from <code>ppmp-validate-context.xml</code></li>\n<li><code>mqtt-context.xml</code><br>\nA simple example of converting transport protocol (mqtt to REST), without looking at the payload</li>\n<li><code>ppmp-splitAndRewrite-context.xml</code><br>\nShows how to receive (PPMP-) payload via different REST paths (/rest or /ppm), and each forwarding to two seperate endpoints (/rest and /ppm)\n<ul>\n<li><code>ppmpRewrite.xml</code> and <code>ppmRewrite.xml</code><br>\nmapping examples to rewrite the urls</li>\n</ul>\n</li>\n<li><code>ppmp-validate-context.xml</code><br>\nA simple validation route for PPMP messages that can be reused in many other routes.</li>\n<li><code>psi6000-transform-context.xml</code><br>\nA more advanced example of converting a psi6000 JSON format, converting it to plain old java object (POJO), transforming that to PPMP POJOs (using <a href="https://github.com/eclipse/unide.java">unide.java</a>) and forwarding these to actual REST endpoints</li>\n<li><code>kistler.xml</code><br>\nThis example takes html files with a structure similar to the test file in <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/blob/master/camel-integrator/src/test/data/00000855.html"><code>src/test/data/00000855.html</code></a>, cleans the html structure, retrieves the relevant parts via <a href="https://en.wikipedia.org/wiki/XPath">XPath</a> and creates a PPMP process message out of that</li>\n<li><code>application.properties</code><br>\nContains key/value pairs that can be used in the camel context configurations.</li>\n<li><code>log4j.properties</code><br>\nThe configuration for logging. For testing purposes, the log4j.properties in /src/test/resources is used.</li>\n</ul>\n<p>In order to get familiar with these transformations, I suggest you:</p>\n<ul>\n<li>open the <code>application-context.xml</code> in your favorite editor</li>\n<li>remove the <code>&lt;import .../&gt;</code> statements</li>\n<li>add your own <code>&lt;route&gt;...&lt;/route&gt;</code>, maybe as simple as<pre class="language-xml"><code class="language-xml">  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n  \t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://0.0.0.0:9090/<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n  \t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n  \t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>hello world!<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n  \t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n</code></pre>\n</li>\n<li>start a run directly (with bundling to a zip file) with:<pre class="language-bash"><code class="language-bash">  mvn exec:java\n</code></pre>\n</li>\n<li>and review the result. With the example above, just open the url <a href="http://localhost:9090">http://localhost:9090</a> and see the <code>hello world!</code> in your browser</li>\n</ul>\n<p>If you prefer a visual model of these camel xml definitions, you could also make use of <a href="https://tools.jboss.org/features/fusetools.html">JBoss Fuse Tooling</a> which is available for <a href="https://projects.eclipse.org/releases/oxygen">Eclipse Workbench 4.3+</a> through <a href="https://marketplace.eclipse.org/content/jboss-tools">the Marketplace</a>. Be aware that this might cause additional overhead.</p>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="JBoss Tools" title="JBoss Tools for Eclipse Workbench" src="/unide/images/blog/Transform-PPMP-with-camel-2-eclipse.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tJBoss Tools for Eclipse Workbench\n\t</div>\n</div>\n<p>If you want to make use of any other of the (as of camel 2.21.0) <a href="https://github.com/apache/camel/tree/camel-2.21.0/components">281+ components</a>, you should add the respective maven dependency to the <code>pom.xml</code>. For example:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>project</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://maven.apache.org/POM/4.0.0<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t...\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependencies</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">></span></span>org.apache.camel<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">></span></span>camel-amqp<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>version</span><span class="token punctuation">></span></span>${camel.version}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>version</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">></span></span>\n\t...\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependencies</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>project</span><span class="token punctuation">></span></span>\n</code></pre>\n<h1>Testing</h1>\n<p>Testing is an important part of the development cycle, especially for the core components that have to work reliably in a production environment.<br>\nThe project includes example tests in the <code>src/test</code> folder:</p>\n<ul>\n<li><code>java</code><br>\ncontains the actual java unit tests that make use of <a href="https://github.com/apache/camel/blob/61a58836da57bab38ce719cbd1effd36253687a4/docs/user-manual/en/spring-testing.adoc"><code>CamelSpringTestSupport</code></a> to wire xml CamelContext configuration, test data and expected results together</li>\n<li><code>resources</code><br>\ncontains the spring xml configuration that is used by the java test classes and resamble the actual configurations from <code>src/main/resources</code></li>\n<li><code>data</code><br>\ncontains testdata for the data flows and the transformation</li>\n</ul>\n<p>Tests can easily be run from within an IDE (eclipse, visual code studio etc.) or via commandline</p>\n<pre class="language-bash"><code class="language-bash">mvn <span class="token function">test</span>\n</code></pre>\n<p>You will see the output of the test runs. If it looks like this, it works as expected:</p>\n<pre class="language-bash"><code class="language-bash">Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.846 sec\n\nResults <span class="token keyword">:</span>\n\nTests run: 3, Failures: 0, Errors: 0, Skipped: 0\n\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> ------------------------------------------------------------------------\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> BUILD SUCCESS\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> ------------------------------------------------------------------------\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> Total time: 32.267 s\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> Finished at: 2018-04-09T15:25:25+02:00\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> Final Memory: 25M/85M\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> ------------------------------------------------------------------------\n</code></pre>\n<h1>Summary</h1>\n<p>The provided camel project template facilitates the creation of simple connectors. You can download it, modify or extend it, package the integrator to a zip file and deploy it on a target server. The included scripts help registering the integrator as an operating system service to run 24/7.</p>\n',url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{post:{name:"Template-for-PPMP-transformation",content:'<h1>Quick start</h1>\n<p>In <a href="https://www.eclipse.org/unide/blog/2018/2/11/Transform-PPMP-with-camel/">a previous blog post</a>, I have already introduced Apache Camel as a tool to transform to PPMP. In this post, I want to dive a little deeper to get you started with your own transformation.<br>\nYou can find corresponding source code with some transformation examples <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/tree/master/camel-integrator">in the repository of the Eclipse PPM Testbed</a>. After download or checkout of the project, you can easily package everything necessary for an installation via <a href="https://maven.apache.org/">Apache Maven</a> and java 8+:</p>\n<pre class="language-bash"><code class="language-bash"><span class="token function">git</span> clone https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement.git\n<span class="token function">cd</span> eclipseiot-testbed-productionperformancemanagement\n<span class="token function">cd</span> camel-integrator\nmvn package\n</code></pre>\n<p>After successful build, you should get a zip file at <code>target/camel-integrator-*-assembly.zip</code> with the following content</p>\n<ul>\n<li><code>bin</code><br>\nThe IntegratorStarter* files for Windows and Linux can be used to start the integrator manually. WinServiceInstaller.bat und WinServiceUninstaller.bat can be executed with Admin permissions in Windows to register/unregister this java application as Windows Service called &quot;Integrator Service&quot;.</li>\n<li><code>conf</code><br>\nThis is where the main configuration file <code>application-context.xml</code>, further included spring xml configurations, as well as the configuration for logging <code>log4j.properties</code> and a key-value-file for quick configuration <code>application.properties</code> can be found. After modification of any of them, the integrator should be restarted.</li>\n<li><code>lib</code><br>\nContains all java dependencies and their dependencies as individual jar files</li>\n<li><code>log</code><br>\nAfter the first start, you will find an additional directory that contains the logs of every execution, as defined in the <code>conf/log4j.properties</code> file.</li>\n</ul>\n<p>So this <code>camel-integrator-*-assembly.zip</code> is all you need, ready to being shipped and installed in your target system.</p>\n<h1>How can I modify this?</h1>\n<p>In the <code>conf</code> folder of the output or <code>src/main/resources</code> src folder, you\'ll find multiple examples on how to use Apache Camel with Production Performance Management Protocol. Most of the examples are based on <a href="https://github.com/apache/camel/blob/master/components/camel-spring/src/main/docs/spring.adoc">spring xml</a>.<br>\nThe most important terms to understand them are:</p>\n<table>\n<thead>\n<tr>\n<th>xml tag</th>\n<th>meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bean</td>\n<td>additional functionality, coded as java class / function</td>\n</tr>\n<tr>\n<td>camelContext</td>\n<td>the main, camel specific configurations</td>\n</tr>\n<tr>\n<td>route</td>\n<td>describes the data flow as process</td>\n</tr>\n<tr>\n<td>from / to</td>\n<td>entry / exit points for the data flow. This is also, were external systems are accessed via <a href="https://github.com/apache/camel/tree/camel-2.21.0/components">components</a></td>\n</tr>\n<tr>\n<td>onException</td>\n<td>error handling for the data flow</td>\n</tr>\n<tr>\n<td>pipeline, multicast, ...</td>\n<td>routing of data via <a href="http://camel.apache.org/enterprise-integration-patterns.html">Enterprise Integration pattern</a></td>\n</tr>\n</tbody>\n</table>\n<p>Among others, you\'ll find:</p>\n<div class="card figure is-pulled-right">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="html log file" title="html log file" src="/unide/images/blog/Transform-PPMP-with-camel-2-logfile.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\thtml logfile before transformation to PPMP\n\t</div>\n</div>\n<ul>\n<li><code>application-context.xml</code><br>\nMain entry file to start camel routes. It contains a general PPMP validation REST endpoint that reuses the route from <code>ppmp-validate-context.xml</code></li>\n<li><code>mqtt-context.xml</code><br>\nA simple example of converting transport protocol (mqtt to REST), without looking at the payload</li>\n<li><code>ppmp-splitAndRewrite-context.xml</code><br>\nShows how to receive (PPMP-) payload via different REST paths (/rest or /ppm), and each forwarding to two seperate endpoints (/rest and /ppm)\n<ul>\n<li><code>ppmpRewrite.xml</code> and <code>ppmRewrite.xml</code><br>\nmapping examples to rewrite the urls</li>\n</ul>\n</li>\n<li><code>ppmp-validate-context.xml</code><br>\nA simple validation route for PPMP messages that can be reused in many other routes.</li>\n<li><code>psi6000-transform-context.xml</code><br>\nA more advanced example of converting a psi6000 JSON format, converting it to plain old java object (POJO), transforming that to PPMP POJOs (using <a href="https://github.com/eclipse/unide.java">unide.java</a>) and forwarding these to actual REST endpoints</li>\n<li><code>kistler.xml</code><br>\nThis example takes html files with a structure similar to the test file in <a href="https://github.com/eclipselabs/eclipseiot-testbed-productionperformancemanagement/blob/master/camel-integrator/src/test/data/00000855.html"><code>src/test/data/00000855.html</code></a>, cleans the html structure, retrieves the relevant parts via <a href="https://en.wikipedia.org/wiki/XPath">XPath</a> and creates a PPMP process message out of that</li>\n<li><code>application.properties</code><br>\nContains key/value pairs that can be used in the camel context configurations.</li>\n<li><code>log4j.properties</code><br>\nThe configuration for logging. For testing purposes, the log4j.properties in /src/test/resources is used.</li>\n</ul>\n<p>In order to get familiar with these transformations, I suggest you:</p>\n<ul>\n<li>open the <code>application-context.xml</code> in your favorite editor</li>\n<li>remove the <code>&lt;import .../&gt;</code> statements</li>\n<li>add your own <code>&lt;route&gt;...&lt;/route&gt;</code>, maybe as simple as<pre class="language-xml"><code class="language-xml">  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>route</span><span class="token punctuation">></span></span>\n  \t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>from</span> <span class="token attr-name">uri</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>jetty:http://0.0.0.0:9090/<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>\n  \t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>setBody</span><span class="token punctuation">></span></span>\n  \t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>simple</span><span class="token punctuation">></span></span>hello world!<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>simple</span><span class="token punctuation">></span></span>\n  \t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>setBody</span><span class="token punctuation">></span></span>\n  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>route</span><span class="token punctuation">></span></span>\n</code></pre>\n</li>\n<li>start a run directly (with bundling to a zip file) with:<pre class="language-bash"><code class="language-bash">  mvn exec:java\n</code></pre>\n</li>\n<li>and review the result. With the example above, just open the url <a href="http://localhost:9090">http://localhost:9090</a> and see the <code>hello world!</code> in your browser</li>\n</ul>\n<p>If you prefer a visual model of these camel xml definitions, you could also make use of <a href="https://tools.jboss.org/features/fusetools.html">JBoss Fuse Tooling</a> which is available for <a href="https://projects.eclipse.org/releases/oxygen">Eclipse Workbench 4.3+</a> through <a href="https://marketplace.eclipse.org/content/jboss-tools">the Marketplace</a>. Be aware that this might cause additional overhead.</p>\n<div class="card figure">\n\t<div class="card-image">\n\t\t<figure class="image">\n\t\t\t<img alt="JBoss Tools" title="JBoss Tools for Eclipse Workbench" src="/unide/images/blog/Transform-PPMP-with-camel-2-eclipse.png"></img>\n\t\t</figure>\n\t</div>\n\t<div class="card-content">\n\t\tJBoss Tools for Eclipse Workbench\n\t</div>\n</div>\n<p>If you want to make use of any other of the (as of camel 2.21.0) <a href="https://github.com/apache/camel/tree/camel-2.21.0/components">281+ components</a>, you should add the respective maven dependency to the <code>pom.xml</code>. For example:</p>\n<pre class="language-xml"><code class="language-xml"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>project</span> <span class="token attr-name">xmlns</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://maven.apache.org/POM/4.0.0<span class="token punctuation">"</span></span> <span class="token attr-name"><span class="token namespace">xmlns:</span>xsi</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://www.w3.org/2001/XMLSchema-instance<span class="token punctuation">"</span></span>\n\t<span class="token attr-name"><span class="token namespace">xsi:</span>schemaLocation</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>\n\t...\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependencies</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">></span></span>org.apache.camel<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">></span></span>camel-amqp<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">></span></span>\n\t\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>version</span><span class="token punctuation">></span></span>${camel.version}<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>version</span><span class="token punctuation">></span></span>\n\t\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">></span></span>\n\t...\n\t<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependencies</span><span class="token punctuation">></span></span>\n\t...\n<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>project</span><span class="token punctuation">></span></span>\n</code></pre>\n<h1>Testing</h1>\n<p>Testing is an important part of the development cycle, especially for the core components that have to work reliably in a production environment.<br>\nThe project includes example tests in the <code>src/test</code> folder:</p>\n<ul>\n<li><code>java</code><br>\ncontains the actual java unit tests that make use of <a href="https://github.com/apache/camel/blob/61a58836da57bab38ce719cbd1effd36253687a4/docs/user-manual/en/spring-testing.adoc"><code>CamelSpringTestSupport</code></a> to wire xml CamelContext configuration, test data and expected results together</li>\n<li><code>resources</code><br>\ncontains the spring xml configuration that is used by the java test classes and resamble the actual configurations from <code>src/main/resources</code></li>\n<li><code>data</code><br>\ncontains testdata for the data flows and the transformation</li>\n</ul>\n<p>Tests can easily be run from within an IDE (eclipse, visual code studio etc.) or via commandline</p>\n<pre class="language-bash"><code class="language-bash">mvn <span class="token function">test</span>\n</code></pre>\n<p>You will see the output of the test runs. If it looks like this, it works as expected:</p>\n<pre class="language-bash"><code class="language-bash">Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.846 sec\n\nResults <span class="token keyword">:</span>\n\nTests run: 3, Failures: 0, Errors: 0, Skipped: 0\n\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> ------------------------------------------------------------------------\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> BUILD SUCCESS\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> ------------------------------------------------------------------------\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> Total time: 32.267 s\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> Finished at: 2018-04-09T15:25:25+02:00\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> Final Memory: 25M/85M\n<span class="token punctuation">[</span>INFO<span class="token punctuation">]</span> ------------------------------------------------------------------------\n</code></pre>\n<h1>Summary</h1>\n<p>The provided camel project template facilitates the creation of simple connectors. You can download it, modify or extend it, package the integrator to a zip file and deploy it on a target server. The included scripts help registering the integrator as an operating system service to run 24/7.</p>\n',url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z",tags:["use cases"],prev:{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released"}}}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_article.dfd7fcb83848670d21b1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/9/4/index.html b/blog/2018/9/4/index.html
index 0ce8bd6..b140771 100644
--- a/blog/2018/9/4/index.html
+++ b/blog/2018/9/4/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/9/index.html b/blog/2018/9/index.html
index ed8211a..40a4b2c 100644
--- a/blog/2018/9/index.html
+++ b/blog/2018/9/index.html
@@ -66,6 +66,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/2018/index.html b/blog/2018/index.html
index eb8b6f4..df0aabb 100644
--- a/blog/2018/index.html
+++ b/blog/2018/index.html
@@ -82,6 +82,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"},{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"},{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"},{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"},{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/blog/index.html b/blog/index.html
index 81b2da6..b852493 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -82,6 +82,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"},{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"},{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{list:[{url:"/blog/2018/9/4/Template-for-PPMP-transformation",title:"PPMP Use Cases: Template for PPMP transformation",date:"2018-09-04T00:00:00.000Z"},{url:"/blog/2018/3/26/Release-0.2.0",title:"Unide 0.2.0 released",date:"2018-03-26T10:39:00.000Z"},{url:"/blog/2018/2/13/grinding-machine-scenario",title:"PPMP Use Cases: Unide and the Eclipse Production Performance Management Testbed",date:"2018-02-13T00:00:00.000Z"},{url:"/blog/2018/2/11/Transform-PPMP-with-camel",title:"PPMP Use Cases: Simple Transformation with Apache Camel",date:"2018-02-11T00:00:00.000Z"},{url:"/blog/2018/1/26/New-website",title:"Updated Website",date:"2018-01-26T00:00:00.000Z"}]}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_blog.e921111d8f479ba5a1cd.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/faq/index.html b/faq/index.html
index 4ccbf39..0ea50cb 100644
--- a/faq/index.html
+++ b/faq/index.html
@@ -78,6 +78,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_faq.8150044514eb62ddb4c7.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_faq.8150044514eb62ddb4c7.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/files/18.0b71f4209c4bd4e8e76c.js b/files/18.0b71f4209c4bd4e8e76c.js
deleted file mode 100644
index 1bdfc98..0000000
--- a/files/18.0b71f4209c4bd4e8e76c.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([18],{uwRd:function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/process-message#v3",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{id:{type:"string",description:"The unique identification of the device. As this is used to identify a device independently from time or location the id itself must be stable and unique. Recommended is to use a universally unique identifier (UUID).",maxLength:36},mode:{type:"string",description:"The operational mode indicates the functional state of the device. This is not restrictected to enum, since it is dependent on the machine, process or use case. Examples are 'auto', 'manual', 'test', 'wait', 'maintenance', 'run', 'stop', 'other' or 'unknown'"},state:{type:"string",enum:["OK","INFO","WARN","ERROR","UNKNOWN"],default:"UNKNOWN",description:"The state describes the technical condition of a device."}},required:["id"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},id:{type:"string",description:"Identifies a part. This id comes from a 3rd party system and thus we have no guarantees if this is unique or not.",maxLength:256},type:{type:"string",enum:["SINGLE","BATCH"],description:"Describes the type of the part. Type SINGLE means a single item is processed. Type BATCH means multiple items of the same type are processed.",default:"SINGLE"},typeId:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"}},required:["id"]},process:{type:"object",description:"Contains information about the process. If the process JSON object is set, then all information in measurements are process phases",properties:{externalId:{type:"string",description:"The process id identifies the process as part of long living process. The process id can be used to connect multiple processes in a manufacturing chain. The id has to be set and tracked by the different devices in the chain.",maxLength:36},program:{type:"object",description:"Contains information about the program that was used in the process.",properties:{id:{type:"string",description:"The program identifier",maxLength:36},lastChangedDate:{type:"string",format:"date-time",description:"The date when the program was last changed"},name:{type:"string",description:"The name of the program",maxLength:256}},required:["id"]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},shutoffPhase:{type:"string",description:"The id of the phase that led to stop the process. The shutOffPhase is the phase of the process in which either pre-defined parameters are met to successfully finish the process or an error that stopped the process. That is not necessarily the last phase. The shutOffPhase should be sent when the last process phase is sent."},ts:{type:"string",format:"date-time",description:"Start time of the process"}},required:["ts"]},measurements:{allOf:[{type:"array",minItems:1,items:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},context:{type:"object",description:"Provides additional information about the data provided in the series element. An entry in the context applies to the element in the series with the same key.",patternProperties:{"^[^$]+":{type:"object",description:"The key shall be the name of a measurement point (element of series element). The value is a structure of additional context information.",properties:{accuracy:{oneOf:[{type:"number",description:"A constant that describes the accuracy of the corresponding measurement as absolute value"},{type:"array",description:"An array of accuracy values. The items of the array correspond to the respective measurements at the same position.",items:{type:"number"}}]},limits:{description:"Provides information about the limit for data provided in the series element. The limit corresponds to the measurement point (see also series element) with the same key. The value is a structure of upper/lower limits and applies to numeric values only.",type:"object",oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intented target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}}},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intented target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}}}]},offset:{description:"The offset applies to numeric data type only.",oneOf:[{type:"number",description:"Describes the offset of the corresponding measurement as absolute value"},{type:"array",description:"An array of offset values. The items of the array correspond to the respective measurements at the same position.",items:{type:"number"}}]},type:{type:"string",description:"The data type of the corresponding measurement value.",enum:["BASE64","BOOLEAN","NUMBER","OTHER","REF","STRING"],default:"NUMBER"},unit:{type:"string",description:"Describes the unit of the corresponding measurement. It is recommended to use symbols as defined in https://tools.ietf.org/html/draft-ietf-core-senml-14#section-12.1"}},minProperties:1}},required:[]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the Device Type. In the case of a time series, one column contains the time offsets.",properties:{time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$]+":{type:"array",items:{type:["boolean","number","string"],description:"The type of this measurement series is dependendant on the context.type. It defaults to number"}}},required:["time"],minProperties:2},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"}},required:["ts","series"]}},{type:"array",items:{type:"object",properties:{name:{type:"string",description:"The name of the process phase",maxLength:256},phase:{type:"string",description:"The id of the process phase",maxLength:256},specialValues:{type:"array",items:{type:"object",description:"Provides information about special or interesting values during the process phase.",properties:{time:{type:"integer",description:"The time offset in milliseconds to the 'ts' field of the measurement"},name:{type:"string",description:"Indicates the type of the specialValue (e.g. 'shutoff', endanzug', 'turningPoint' etc.)"},value:{type:"object",description:"Contains the actual (multidimensional) value of interest. Similarly to series, every entry matches a Measurement Point of the device",patternProperties:{"^[^$]+":{type:"number"}},minProperties:1}},required:["value"]}}}}}]}},required:["content-spec","device","process","measurements"]}}});
\ No newline at end of file
diff --git a/files/18.267388ad15cb1c8fe837.js b/files/18.267388ad15cb1c8fe837.js
new file mode 100644
index 0000000..14aaa5c
--- /dev/null
+++ b/files/18.267388ad15cb1c8fe837.js
@@ -0,0 +1 @@
+webpackJsonp([18],{uwRd:function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/process-message#v3",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{id:{type:"string",description:"The unique identification of the device. As this is used to identify a device independently from time or location the id itself must be stable and unique. Recommended is to use a universally unique identifier (UUID).",maxLength:36},mode:{type:"string",description:"The operational mode indicates the functional state of the device. This is not restricted to enum, since it is dependent on the machine, process or use case. Examples are 'auto', 'manual', 'test', 'wait', 'maintenance', 'run', 'stop', 'other' or 'unknown'"},state:{type:"string",enum:["OK","INFO","WARN","ERROR","UNKNOWN"],default:"UNKNOWN",description:"The state describes the technical condition of a device."}},required:["id"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result, which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},id:{type:"string",description:"Identifies a part. This id comes from a third party system and thus we have no guarantees if this is unique or not.",maxLength:256},type:{type:"string",enum:["SINGLE","BATCH"],description:"Describes the type of the part. Type SINGLE means a single item is processed. Type BATCH means multiple items of the same type are processed.",default:"SINGLE"},typeId:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"}},required:["id"]},process:{type:"object",description:"Contains information about the process. If the process JSON object is set, then all information in measurements are process phases",properties:{externalId:{type:"string",description:"The process id identifies the process as part of long living process. The process id can be used to connect multiple processes in a manufacturing chain. The id has to be set and tracked by the different devices in the chain.",maxLength:36},program:{type:"object",description:"Contains information about the program that was used in the process.",properties:{id:{type:"string",description:"The program identifier",maxLength:36},lastChangedDate:{type:"string",format:"date-time",description:"The date when the program was last changed"},name:{type:"string",description:"The name of the program",maxLength:256}},required:["id"]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},shutoffPhase:{type:"string",description:"The id of the phase that led to stop the process. The shutOffPhase is the phase of the process in which either pre-defined parameters are met to successfully finish the process or an error that stopped the process. That is not necessarily the last phase. The shutOffPhase should be sent when the last process phase is sent."},ts:{type:"string",format:"date-time",description:"Start time of the process"}},required:["ts"]},measurements:{allOf:[{type:"array",minItems:1,items:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result, which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},context:{type:"object",description:"Provides additional information about the data provided in the series element. An entry in the context applies to the element in the series with the same key.",patternProperties:{"^[^$]+":{type:"object",description:"The key shall be the name of a measurement point (element of series element). The value is a structure of additional context information like accuracy, offset etc. This information can be further described in the URI given in the namespace field",properties:{limits:{description:"Provides information about the limit for data provided in the series element. The limit corresponds to the measurement point (see also series element) with the same key. The value is a structure of upper/lower limits and applies to numeric values only.",type:"object",oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intended target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}}},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intended target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}}}]},namespace:{type:"string",description:"If an URI is specified, it gives further detail about the parameter in this context object"},type:{type:"string",description:"The data type of the corresponding measurement value. They correspond to the primitive JSON types boolean, number, integer and string. BASE64 is a string with base64 encoded binary data. Array and Object should not be used in order to limit complexity.",enum:["BASE64","BOOLEAN","INTEGER","NUMBER","STRING"],default:"NUMBER"},unit:{type:"string",description:"Describes the unit of the corresponding measurement. It is recommended to use SI (International System of Units) symbols or describe the string further in a given namespace"}},minProperties:1}},required:[]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the Device Type. In the case of a time series, one column contains the time offsets.",properties:{time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$]+":{type:"array",items:{type:["boolean","number","string"],description:"The type of this measurement series is dependent on the context.type. It defaults to number"}}},required:["time"],minProperties:2},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"}},required:["ts","series"]}},{type:"array",items:{type:"object",properties:{name:{type:"string",description:"The name of the process phase",maxLength:256},phase:{type:"string",description:"The id of the process phase",maxLength:256},specialValues:{type:"array",items:{type:"object",description:"Provides information about special or interesting values during the process phase.",properties:{time:{type:"integer",description:"The time offset in milliseconds to the 'ts' field of the measurement"},name:{type:"string",description:"Indicates the type of the specialValue (e.g. 'shutoff', endanzug', 'turningPoint' etc.)"},value:{type:"object",description:"Contains the actual (multidimensional) value of interest. Similarly to series, every entry matches a Measurement Point of the device",patternProperties:{"^[^$]+":{type:"number"}},minProperties:1}},required:["value"]}}}}}]}},required:["content-spec","device","process","measurements"]}}});
\ No newline at end of file
diff --git a/files/19.19d62025503672303cb1.js b/files/19.19d62025503672303cb1.js
deleted file mode 100644
index 79555cc..0000000
--- a/files/19.19d62025503672303cb1.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([19],{"1SJ2":function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/machine-message#v3",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{id:{type:"string",description:"The unique identification of the device. As this is used to identify a device independently from time or location the id itself must be stable and unique. Recommended is to use a universally unique identifier (UUID).",maxLength:36},mode:{type:"string",description:"The operational mode indicates the functional state of the device. This is not restrictected to enum, since it is dependent on the machine, process or use case. Examples are 'auto', 'manual', 'test', 'wait', 'maintenance', 'run', 'stop', 'other' or 'unknown'"},state:{type:"string",enum:["OK","INFO","WARN","ERROR","UNKNOWN"],default:"UNKNOWN",description:"The state describes the technical condition of a device."}},required:["id"]},messages:{minItems:1,type:"array",items:{type:"object",description:"Collection of messages",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},description:{type:"string",description:"The description is used to describe the purpose of the message, e.g. the problem",maxLength:2e3},hint:{type:"string",description:"In case a problem is reported, the hint can be used to point out a possible solution",maxLength:2e3},origin:{type:"string",description:"The origin of the message if not the device identified by deviceID in the header element. Could be used to identify a subsystem or a particular sensor/part of the device where the message actually relates to."},severity:{type:"string",description:"Severity of the message",enum:["HIGH","MEDIUM","LOW","UNKNOWN"],default:"UNKNOWN"},title:{type:"string",description:"Title of the message. If title not set the code will be stored as fallback",maxLength:1e3},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"},type:{type:"string",description:"The type of message. Default is DEVICE but can be set to TECHNICAL_INFO indicating a problem with the integration of the actual device. Allowed values: DEVICE, TECHNICAL_INFO",enum:["DEVICE","TECHNICAL_INFO"],default:"DEVICE"}},required:["ts","code"]}}},required:["content-spec","device","messages"]}}});
\ No newline at end of file
diff --git a/files/19.348581f6cfe5796d9050.js b/files/19.348581f6cfe5796d9050.js
new file mode 100644
index 0000000..fd12524
--- /dev/null
+++ b/files/19.348581f6cfe5796d9050.js
@@ -0,0 +1 @@
+webpackJsonp([19],{"1SJ2":function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/machine-message#v3",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{id:{type:"string",description:"The unique identification of the device. As this is used to identify a device independently from time or location the id itself must be stable and unique. Recommended is to use a universally unique identifier (UUID).",maxLength:36},mode:{type:"string",description:"The operational mode indicates the functional state of the device. This is not restricted to enum, since it is dependent on the machine, process or use case. Examples are 'auto', 'manual', 'test', 'wait', 'maintenance', 'run', 'stop', 'other' or 'unknown'"},state:{type:"string",enum:["OK","INFO","WARN","ERROR","UNKNOWN"],default:"UNKNOWN",description:"The state describes the technical condition of a device."}},required:["id"]},messages:{minItems:1,type:"array",items:{type:"object",description:"Collection of messages",properties:{code:{type:"string",description:"The code is an addendum to the result, which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},description:{type:"string",description:"The description is used to describe the purpose of the message, e.g. the problem",maxLength:2e3},hint:{type:"string",description:"In case a problem is reported, the hint can be used to point out a possible solution",maxLength:2e3},origin:{type:"string",description:"The origin of the message if not the device identified by deviceID in the header element. Could be used to identify a subsystem or a particular sensor/part of the device where the message actually relates to."},severity:{type:"string",description:"Severity of the message",enum:["HIGH","MEDIUM","LOW","UNKNOWN"],default:"UNKNOWN"},title:{type:"string",description:"Title of the message. If title not set the code will be stored as fallback",maxLength:1e3},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"},type:{type:"string",description:"The type of message. Default is DEVICE but can be set to TECHNICAL_INFO indicating a problem with the integration of the actual device. Allowed values: DEVICE, TECHNICAL_INFO",enum:["DEVICE","TECHNICAL_INFO"],default:"DEVICE"}},required:["ts","code"]}}},required:["content-spec","device","messages"]}}});
\ No newline at end of file
diff --git a/files/20.3922bb7a543a52605c01.js b/files/20.3922bb7a543a52605c01.js
deleted file mode 100644
index be617b5..0000000
--- a/files/20.3922bb7a543a52605c01.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([20],{PpY5:function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/machine-message#v3",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{id:{type:"string",description:"The unique identification of the device. As this is used to identify a device independently from time or location the id itself must be stable and unique. Recommended is to use a universally unique identifier (UUID).",maxLength:36},mode:{type:"string",description:"The operational mode indicates the functional state of the device. This is not restrictected to enum, since it is dependent on the machine, process or use case. Examples are 'auto', 'manual', 'test', 'wait', 'maintenance', 'run', 'stop', 'other' or 'unknown'"},state:{type:"string",enum:["OK","INFO","WARN","ERROR","UNKNOWN"],default:"UNKNOWN",description:"The state describes the technical condition of a device."}},required:["id"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},id:{type:"string",description:"Identifies a part. This id comes from a 3rd party system and thus we have no guarantees if this is unique or not.",maxLength:256},type:{type:"string",enum:["SINGLE","BATCH"],description:"Describes the type of the part. Type SINGLE means a single item is processed. Type BATCH means multiple items of the same type are processed.",default:"SINGLE"},typeId:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"}},required:["id"]},measurements:{type:"array",minItems:1,items:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},context:{type:"object",description:"Provides additional information about the data provided in the series element. An entry in the context applies to the element in the series with the same key.",patternProperties:{"^[^$]+":{type:"object",description:"The key shall be the name of a measurement point (element of series element). The value is a structure of additional context information.",properties:{accuracy:{oneOf:[{type:"number",description:"A constant that describes the accuracy of the corresponding measurement as absolute value"},{type:"array",description:"An array of accuracy values. The items of the array correspond to the respective measurements at the same position.",items:{type:"number"}}]},limits:{description:"Provides information about the limit for data provided in the series element. The limit corresponds to the measurement point (see also series element) with the same key. The value is a structure of upper/lower limits and applies to numeric values only.",type:"object",oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intented target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}}},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intented target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}}}]},offset:{description:"The offset applies to numeric data type only.",oneOf:[{type:"number",description:"Describes the offset of the corresponding measurement as absolute value"},{type:"array",description:"An array of offset values. The items of the array correspond to the respective measurements at the same position.",items:{type:"number"}}]},type:{type:"string",description:"The data type of the corresponding measurement value.",enum:["BASE64","BOOLEAN","NUMBER","OTHER","REF","STRING"],default:"NUMBER"},unit:{type:"string",description:"Describes the unit of the corresponding measurement. It is recommended to use symbols as defined in https://tools.ietf.org/html/draft-ietf-core-senml-14#section-12.1"}},minProperties:1}},required:[]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the Device Type. In the case of a time series, one column contains the time offsets.",properties:{time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$]+":{type:"array",items:{type:["boolean","number","string"],description:"The type of this measurement series is dependendant on the context.type. It defaults to number"}}},required:["time"],minProperties:2},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"}},required:["ts","series"]}}},required:["content-spec","device","measurements"]}}});
\ No newline at end of file
diff --git a/files/20.3e0ba9289b2d0f8c9a98.js b/files/20.3e0ba9289b2d0f8c9a98.js
new file mode 100644
index 0000000..4fda07f
--- /dev/null
+++ b/files/20.3e0ba9289b2d0f8c9a98.js
@@ -0,0 +1 @@
+webpackJsonp([20],{PpY5:function(e,t){e.exports={type:"object",properties:{"content-spec":{type:"string",default:"urn:spec://eclipse.org/unide/machine-message#v3",description:"Defines what the format version is"},device:{type:"object",description:"Contains information about the device",properties:{id:{type:"string",description:"The unique identification of the device. As this is used to identify a device independently from time or location the id itself must be stable and unique. Recommended is to use a universally unique identifier (UUID).",maxLength:36},mode:{type:"string",description:"The operational mode indicates the functional state of the device. This is not restricted to enum, since it is dependent on the machine, process or use case. Examples are 'auto', 'manual', 'test', 'wait', 'maintenance', 'run', 'stop', 'other' or 'unknown'"},state:{type:"string",enum:["OK","INFO","WARN","ERROR","UNKNOWN"],default:"UNKNOWN",description:"The state describes the technical condition of a device."}},required:["id"]},part:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result, which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},id:{type:"string",description:"Identifies a part. This id comes from a third party system and thus we have no guarantees if this is unique or not.",maxLength:256},type:{type:"string",enum:["SINGLE","BATCH"],description:"Describes the type of the part. Type SINGLE means a single item is processed. Type BATCH means multiple items of the same type are processed.",default:"SINGLE"},typeId:{type:"string",description:"Identifies a part type",maxLength:256},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"}},required:["id"]},measurements:{type:"array",minItems:1,items:{type:"object",properties:{code:{type:"string",description:"The code is an addendum to the result, which allows to pass information in the case the result was NOK. The value often stems from the integrated system e.g. a PLC code",maxLength:128},context:{type:"object",description:"Provides additional information about the data provided in the series element. An entry in the context applies to the element in the series with the same key.",patternProperties:{"^[^$]+":{type:"object",description:"The key shall be the name of a measurement point (element of series element). The value is a structure of additional context information like accuracy, offset etc. This information can be further described in the URI given in the namespace field",properties:{limits:{description:"Provides information about the limit for data provided in the series element. The limit corresponds to the measurement point (see also series element) with the same key. The value is a structure of upper/lower limits and applies to numeric values only.",type:"object",oneOf:[{type:"object",description:"A constant limit for all corresponding measurements",properties:{lowerError:{description:"Indicates an error if this limit is underrun",type:"number"},lowerWarn:{description:"Indicates a warning if this limit is underrun",type:"number"},target:{description:"Indicates the intended target value of the measurement",type:"number"},upperError:{description:"Indicates an error if this limit is exceeded",type:"number"},upperWarn:{description:"Indicates a warning if this limit is exceeded",type:"number"}}},{type:"object",description:"An array of limit values. The items of the array correspond to the respective measurements at the same position.",properties:{lowerError:{description:"Indicates an error if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},lowerWarn:{description:"Indicates a warning if these limits is underrun. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},target:{description:"Indicates the intended target values. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperError:{description:"Indicates an error if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}},upperWarn:{description:"Indicates a warning if these limits is exceeded. The values correspond to the respective measurements in the given order.",type:"array",items:{type:"number"}}}}]},namespace:{type:"string",description:"If an URI is specified, it gives further detail about the parameter in this context object"},type:{type:"string",description:"The data type of the corresponding measurement value. They correspond to the primitive JSON types boolean, number, integer and string. BASE64 is a string with base64 encoded binary data. Array and Object should not be used in order to limit complexity.",enum:["BASE64","BOOLEAN","INTEGER","NUMBER","STRING"],default:"NUMBER"},unit:{type:"string",description:"Describes the unit of the corresponding measurement. It is recommended to use SI (International System of Units) symbols or describe the string further in a given namespace"}},minProperties:1}},required:[]},result:{type:"string",enum:["OK","NOK","UNKNOWN"],description:"Information if the result was ok or not. This is only required if part information should be saved.",default:"UNKNOWN"},series:{type:"object",description:"The series data collected for the measurements. Every entry matches a Measurement Point of the Device Type. In the case of a time series, one column contains the time offsets.",properties:{time:{type:"array",description:"The time offset in milliseconds (positive values in ascending order starting with 0) to the 'ts' field of the measurement",items:{type:"integer"}}},patternProperties:{"^[^$]+":{type:"array",items:{type:["boolean","number","string"],description:"The type of this measurement series is dependent on the context.type. It defaults to number"}}},required:["time"],minProperties:2},ts:{format:"date-time",type:"string",description:"Start time of the the data measurment in  ISO 8601 format"}},required:["ts","series"]}}},required:["content-spec","device","measurements"]}}});
\ No newline at end of file
diff --git a/files/manifest.057b92078412a6219ce8.js b/files/manifest.a569480e6555bd9b2666.js
similarity index 86%
rename from files/manifest.057b92078412a6219ce8.js
rename to files/manifest.a569480e6555bd9b2666.js
index d04d9cf..51c455b 100644
--- a/files/manifest.057b92078412a6219ce8.js
+++ b/files/manifest.a569480e6555bd9b2666.js
@@ -1 +1 @@
-!function(e){var a=window.webpackJsonp;window.webpackJsonp=function(n,r,o){for(var s,i,f,d=0,p=[];d<n.length;d++)i=n[d],c[i]&&p.push(c[i][0]),c[i]=0;for(s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s]);for(a&&a(n,r,o);p.length;)p.shift()();if(o)for(d=0;d<o.length;d++)f=t(t.s=o[d]);return f};var n={},c={24:0};function t(a){if(n[a])return n[a].exports;var c=n[a]={i:a,l:!1,exports:{}};return e[a].call(c.exports,c,c.exports,t),c.l=!0,c.exports}t.e=function(e){var a=c[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var n=new Promise(function(n,t){a=c[e]=[n,t]});a[2]=n;var r=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,t.nc&&o.setAttribute("nonce",t.nc),o.src=t.p+""+({0:"pages_specification_v3_process-message",1:"pages_specification_v3_measurement-message",2:"pages_specification_v3_machine-message",3:"pages_specification_v2_process-message",4:"pages_specification_v2_measurement-message",5:"pages_specification_v2_machine-message",6:"pages_blog",7:"pages_article",8:"layouts_sidebar",9:"layouts_default",10:"pages_faq",11:"pages_specification",12:"pages_index",13:"pages_proposal",14:"pages_specification_index",15:"vendor",16:"app"}[e]||e)+"."+{0:"f340d53e70c3c65a5386",1:"aa811e804d20a52a29ae",2:"8a297ed73f94b4d33cf6",3:"a9d81425fd5d650e08b2",4:"98c76d689faf4e24e515",5:"216cf2e8b13133ec1b51",6:"e921111d8f479ba5a1cd",7:"dfd7fcb83848670d21b1",8:"d45435715b520199379d",9:"abbae1ad205e6f253d03",10:"8150044514eb62ddb4c7",11:"019a3d73137721bf46a2",12:"922f1427ed81a1db7207",13:"60a77f13238c99a592be",14:"815252d9cf4fccce90f1",15:"3960437a749191406982",16:"45b9891348f7e815e8b8",17:"68457182c4872d1a7c24",18:"0b71f4209c4bd4e8e76c",19:"19d62025503672303cb1",20:"3922bb7a543a52605c01",21:"884f5e26a6cd4054e141",22:"efc38af3562317c618d5",23:"e92d2a866e7c11905498"}[e]+".js";var s=setTimeout(i,12e4);function i(){o.onerror=o.onload=null,clearTimeout(s);var a=c[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),c[e]=void 0)}return o.onerror=o.onload=i,r.appendChild(o),n},t.m=e,t.c=n,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="/unide/files/",t.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
+!function(e){var a=window.webpackJsonp;window.webpackJsonp=function(n,r,o){for(var s,i,f,d=0,p=[];d<n.length;d++)i=n[d],c[i]&&p.push(c[i][0]),c[i]=0;for(s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s]);for(a&&a(n,r,o);p.length;)p.shift()();if(o)for(d=0;d<o.length;d++)f=t(t.s=o[d]);return f};var n={},c={24:0};function t(a){if(n[a])return n[a].exports;var c=n[a]={i:a,l:!1,exports:{}};return e[a].call(c.exports,c,c.exports,t),c.l=!0,c.exports}t.e=function(e){var a=c[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var n=new Promise(function(n,t){a=c[e]=[n,t]});a[2]=n;var r=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,t.nc&&o.setAttribute("nonce",t.nc),o.src=t.p+""+({0:"pages_specification_v3_process-message",1:"pages_specification_v3_measurement-message",2:"pages_specification_v3_machine-message",3:"pages_specification_v2_process-message",4:"pages_specification_v2_measurement-message",5:"pages_specification_v2_machine-message",6:"pages_blog",7:"pages_article",8:"layouts_sidebar",9:"layouts_default",10:"pages_faq",11:"pages_specification",12:"pages_index",13:"pages_proposal",14:"pages_specification_index",15:"vendor",16:"app"}[e]||e)+"."+{0:"9a79c59e8bcf5e01ba14",1:"4434bf8df3d72126d3b3",2:"b862ba0cbff6db318d5c",3:"a9d81425fd5d650e08b2",4:"98c76d689faf4e24e515",5:"216cf2e8b13133ec1b51",6:"e921111d8f479ba5a1cd",7:"dfd7fcb83848670d21b1",8:"d45435715b520199379d",9:"abbae1ad205e6f253d03",10:"8150044514eb62ddb4c7",11:"f1734fa9096da7169e8b",12:"922f1427ed81a1db7207",13:"60a77f13238c99a592be",14:"815252d9cf4fccce90f1",15:"3960437a749191406982",16:"45b9891348f7e815e8b8",17:"68457182c4872d1a7c24",18:"267388ad15cb1c8fe837",19:"348581f6cfe5796d9050",20:"3e0ba9289b2d0f8c9a98",21:"884f5e26a6cd4054e141",22:"efc38af3562317c618d5",23:"e92d2a866e7c11905498"}[e]+".js";var s=setTimeout(i,12e4);function i(){o.onerror=o.onload=null,clearTimeout(s);var a=c[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),c[e]=void 0)}return o.onerror=o.onload=i,r.appendChild(o),n},t.m=e,t.c=n,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="/unide/files/",t.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
diff --git a/files/pages_specification.019a3d73137721bf46a2.js b/files/pages_specification.019a3d73137721bf46a2.js
deleted file mode 100644
index 9320222..0000000
--- a/files/pages_specification.019a3d73137721bf46a2.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([11],{ILIS:function(e,t,a){(e.exports=a("YHym")(!1)).push([e.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}",""])},Ib4h:function(e,t,a){"use strict";t.a={head:function(){return{title:"Specification"}},asyncData:function(e){return{isStatic:e.isStatic}}}},ZNfg:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a("Ib4h"),s=a("bYD5"),o=!1;var n=function(e){o||a("cSup")},r=a("VU/8")(i.a,s.a,!1,n,null,null);r.options.__file="pages\\specification.vue",t.default=r.exports},bYD5:function(e,t,a){"use strict";var i=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"specification"},[this._m(0),t("div",{staticClass:"columns",attrs:{id:"messageDetail"}},[t("nuxt-link",{staticClass:"column",attrs:{to:"/specification"+(this.isStatic?"#messageDetail":""),exact:"",tag:"div"}},[t("a",[this._v("Overview")])]),t("nuxt-link",{staticClass:"column",attrs:{to:"/specification/v2/machine-message"+(this.isStatic?"#messageDetail":""),tag:"div"}},[t("a",[this._v("Machine Message")])]),t("nuxt-link",{staticClass:"column",attrs:{to:"/specification/v2/measurement-message"+(this.isStatic?"#messageDetail":""),tag:"div"}},[t("a",[this._v("Measurement Message")])]),t("nuxt-link",{staticClass:"column",attrs:{to:"/specification/v2/process-message"+(this.isStatic?"#messageDetail":""),tag:"div"}},[t("a",[this._v("Process Message")])])],1),t("nuxt-child")],1)};i._withStripped=!0;var s={render:i,staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"content"},[t("h1",[t("a",{attrs:{id:"PPMP-Specification",title:"PPMP Specification"}}),this._v("\n      PPMP Specification\n    ")]),t("h2",[this._v("Rationale")]),t("p",[this._v("\n    Noticeably in recent years, there is a continuous increase in demand, price pressure and complexity in manufacturing. Things need to move faster, be more flexible, and fulfill higher quality standards forcing manufacturers to optimize their processes.\n    ")]),t("p",[this._v("\n    Production facilities and their performance have a huge impact on the overall performance of manufacturing processes. However, to identify bottlenecks and possibilities for improvements detailed data from machines are required.\n    ")]),t("p",[this._v("\n    Such data is surely provided by machines either via modern protocols such as OPC UA or via proprietary access methods but it is not provided in a common and easily accessible format, which can be used to do performance analysis and optimization. This renders holistic process improvement efforts infeasible for many, especially smaller organizations.\n    ")]),t("p",[this._v("\n    The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.\n    ")]),t("p",[this._v("\n    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.\n    ")]),t("p",[this._v("\n    The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.\n    ")])])}]};t.a=s},cSup:function(e,t,a){var i=a("ILIS");"string"==typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);a("rjj0")("0d7afdaa",i,!1)}});
\ No newline at end of file
diff --git a/files/pages_specification.f1734fa9096da7169e8b.js b/files/pages_specification.f1734fa9096da7169e8b.js
new file mode 100644
index 0000000..c08587d
--- /dev/null
+++ b/files/pages_specification.f1734fa9096da7169e8b.js
@@ -0,0 +1 @@
+webpackJsonp([11],{ILIS:function(e,t,a){(e.exports=a("YHym")(!1)).push([e.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}",""])},Ib4h:function(e,t,a){"use strict";t.a={head:function(){return{title:"Specification"}},asyncData:function(e){return{isStatic:e.isStatic}}}},ZNfg:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a("Ib4h"),s=a("bYD5"),o=!1;var n=function(e){o||a("cSup")},r=a("VU/8")(i.a,s.a,!1,n,null,null);r.options.__file="pages\\specification.vue",t.default=r.exports},bYD5:function(e,t,a){"use strict";var i=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"specification"},[this._m(0),t("div",{staticClass:"columns",attrs:{id:"messageDetail"}},[t("nuxt-link",{staticClass:"column",attrs:{to:"/specification"+(this.isStatic?"#messageDetail":""),exact:"",tag:"div"}},[t("a",[this._v("Overview")])]),t("nuxt-link",{staticClass:"column",attrs:{to:"/specification/v2/machine-message"+(this.isStatic?"#messageDetail":""),tag:"div"}},[t("a",[this._v("Machine Message")])]),t("nuxt-link",{staticClass:"column",attrs:{to:"/specification/v2/measurement-message"+(this.isStatic?"#messageDetail":""),tag:"div"}},[t("a",[this._v("Measurement Message")])]),t("nuxt-link",{staticClass:"column",attrs:{to:"/specification/v2/process-message"+(this.isStatic?"#messageDetail":""),tag:"div"}},[t("a",[this._v("Process Message")])])],1),t("nuxt-child")],1)};i._withStripped=!0;var s={render:i,staticRenderFns:[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"content"},[t("h1",[t("a",{attrs:{id:"PPMP-Specification",title:"PPMP Specification"}}),this._v("\n      PPMP Specification\n    ")]),t("h2",[this._v("Rationale")]),t("p",[this._v("\n    Noticeably in recent years, there is a continuous increase in demand, price pressure and complexity in manufacturing. Things need to move faster, be more flexible, and fulfill higher quality standards forcing manufacturers to optimize their processes.\n    ")]),t("p",[this._v("\n    Production facilities and their performance have a huge impact on the overall performance of manufacturing processes. However, to identify bottlenecks and possibilities for improvements detailed data from machines are required.\n    ")]),t("p",[this._v("\n    Such data is surely provided by machines either via modern protocols such as OPC UA or via proprietary access methods but it is not provided in a common and easily accessible format, which can be used to do performance analysis and optimization. This renders holistic process improvement efforts infeasible for many, especially smaller organizations.\n    ")]),t("p",[this._v("\n    The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.\n    ")]),t("p",[this._v("\n    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.\n    ")]),t("p",[this._v("\n    The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.\n    ")])])}]};t.a=s},cSup:function(e,t,a){var i=a("ILIS");"string"==typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);a("rjj0")("0d7afdaa",i,!1)}});
\ No newline at end of file
diff --git a/files/pages_specification_v3_machine-message.8a297ed73f94b4d33cf6.js b/files/pages_specification_v3_machine-message.b862ba0cbff6db318d5c.js
similarity index 84%
rename from files/pages_specification_v3_machine-message.8a297ed73f94b4d33cf6.js
rename to files/pages_specification_v3_machine-message.b862ba0cbff6db318d5c.js
index d5dd05e..fef5123 100644
--- a/files/pages_specification_v3_machine-message.8a297ed73f94b4d33cf6.js
+++ b/files/pages_specification_v3_machine-message.b862ba0cbff6db318d5c.js
@@ -1 +1 @@
-webpackJsonp([2],{"+66z":function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},"+99L":function(t,e,n){var r={"./v2/measurement_schema.json":["oGp6",23],"./v2/message_schema.json":["2BTs",22],"./v2/process_schema.json":["rRyJ",21],"./v3/measurement_schema.json":["PpY5",20],"./v3/message_schema.json":["1SJ2",19],"./v3/process_schema.json":["uwRd",18]};function i(t){var e=r[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(r)},i.id="+99L",t.exports=i},"+gg+":function(t,e,n){var r=n("TQ3y")["__core-js_shared__"];t.exports=r},"/GnY":function(t,e,n){var r=n("HT7L"),i=n("W529"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},"/I3N":function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},"037f":function(t,e,n){var r=n("1oyr"),i=n("p0bc"),o=n("wSKX"),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},"09Qt":function(t,e,n){var r=n("uIr7"),i=n("vi0E"),o=n("l9Lx"),a=n("C0hh"),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},"0DSl":function(t,e,n){var r=n("YkxI"),i=n("zBOP");t.exports=function(t){return r(function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r<o;){var c=n[r];c&&t(e,c,r,a)}return e})}},"0uX4":function(t,e,n){var r=n("NkRn"),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},"1C79":function(t,e,n){var r=n("uIr7"),i=n("Qp3N");t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c<u;){var l=e[c];n>0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},"1QDk":function(t,e,n){var r=n("tv3T"),i=n("09Qt");t.exports=function(t,e){return r(t,i(t),e)}},"1Yb9":function(t,e,n){var r=n("mgnk"),i=n("UnEC"),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"1oyr":function(t,e){t.exports=function(t){return function(){return t}}},"22B7":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"2Hvv":function(t,e,n){var r=n("imBK");t.exports=function(t){return r(this.__data__,t)>-1}},"2N6f":function(t,e,n){var r=n("rCVp"),i=n("Q2wK"),o=n("WHce");t.exports=function(t){return o(i(t,void 0,r),t+"")}},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3rZI":function(t,e){t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}},"4yG7":function(t,e,n){var r=n("HAGj");t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},"5/Qr":function(t,e,n){var r=n("Kzd6"),i=n("6Git"),o=n("Jqj6"),a=n("WyC4"),s=n("7jYp"),c=n("0uX4"),u=n("Ilb/"),l="[object Boolean]",f="[object Date]",p="[object Map]",d="[object Number]",v="[object RegExp]",h="[object Set]",m="[object String]",b="[object Symbol]",y="[object ArrayBuffer]",_="[object DataView]",g="[object Float32Array]",x="[object Float64Array]",j="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",w="[object Uint8Array]",k="[object Uint8ClampedArray]",T="[object Uint16Array]",P="[object Uint32Array]";t.exports=function(t,e,n,A){var E=t.constructor;switch(e){case y:return r(t);case l:case f:return new E(+t);case _:return i(t,A);case g:case x:case j:case C:case O:case w:case k:case T:case P:return u(t,A);case p:return o(t,A,n);case d:case m:return new E(t);case v:return a(t);case h:return s(t,A,n);case b:return c(t)}}},"5N57":function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Set");t.exports=r},"5PlU":function(t,e,n){var r=n("RY/4"),i=n("dSzd")("iterator"),o=n("/bQp");t.exports=n("FeBl").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},"5pwE":function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"5zde":function(t,e,n){n("zQR9"),n("qyJz"),t.exports=n("FeBl").Array.from},"6Git":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},"6MiT":function(t,e,n){var r=n("aCM0"),i=n("UnEC"),o="[object Symbol]";t.exports=function(t){return"symbol"==typeof t||i(t)&&r(t)==o}},"77aO":function(t,e,n){"use strict";e.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(t){this.expanded=!t}},methods:{beforeenter:function(t){this.transitioning=!0,t.style.height=0},enter:function(t){t.style.height=t.scrollHeight+"px"},afterenter:function(t){t.style.height="",this.transitioning=!1},beforeleave:function(t){this.transitioning=!0,t.style.height=t.offsetHeight+"px",t.offsetHeight},leave:function(t){t.style.height=0,t.offsetHeight},afterleave:function(t){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},"7e4z":function(t,e,n){var r=n("uieL"),i=n("1Yb9"),o=n("NGEn"),a=n("ggOT"),s=n("ZGh9"),c=n("YsVG"),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),f=!n&&!l&&a(t),p=!n&&!l&&!f&&c(t),d=n||l||f||p,v=d?r(t.length,String):[],h=v.length;for(var m in t)!e&&!u.call(t,m)||d&&("length"==m||f&&("offset"==m||"parent"==m)||p&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,h))||v.push(m);return v}},"7jYp":function(t,e,n){var r=n("nWuj"),i=n("3rZI"),o=n("octw"),a=1;t.exports=function(t,e,n){var s=e?n(o(t),a):o(t);return i(s,r,new t.constructor)}},"8AZL":function(t,e){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},"8gK5":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},"94sX":function(t,e,n){var r=n("dCZQ");t.exports=function(){this.__data__=r?r(null):{},this.size=0}},"9UkZ":function(t,e,n){var r=n("aCM0"),i=n("vi0E"),o=n("UnEC"),a="[object Object]",s=Function.prototype,c=Object.prototype,u=s.toString,l=c.hasOwnProperty,f=u.call(Object);t.exports=function(t){if(!o(t)||r(t)!=a)return!1;var e=i(t);if(null===e)return!0;var n=l.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==f}},A51D:function(t,e,n){var r=n("5pwE");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("188b52d2",r,!1)},A9mX:function(t,e,n){var r=n("pTUa");t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},"Ai/T":function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},AxiT:function(t,e,n){var r=n("Lw7C");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("0868896c",r,!1)},C0hh:function(t,e){t.exports=function(){return[]}},CW5P:function(t,e,n){var r=n("T/bE"),i=n("duB3"),o=n("POb3");t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},Cf65:function(t,e,n){var r=n("uCi2"),i=n("M1c9");t.exports=function(t,e){return e.length<2?t:r(t,i(e,0,-1))}},D9sP:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"schemaDetail",class:{"is-loading":t.loading},attrs:{id:"schema-detail"}},[n("div",{staticClass:"accordion"},[null!==t.masterSchema?n("card",{attrs:{collapsed:!0}},[n("template",{slot:"header"},[t._v("\n        Structure of the payload\n      ")]),n("ul",t._l(t.masterSchema.properties,function(t,e){return n("schemaToc",{key:e,attrs:{schema:t}})}))],2):t._e(),t._t("default")],2),n("h1",[n("a",{attrs:{id:t.type+"-schema-detail",title:t.type+" Fields definition"}}),t._v("\n    Fields definition\n  ")]),t._l(t.schemas,function(e){return n("div",{key:e.$id,staticClass:"card property"},[n("header",{staticClass:"card-header"},[n("a",{attrs:{id:"p-"+e.$id}}),n("p",{staticClass:"card-header-title"},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})]),n("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa fa-angle-up"})])])],1),n("div",{staticClass:"card-content"},[e.description||e.type?n("div",{staticClass:"field is-horizontal"},[t._m(0,!0),e.description?n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.description)+"\n        ")]):e.type?n("div",{staticClass:"field-body"},[t._v("\n          A simple "+t._s(t._f("capitalize")(e.type))+"\n        ")]):t._e()]):t._e(),e.$parent?n("div",{staticClass:"field is-horizontal"},[t._m(1,!0),n("div",{staticClass:"field-body"},[n("nuxt-link",{attrs:{to:"#p-"+e.$parent.schema.$id}},[n("span",{domProps:{innerHTML:t._s(e.$parent.schema.getPath())}})])],1)]):t._e(),e.type?n("div",{staticClass:"field is-horizontal"},[t._m(2,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(t._f("capitalize")(e.type,e))+"\n        ")])]):t._e(),e.format?n("div",{staticClass:"field is-horizontal"},[t._m(3,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.format)+"\n          "),t.$static.formats[e.format]?n("a",{attrs:{href:t.$static.formats[e.format].link}},[t._v(" ("+t._s(t.$static.formats[e.format].name)+")")]):t._e()])]):t._e(),e.enum&&e.enum.length?n("div",{staticClass:"field is-horizontal"},[t._m(4,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.enum.join(", "))+"\n          ")])])]):t._e(),e.hasOwnProperty("default")?n("div",{staticClass:"field is-horizontal"},[t._m(5,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.default)+"\n          ")])])]):t._e(),e.maxLength?n("div",{staticClass:"field is-horizontal"},[t._m(6,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.maxLength)+"\n          ")])])]):t._e(),e.properties||e.patternProperties||e.items?n("div",{staticClass:"field is-horizontal"},[t._m(7,!0),n("div",{staticClass:"field-body"},[Object.keys(e.properties||{}).length>0?n("schemaLink",{attrs:{link:e.properties}}):t._e(),Object.keys(e.patternProperties||{}).length>0?n("schemaLink",{attrs:{link:e.patternProperties}},[n("div",[t._v("Matching regular expressions:")])]):t._e(),!e.items||e.items instanceof Array?e.items?n("schemaLink",{attrs:{link:e.items}},[n("div",[t._v("Ordered items of type:")])]):t._e():n("schemaLink",{attrs:{link:e.items}}),Object.keys(e.properties||{}).length+Object.keys(e.patternProperties||{}).length!==0||e.items?t._e():[t._v("none")]],2)]):t._e(),e.minProperties?n("div",{staticClass:"field is-horizontal"},[t._m(8,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minProperties)+"\n          ")])])]):t._e(),e.minItems?n("div",{staticClass:"field is-horizontal"},[t._m(9,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minItems)+"\n          ")])])]):t._e(),e.hasOwnProperty("additionalProperties")?n("div",{staticClass:"field is-horizontal"},[t._m(10,!0),"boolean"==typeof e.additionalProperties?n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}}):n("div",{staticClass:"field-body"},[t._v("\n          if fulfilling "),n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}})],1)],1):t._e(),e.not||e.oneOf||e.allOf||e.anyOf?n("div",{staticClass:"field is-horizontal"},[t._m(11,!0),n("div",{staticClass:"field-body"},[e.not?n("schemaLink",{attrs:{link:e.not}},[t._v("\n            Not fulfilling \n          ")]):t._e(),e.oneOf?n("schemaLink",{attrs:{link:e.oneOf}},[n("div",[t._v("Fulfilling exactly one of:")])]):t._e(),e.allOf?n("schemaLink",{attrs:{link:e.allOf}},[n("div",[t._v("Fulfilling all of:")])]):t._e(),e.anyOf?n("schemaLink",{attrs:{link:e.anyOf}},[n("div",[t._v("Fulfilling one of:")])]):t._e()],1)]):t._e(),e.required&&e.required.length?n("div",{staticClass:"field is-horizontal"},[t._m(12,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.required.join(", "))+"\n        ")])]):t._e(),e.examples?n("div",{staticClass:"field is-horizontal"},[t._m(13,!0),n("div",{staticClass:"field-body"},t._l(e.examples,function(e,r){return n("prism",{key:r,attrs:{language:"json"}},[t._v(t._s(t._f("stringify")(e)))])}))]):t._e()])])})],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Description:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Type:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Format:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Example:")])])}]};e.a=i},Dc0G:function(t,e,n){(function(t){var r=n("blYT"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s}).call(e,n("3IRH")(t))},Dc7M:function(t,e,n){var r=n("Hxdr"),i=n("Fkvj"),o=n("Vi3P"),a=n("bIjD"),s=n("tv3T"),c=n("dYhQ"),u=n("2N6f"),l=n("xond"),f=u(function(t,e){var n={};if(null==t)return n;var u=!1;e=r(e,function(e){return e=a(e,t),u||(u=e.length>1),e}),s(t,l(t),n),u&&(n=i(n,7,c));for(var f=e.length;f--;)o(n,e[f]);return n});t.exports=f},Dv2r:function(t,e,n){var r=n("pTUa");t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},E4Hj:function(t,e){t.exports=function(t){return this.__data__.get(t)}},FCuZ:function(t,e,n){var r=n("uIr7"),i=n("NGEn");t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},Fkvj:function(t,e,n){var r=n("bJWQ"),i=n("PqYH"),o=n("i4ON"),a=n("jD7S"),s=n("py9u"),c=n("mKB/"),u=n("hrPF"),l=n("Nkkh"),f=n("1QDk"),p=n("MoMe"),d=n("xond"),v=n("gHOb"),h=n("UfSK"),m=n("5/Qr"),b=n("WQFf"),y=n("NGEn"),_=n("ggOT"),g=n("yCNF"),x=n("ktak"),j=1,C=2,O=4,w="[object Arguments]",k="[object Function]",T="[object GeneratorFunction]",P="[object Object]",A={};A[w]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[P]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[k]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,E,S,M,$){var I,F=n&j,z=n&C,D=n&O;if(E&&(I=M?E(e,S,M,$):E(e)),void 0!==I)return I;if(!g(e))return e;var N=y(e);if(N){if(I=h(e),!F)return u(e,I)}else{var U=v(e),Q=U==k||U==T;if(_(e))return c(e,F);if(U==P||U==w||Q&&!M){if(I=z||Q?{}:b(e),!F)return z?f(e,s(I,e)):l(e,a(I,e))}else{if(!A[U])return M?e:{};I=m(e,U,t,F)}}$||($=new r);var G=$.get(e);if(G)return G;$.set(e,I);var H=D?z?d:p:z?keysIn:x,L=N?void 0:H(e);return i(L||e,function(r,i){L&&(r=e[i=r]),o(I,i,t(r,n,E,i,e,$))}),I}},Fp5l:function(t,e,n){var r=n("bGc4"),i=n("UnEC");t.exports=function(t){return i(t)&&r(t)}},G0Wc:function(t,e,n){var r=n("yCNF"),i=n("HT7L"),o=n("8gK5"),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},G2xm:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Gs0Q:function(t,e,n){"use strict";e.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schema:{type:Object,required:!0}}}},Gu7T:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("c/Tr"),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return(0,o.default)(t)}},HAGj:function(t,e,n){var r=n("i4ON"),i=n("bIjD"),o=n("ZGh9"),a=n("yCNF"),s=n("Ubhr");t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,f=l-1,p=t;null!=p&&++u<l;){var d=s(e[u]),v=n;if(u!=f){var h=p[d];void 0===(v=c?c(h,d,p):void 0)&&(v=a(h)?h:o(e[u+1])?[]:{})}r(p,d,v),p=p[d]}return t}},HN2V:function(t,e,n){var r=n("HbnZ"),i=n("0DSl")(function(t,e,n){r(t,e,n)});t.exports=i},HT7L:function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},HbnZ:function(t,e,n){var r=n("bJWQ"),i=n("O1jc"),o=n("rpnb"),a=n("jMi8"),s=n("yCNF"),c=n("t8rQ");t.exports=function t(e,n,u,l,f){e!==n&&o(n,function(o,c){if(s(o))f||(f=new r),a(e,n,c,u,t,l,f);else{var p=l?l(e[c],o,c+"",e,n,f):void 0;void 0===p&&(p=o),i(e,c,p)}},c)}},Hxdr:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},ICSD:function(t,e,n){var r=n("ITwD"),i=n("mTAn");t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},ITwD:function(t,e,n){var r=n("gGqR"),i=n("eFps"),o=n("yCNF"),a=n("Ai/T"),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,f=u.hasOwnProperty,p=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?p:s).test(a(t))}},"Ilb/":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},JBvZ:function(t,e,n){var r=n("imBK");t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},Jqj6:function(t,e,n){var r=n("U7Aq"),i=n("3rZI"),o=n("WFiI"),a=1;t.exports=function(t,e,n){var s=e?n(o(t),a):o(t);return i(s,r,new t.constructor)}},KmWZ:function(t,e,n){var r=n("duB3");t.exports=function(){this.__data__=new r,this.size=0}},Kzd6:function(t,e,n){var r=n("qwTf");t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},LJry:function(t,e,n){"use strict";var r={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(t,e){var n=e.props.code||e.children[0].text,r=e.props.language,i=Prism.languages[r],o="language-"+r;return t("pre",function(t){for(var e=arguments,n=1;n<arguments.length;n++)for(var r in arguments[n])t[r]=e[n][r];return t}({},e.data,{class:[e.data.class,o]}),[t("code",{class:o,domProps:{innerHTML:Prism.highlight(n,i)}})])}};t.exports=r},Lw7C:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},M1c9:function(t,e){t.exports=function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}},MoMe:function(t,e,n){var r=n("FCuZ"),i=n("l9Lx"),o=n("ktak");t.exports=function(t){return r(t,o,i)}},NGEn:function(t,e){var n=Array.isArray;t.exports=n},NVTU:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"card collapsibleCard",class:{collapsed:!t.expanded}},[t.$slots.header?n("header",{staticClass:"card-header",on:{click:function(e){e.preventDefault(),t.toggle()}}},[n("p",{staticClass:"card-header-title"},[!t.$slots.headerCollapsed||t.expanded?t._t("header"):t._t("headerCollapsed")],2),n("a",{staticClass:"card-header-icon"},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa",class:{"fa-angle-down":t.expanded,"fa-angle-up":!t.expanded}})])])]):t._e(),n("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":t.beforeleave,leave:t.leave,"after-leave":t.afterleave,"before-enter":t.beforeenter,enter:t.enter,"after-enter":t.afterenter}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}]},[n("div",{staticClass:"card-content"},[t._t("default")],2)])])],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},NkRn:function(t,e,n){var r=n("TQ3y").Symbol;t.exports=r},Nkkh:function(t,e,n){var r=n("tv3T"),i=n("l9Lx");t.exports=function(t,e){return r(t,i(t),e)}},NqZt:function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},O1jc:function(t,e,n){var r=n("nw3t"),i=n("22B7");t.exports=function(t,e,n){(void 0===n||i(t[e],n))&&(void 0!==n||e in t)||r(t,e,n)}},POb3:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Map");t.exports=r},PqYH:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}},Q2wK:function(t,e,n){var r=n("8AZL"),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a<s;)c[a]=o[e+a];a=-1;for(var u=Array(e+1);++a<e;)u[a]=o[a];return u[e]=n(c),r(t,this,u)}}},Q7hp:function(t,e,n){var r=n("uCi2");t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},Qp3N:function(t,e,n){var r=n("NkRn"),i=n("1Yb9"),o=n("NGEn"),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},RGrk:function(t,e,n){var r=n("dCZQ"),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},Rh28:function(t,e){var n=9007199254740991;t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=n}},S7p9:function(t,e){t.exports=function(t){return function(e){return t(e)}}},"T/bE":function(t,e,n){var r=n("94sX"),i=n("ue/d"),o=n("eVIm"),a=n("RGrk"),s=n("Z2pD");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},T9Hf:function(t,e,n){"use strict";var r=n("77aO"),i=n("NVTU"),o=!1;var a=function(t){o||n("WVEp")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\collapsibleCard.vue",e.a=s.exports},TQ3y:function(t,e,n){var r=n("blYT"),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},TlPD:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t){return r(t,i(t))}},TmV0:function(t,e,n){n("fZOM"),t.exports=n("FeBl").Object.values},U7Aq:function(t,e){t.exports=function(t,e){return t.set(e[0],e[1]),t}},Ubhr:function(t,e,n){var r=n("6MiT"),i=1/0;t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},UfSK:function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,r=t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},UnEC:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},UnLw:function(t,e,n){var r=/^\./,i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=n("fMqj")(function(t){var e=[];return r.test(t)&&e.push(""),t.replace(i,function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)}),e});t.exports=a},VORN:function(t,e,n){var r=n("yCNF"),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},Vi3P:function(t,e,n){var r=n("bIjD"),i=n("oqL2"),o=n("Cf65"),a=n("Ubhr");t.exports=function(t,e){return e=r(e,t),null==(t=o(t,e))||delete t[a(i(e))]}},W3Iv:function(t,e,n){t.exports={default:n("wEtr"),__esModule:!0}},W529:function(t,e,n){var r=n("f931")(Object.keys,Object);t.exports=r},WFiI:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}},WHce:function(t,e,n){var r=n("037f"),i=n("Zk5a")(r);t.exports=i},WQFf:function(t,e,n){var r=n("VORN"),i=n("vi0E"),o=n("HT7L");t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},WVEp:function(t,e,n){var r=n("a3hs");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("52cedc5e",r,!1)},Wce4:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("tN9E"),i=n("pfrz"),o=n("VU/8")(r.a,i.a,!1,null,null,null);o.options.__file="pages\\specification\\v3\\machine-message.vue",e.default=o.exports},WxI4:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},WyC4:function(t,e){var n=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}},Xd32:function(t,e,n){n("+tPU"),n("zQR9"),t.exports=n("5PlU")},YeCl:function(t,e,n){var r=n("CW5P"),i=n("A9mX"),o=n("v8Dt"),a=n("agim"),s=n("Dv2r");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},YkxI:function(t,e,n){var r=n("wSKX"),i=n("Q2wK"),o=n("WHce");t.exports=function(t,e){return o(i(t,e,r),t+"")}},YsVG:function(t,e,n){var r=n("z4hc"),i=n("S7p9"),o=n("Dc0G"),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},Z2pD:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__";t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?i:e,this}},ZGh9:function(t,e){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){return!!(e=null==e?n:e)&&("number"==typeof t||r.test(t))&&t>-1&&t%1==0&&t<e}},ZT2e:function(t,e,n){var r=n("o2mx");t.exports=function(t){return null==t?"":r(t)}},Zk5a:function(t,e){var n=800,r=16,i=Date.now;t.exports=function(t){var e=0,o=0;return function(){var a=i(),s=r-(a-o);if(o=a,s>0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},Zrlr:function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},a3hs:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},aCM0:function(t,e,n){var r=n("NkRn"),i=n("uLhX"),o=n("+66z"),a="[object Null]",s="[object Undefined]",c=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:a:c&&c in Object(t)?i(t):o(t)}},agim:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).has(t)}},bGc4:function(t,e,n){var r=n("gGqR"),i=n("Rh28");t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},bIbi:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"WeakMap");t.exports=r},bIjD:function(t,e,n){var r=n("NGEn"),i=n("hIPy"),o=n("UnLw"),a=n("ZT2e");t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},bJWQ:function(t,e,n){var r=n("duB3"),i=n("KmWZ"),o=n("NqZt"),a=n("E4Hj"),s=n("G2xm"),c=n("zpVT");function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},bO0Y:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Promise");t.exports=r},"bXX+":function(t,e,n){"use strict";var r=n("jhkR"),i=n("fvMW"),o=n("VU/8")(r.a,i.a,!1,null,null,null);o.options.__file="components\\schemaLink.vue",e.a=o.exports},bklM:function(t,e,n){var r=n("Fkvj"),i=1,o=4;t.exports=function(t){return r(t,i|o)}},blYT:function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(e,n("DuR2"))},"c/Tr":function(t,e,n){t.exports={default:n("5zde"),__esModule:!0}},cER1:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),o=n("fZjL"),a=n.n(o),s=n("Gu7T"),c=n.n(s),u=n("gRE1"),l=n.n(u),f=n("d7EF"),p=n.n(f),d=n("W3Iv"),v=n.n(d),h=n("T9Hf"),m=n("rVUV"),b=(n.n(m),n("Q7hp")),y=n.n(b),_=n("HN2V"),g=n.n(_),x=n("LJry"),j=n.n(x),C=n("lOo0"),O=n("bXX+"),w=n("mQxp"),k=n("4yG7"),T=n.n(k);e.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{masterSchema:null,loading:!0}},created:function(){var t=this,e={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};n("+99L")("./"+this.type+"_schema.json").then(function(e){return t.masterSchema=new C.a("$",null,e),v()(t.examples).forEach(function(e){var n=p()(e,2),r=n[0],i=n[1];y()(t.masterSchema,r)?T()(t.masterSchema,r+".examples",i):console.error("schema path not found in "+t.type+": "+r)}),t.loading=!1,e}).catch(function(t){throw t}),this.$static={formats:{"date-time":e.date,date:e.date,time:e.date,email:e.email}}},methods:{traverse:function(t,e){var n=this;t instanceof C.a?(e(t),v()(t).filter(function(t){var e=p()(t,2),n=e[0];e[1];return"$parent"!==n}).forEach(function(t){var r=p()(t,2),i=(r[0],r[1]);return n.traverse(i,e)})):t instanceof Array?t.forEach(function(t){return n.traverse(t,e)}):t instanceof Object&&l()(t).forEach(function(t){return n.traverse(t,e)})},simplifySchema:function(t){var e=function(t){return t.anyOf&&t.anyOf.indexOf(!0)>=0?[t,!0]:t.allOf&&t.allOf.indexOf(!1)>=0?[t,!1]:t.allOf&&t.allOf.length?[t,new C.a(t.$step,t.$parent,g.a.apply(void 0,[{}].concat(c()(t.allOf.map(function(t){return t.toJSON()})))))]:!0===t.not?[t,!1]:0===a()(t).filter(function(t){return"$"!==t[0]}).length?[t,!0]:null};return this.traverse(t,function(t){!function t(n){if(n){var r=p()(n,2),i=r[0],o=r[1],a=i.$parent;a&&T()(a.schema,a.path,o),i.$parent=null,t(e(a.schema))}}(e(t))}),t}},computed:{schemas:function(){if(!this.masterSchema)return null;var t={};return this.traverse(this.simplifySchema(this.masterSchema),function(e){t[e.$id]=e}),t}},filters:{stringify:function(t){return i()(t," ",2)},capitalize:function(t,e){return t?(t instanceof Array||(t=[t]),t.map(function(t){return""+t[0].toUpperCase()+t.slice(1)}).join(", ")):""}},components:{card:h.a,prism:j.a,schemaToc:w.a,schemaLink:O.a}}},d4US:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"DataView");t.exports=r},d7EF:function(t,e,n){"use strict";e.__esModule=!0;var r=o(n("us/S")),i=o(n("BO1k"));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(){return function(t,e){if(Array.isArray(t))return t;if((0,r.default)(Object(t)))return function(t,e){var n=[],r=!0,o=!1,a=void 0;try{for(var s,c=(0,i.default)(t);!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){o=!0,a=t}finally{try{!r&&c.return&&c.return()}finally{if(o)throw a}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},dCZQ:function(t,e,n){var r=n("ICSD")(Object,"create");t.exports=r},dFpP:function(t,e,n){var r=n("imBK"),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},dYhQ:function(t,e,n){var r=n("9UkZ");t.exports=function(t){return r(t)?void 0:t}},deUO:function(t,e,n){var r=n("imBK");t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},duB3:function(t,e,n){var r=n("WxI4"),i=n("dFpP"),o=n("JBvZ"),a=n("2Hvv"),s=n("deUO");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},eFps:function(t,e,n){var r,i=n("+gg+"),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},eVIm:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return n===i?void 0:n}return o.call(e,t)?e[t]:void 0}},f931:function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},fBQ2:function(t,e,n){"use strict";var r=n("evD5"),i=n("X8DO");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},fMqj:function(t,e,n){var r=n("zGZ6"),i=500;t.exports=function(t){var e=r(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}},fZOM:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},fvMW:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[t._t("default"),!0===t.link?[t._v("\n    yes \n  ")]:!1===t.link?[t._v("\n    no \n  ")]:t.isSchema(t.link)?[n("nuxt-link",{attrs:{to:"#p-"+t.link.$id}},[n("span",{domProps:{innerHTML:t._s(t.link.getPath())}})])]:t.link instanceof Array?n("ul",t._l(t.link,function(e){return n("li",{key:e.$id},[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})])],1)})):t.link instanceof Object?n("ul",t._l(t.link,function(e,r){return n("li",[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[t._v("\n        "+t._s(r)+"\n      ")])],1)})):t._e()],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},gGqR:function(t,e,n){var r=n("aCM0"),i=n("yCNF"),o="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",c="[object Proxy]";t.exports=function(t){if(!i(t))return!1;var e=r(t);return e==a||e==s||e==o||e==c}},gHOb:function(t,e,n){var r=n("d4US"),i=n("POb3"),o=n("bO0Y"),a=n("5N57"),s=n("bIbi"),c=n("aCM0"),u=n("Ai/T"),l="[object Promise]",f="[object WeakMap]",p="[object DataView]",d=u(r),v=u(i),h=u(o),m=u(a),b=u(s),y=c;(r&&y(new r(new ArrayBuffer(1)))!=p||i&&"[object Map]"!=y(new i)||o&&y(o.resolve())!=l||a&&"[object Set]"!=y(new a)||s&&y(new s)!=f)&&(y=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case d:return p;case v:return"[object Map]";case h:return l;case m:return"[object Set]";case b:return f}return e}),t.exports=y},gRE1:function(t,e,n){t.exports={default:n("TmV0"),__esModule:!0}},gSvA:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!0);r(r.S,"Object",{entries:function(t){return i(t)}})},ggOT:function(t,e,n){(function(t){var r=n("TQ3y"),i=n("gwcX"),o="object"==typeof e&&e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(e,n("3IRH")(t))},gwcX:function(t,e){t.exports=function(){return!1}},hIPy:function(t,e,n){var r=n("NGEn"),i=n("6MiT"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},hrPF:function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},hvFG:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e(this.tag,{tag:"component"},[e("nuxt-link",{attrs:{to:"#p-"+this.schema.$id}},[e("span",{domProps:{innerHTML:this._s(this.schema.$step)}})]),this.schema.properties||this.schema.patternProperties||this.schema.items?e("ul",[this._l(this.schema.properties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this._l(this.schema.patternProperties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this.schema.items?[this.schema.items instanceof Array?this._l(this.schema.items,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}):e("schemaToc",{attrs:{schema:this.schema.items}})]:this._e()],2):this._e()],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},i4ON:function(t,e,n){var r=n("nw3t"),i=n("22B7"),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},imBK:function(t,e,n){var r=n("22B7");t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},jD7S:function(t,e,n){var r=n("tv3T"),i=n("ktak");t.exports=function(t,e){return t&&r(e,i(e),t)}},jMi8:function(t,e,n){var r=n("O1jc"),i=n("mKB/"),o=n("Ilb/"),a=n("hrPF"),s=n("WQFf"),c=n("1Yb9"),u=n("NGEn"),l=n("Fp5l"),f=n("ggOT"),p=n("gGqR"),d=n("yCNF"),v=n("9UkZ"),h=n("YsVG"),m=n("TlPD");t.exports=function(t,e,n,b,y,_,g){var x=t[n],j=e[n],C=g.get(j);if(C)r(t,n,C);else{var O=_?_(x,j,n+"",t,e,g):void 0,w=void 0===O;if(w){var k=u(j),T=!k&&f(j),P=!k&&!T&&h(j);O=j,k||T||P?u(x)?O=x:l(x)?O=a(x):T?(w=!1,O=i(j,!0)):P?(w=!1,O=o(j,!0)):O=[]:v(j)||c(j)?(O=x,c(x)?O=m(x):(!d(x)||b&&p(x))&&(O=s(j))):w=!1}w&&(g.set(j,O),y(O,j,b,_,g),g.delete(j)),r(t,n,O)}}},jhkR:function(t,e,n){"use strict";var r=n("lOo0");e.a={props:{link:{required:!0}},methods:{isSchema:function(t){return t instanceof r.a}}}},ktak:function(t,e,n){var r=n("7e4z"),i=n("/GnY"),o=n("bGc4");t.exports=function(t){return o(t)?r(t):i(t)}},l9Lx:function(t,e,n){var r=n("lb6C"),i=n("C0hh"),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),function(e){return o.call(t,e)}))}:i;t.exports=s},lOo0:function(t,e,n){"use strict";var r=n("woOf"),i=n.n(r),o=n("d7EF"),a=n.n(o),s=n("W3Iv"),c=n.n(s),u=n("Zrlr"),l=n.n(u),f=n("wxAW"),p=n.n(f),d=n("bklM"),v=n.n(d),h=n("rVUV"),m=n.n(h),b=n("Dc7M"),y=n.n(b),_=function(){function t(e,n,r){l()(this,t),this.$id=t.idx++,this.$step=e+"&#8203",this.$parent=n,r&&this.parseFrom(r)}return p()(t,[{key:"toJSON",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;return m()(n,function(n,r,i,o){if(n instanceof t)return c()(n).filter(function(t){var e=a()(t,2),n=e[0];e[1];return["$id","$step","$parent"].indexOf(n)<0}).reduce(function(t,n){var r=a()(n,2),i=r[0],o=r[1];return t[i]=e.toJSON(o),t},{})})}},{key:"getPath",value:function(){var t="";return this.$parent&&(t+=this.$parent.schema.getPath(),"object"===this.$parent.schema.type&&(t+=".")),t+=this.$step,this.getPath=function(){return t},t}},{key:"parseFrom",value:function(e){var n=this;return!0===e?e={}:!1===e&&(e={not:!0}),i()(this,y()(v()(e),["$step","$id","$parent","items","properties","patternProperties","additionalItems","additionalProperties","contains","propertyNames","not","allOf","anyOf","oneOf"])),e.items&&(e.items instanceof Array?this.items=e.items.map(function(r,i){return new t("["+i+"]",{schema:n,path:"items["+i+"]"},e.items[i])}):this.items=new t("[*]",{schema:this,path:"items"},e.items)),["properties","patternProperties"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return c()(e[r]).forEach(function(e,i){var o=a()(e,2),s=o[0],c=o[1];n[r]=n[r]||{},n[r][s]=new t("patternProperties"===r?"&lt;field&gt;":s,{schema:n,path:r+'["'+s+'"]'},c)})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){n[r]=new t("+",{schema:n,path:r},e[r])}),["allOf","anyOf","oneOf"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return e[r].forEach(function(e,i){n[r]=n[r]||[],n[r].push(new t("("+i+")"+("anyOf"===r?"?":"+"),{schema:n,path:r+"["+i+"]"},e))})}),this}}]),t}();_.idx=0,e.a=_},lb6C:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}},"mKB/":function(t,e,n){(function(t){var r=n("TQ3y"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}}).call(e,n("3IRH")(t))},mQxp:function(t,e,n){"use strict";var r=n("Gs0Q"),i=n("hvFG"),o=!1;var a=function(t){o||n("AxiT")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\schemaToc.vue",e.a=s.exports},mTAn:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},mbce:function(t,e,n){var r=n("lktj"),i=n("TcQ7"),o=n("NpIQ").f;t.exports=function(t){return function(e){for(var n,a=i(e),s=r(a),c=s.length,u=0,l=[];c>u;)o.call(a,n=s[u++])&&l.push(t?[n,a[n]]:a[n]);return l}}},mgnk:function(t,e,n){var r=n("aCM0"),i=n("UnEC"),o="[object Arguments]";t.exports=function(t){return i(t)&&r(t)==o}},nWuj:function(t,e){t.exports=function(t,e){return t.add(e),t}},nw3t:function(t,e,n){var r=n("p0bc");t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},o2mx:function(t,e,n){var r=n("NkRn"),i=n("Hxdr"),o=n("NGEn"),a=n("6MiT"),s=1/0,c=r?r.prototype:void 0,u=c?c.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return u?u.call(e):"";var n=e+"";return"0"==n&&1/e==-s?"-0":n}},octw:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}},oqL2:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},p0bc:function(t,e,n){var r=n("ICSD"),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},pTUa:function(t,e,n){var r=n("/I3N");t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},pfrz:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"machine-message content"},[this._m(0),e("p",[this._v("The main purpose of the machine message format is to allow devices and integrators to send messages containing an interpretation of measurement data or status.")]),e("img",{staticClass:"is-centered",attrs:{src:"images/specification/v3/messagePayload.svg",alt:"Class diagram of the message payload",title:"Class diagram of the message payload"}}),e("schemaDetail",{attrs:{type:"v3/message",examples:this.$static.examples}},[e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Minimal message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Multiple message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.multipleMachineMessages)))])],2)],1)],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",[e("a",{attrs:{id:"Message-Payload",title:"Machine Message Payload"}}),this._v("\n    Machine Message Payload\n  ")])}]};e.a=i},py9u:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t,e){return t&&r(e,i(e),t)}},qwTf:function(t,e,n){var r=n("TQ3y").Uint8Array;t.exports=r},qyJz:function(t,e,n){"use strict";var r=n("+ZMJ"),i=n("kM2E"),o=n("sB3e"),a=n("msXi"),s=n("Mhyx"),c=n("QRG4"),u=n("fBQ2"),l=n("3fs2");i(i.S+i.F*!n("dY0y")(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,f,p=o(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,b=0,y=l(p);if(m&&(h=r(h,v>2?arguments[2]:void 0,2)),void 0==y||d==Array&&s(y))for(n=new d(e=c(p.length));e>b;b++)u(n,b,m?h(p[b],b):p[b]);else for(f=y.call(p),n=new d;!(i=f.next()).done;b++)u(n,b,m?a(f,h,[i.value,b],!0):i.value);return n.length=b,n}})},rCVp:function(t,e,n){var r=n("1C79");t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},rVUV:function(t,e,n){var r=n("Fkvj"),i=1,o=4;t.exports=function(t,e){return r(t,i|o,e="function"==typeof e?e:void 0)}},rpnb:function(t,e,n){var r=n("tHks")();t.exports=r},s8mu:function(t,e,n){"use strict";var r=n("cER1"),i=n("D9sP"),o=!1;var a=function(t){o||n("A51D")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\schemaDetail.vue",e.a=s.exports},t8rQ:function(t,e,n){var r=n("7e4z"),i=n("G0Wc"),o=n("bGc4");t.exports=function(t){return o(t)?r(t,!0):i(t)}},tHks:function(t,e){t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},tN9E:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),o=n("d7EF"),a=n.n(o),s=n("Dd8w"),c=n.n(s),u=n("W3Iv"),l=n.n(u),f=n("LJry"),p=n.n(f),d=n("T9Hf"),v=n("Q7hp"),h=n.n(v),m=n("s8mu");e.a={head:function(){return{title:"Specification for machine messages"}},created:function(){var t=this,e=new Date,n="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/machine-message#v3",device:{id:n},messages:[{ts:e.toISOString(),code:"190ABT"}]},multipleMachineMessages:{"content-spec":"urn:spec://eclipse.org/unide/machine-message#v3",device:{id:n,mode:"auto",state:"OK",swVersion:"2.0.3.13",swBuildID:"41535"},messages:[{origin:"sensor-id-992.2393.22",ts:e.toISOString(),type:"DEVICE",severity:"HIGH",code:"190ABT",title:"control board damaged",description:"Electronic control board or its electrical connections are damaged",hint:"Check the control board",firmware:"20130304_22.020"},{ts:new Date(e.valueOf()+100).toISOString(),type:"TECHNICAL_INFO",severity:"HIGH",code:"33-02",title:"Disk size limit reached",description:"Disk size has reached limit. Unable to write log files."}]}},this.$static.examples=l()(c()({},["content-spec","device","device.id","device.mode","messages","messages[0].ts","messages[0].origin","messages[0].type","messages[0].severity","messages[0].code","messages[0].title","messages[0].description","messages[0].hint"].reduce(function(t,e){return t[e.replace(/(^|\.)/g,"$1properties.").replace(/\[[^]]*]/g,".items")]=e,t},{}))).reduce(function(e,n){var r=a()(n,2),i=r[0],o=r[1],s=h()(t.$static.message,o)||h()(t.$static.multipleMachineMessages,o);return s?e[i]=[s]:console.error('no example provided in machine-message for:\n"'+i+'": "'+o+'"'),e},{})},filters:{stringify:function(t){return i()(t," ",2)}},components:{card:d.a,prism:p.a,schemaDetail:m.a}}},tv3T:function(t,e,n){var r=n("i4ON"),i=n("nw3t");t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=o?o(n[u],t[u],u,n,t):void 0;void 0===l&&(l=t[u]),a?i(n,u,l):r(n,u,l)}return n}},uCi2:function(t,e,n){var r=n("bIjD"),i=n("Ubhr");t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n<o;)t=t[i(e[n++])];return n&&n==o?t:void 0}},uIr7:function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},uLhX:function(t,e,n){var r=n("NkRn"),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},"ue/d":function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},uieL:function(t,e){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},"us/S":function(t,e,n){t.exports={default:n("Xd32"),__esModule:!0}},v8Dt:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).get(t)}},vi0E:function(t,e,n){var r=n("f931")(Object.getPrototypeOf,Object);t.exports=r},wEtr:function(t,e,n){n("gSvA"),t.exports=n("FeBl").Object.entries},wSKX:function(t,e){t.exports=function(t){return t}},wxAW:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("C4MV"),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,o.default)(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()},xond:function(t,e,n){var r=n("FCuZ"),i=n("09Qt"),o=n("t8rQ");t.exports=function(t){return r(t,o,i)}},yCNF:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},z4hc:function(t,e,n){var r=n("aCM0"),i=n("Rh28"),o=n("UnEC"),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},zBOP:function(t,e,n){var r=n("22B7"),i=n("bGc4"),o=n("ZGh9"),a=n("yCNF");t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},zGZ6:function(t,e,n){var r=n("YeCl"),i="Expected a function";function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(i);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(o.Cache||r),n}o.Cache=r,t.exports=o},zpVT:function(t,e,n){var r=n("duB3"),i=n("POb3"),o=n("YeCl"),a=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<a-1)return s.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(t,e),this.size=n.size,this}}});
\ No newline at end of file
+webpackJsonp([2],{"+66z":function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},"+99L":function(t,e,n){var r={"./v2/measurement_schema.json":["oGp6",23],"./v2/message_schema.json":["2BTs",22],"./v2/process_schema.json":["rRyJ",21],"./v3/measurement_schema.json":["PpY5",20],"./v3/message_schema.json":["1SJ2",19],"./v3/process_schema.json":["uwRd",18]};function i(t){var e=r[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(r)},i.id="+99L",t.exports=i},"+gg+":function(t,e,n){var r=n("TQ3y")["__core-js_shared__"];t.exports=r},"/GnY":function(t,e,n){var r=n("HT7L"),i=n("W529"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},"/I3N":function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},"037f":function(t,e,n){var r=n("1oyr"),i=n("p0bc"),o=n("wSKX"),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},"09Qt":function(t,e,n){var r=n("uIr7"),i=n("vi0E"),o=n("l9Lx"),a=n("C0hh"),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},"0DSl":function(t,e,n){var r=n("YkxI"),i=n("zBOP");t.exports=function(t){return r(function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r<o;){var c=n[r];c&&t(e,c,r,a)}return e})}},"0uX4":function(t,e,n){var r=n("NkRn"),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},"1C79":function(t,e,n){var r=n("uIr7"),i=n("Qp3N");t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c<u;){var l=e[c];n>0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},"1QDk":function(t,e,n){var r=n("tv3T"),i=n("09Qt");t.exports=function(t,e){return r(t,i(t),e)}},"1Yb9":function(t,e,n){var r=n("mgnk"),i=n("UnEC"),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"1oyr":function(t,e){t.exports=function(t){return function(){return t}}},"22B7":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"2Hvv":function(t,e,n){var r=n("imBK");t.exports=function(t){return r(this.__data__,t)>-1}},"2N6f":function(t,e,n){var r=n("rCVp"),i=n("Q2wK"),o=n("WHce");t.exports=function(t){return o(i(t,void 0,r),t+"")}},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3rZI":function(t,e){t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}},"4yG7":function(t,e,n){var r=n("HAGj");t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},"5/Qr":function(t,e,n){var r=n("Kzd6"),i=n("6Git"),o=n("Jqj6"),a=n("WyC4"),s=n("7jYp"),c=n("0uX4"),u=n("Ilb/"),l="[object Boolean]",f="[object Date]",p="[object Map]",d="[object Number]",v="[object RegExp]",h="[object Set]",m="[object String]",b="[object Symbol]",y="[object ArrayBuffer]",_="[object DataView]",g="[object Float32Array]",x="[object Float64Array]",j="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",w="[object Uint8Array]",k="[object Uint8ClampedArray]",T="[object Uint16Array]",P="[object Uint32Array]";t.exports=function(t,e,n,A){var E=t.constructor;switch(e){case y:return r(t);case l:case f:return new E(+t);case _:return i(t,A);case g:case x:case j:case C:case O:case w:case k:case T:case P:return u(t,A);case p:return o(t,A,n);case d:case m:return new E(t);case v:return a(t);case h:return s(t,A,n);case b:return c(t)}}},"5N57":function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Set");t.exports=r},"5PlU":function(t,e,n){var r=n("RY/4"),i=n("dSzd")("iterator"),o=n("/bQp");t.exports=n("FeBl").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},"5pwE":function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"5zde":function(t,e,n){n("zQR9"),n("qyJz"),t.exports=n("FeBl").Array.from},"6Git":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},"6MiT":function(t,e,n){var r=n("aCM0"),i=n("UnEC"),o="[object Symbol]";t.exports=function(t){return"symbol"==typeof t||i(t)&&r(t)==o}},"77aO":function(t,e,n){"use strict";e.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(t){this.expanded=!t}},methods:{beforeenter:function(t){this.transitioning=!0,t.style.height=0},enter:function(t){t.style.height=t.scrollHeight+"px"},afterenter:function(t){t.style.height="",this.transitioning=!1},beforeleave:function(t){this.transitioning=!0,t.style.height=t.offsetHeight+"px",t.offsetHeight},leave:function(t){t.style.height=0,t.offsetHeight},afterleave:function(t){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},"7e4z":function(t,e,n){var r=n("uieL"),i=n("1Yb9"),o=n("NGEn"),a=n("ggOT"),s=n("ZGh9"),c=n("YsVG"),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),f=!n&&!l&&a(t),p=!n&&!l&&!f&&c(t),d=n||l||f||p,v=d?r(t.length,String):[],h=v.length;for(var m in t)!e&&!u.call(t,m)||d&&("length"==m||f&&("offset"==m||"parent"==m)||p&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,h))||v.push(m);return v}},"7jYp":function(t,e,n){var r=n("nWuj"),i=n("3rZI"),o=n("octw"),a=1;t.exports=function(t,e,n){var s=e?n(o(t),a):o(t);return i(s,r,new t.constructor)}},"8AZL":function(t,e){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},"8gK5":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},"94sX":function(t,e,n){var r=n("dCZQ");t.exports=function(){this.__data__=r?r(null):{},this.size=0}},"9UkZ":function(t,e,n){var r=n("aCM0"),i=n("vi0E"),o=n("UnEC"),a="[object Object]",s=Function.prototype,c=Object.prototype,u=s.toString,l=c.hasOwnProperty,f=u.call(Object);t.exports=function(t){if(!o(t)||r(t)!=a)return!1;var e=i(t);if(null===e)return!0;var n=l.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==f}},A51D:function(t,e,n){var r=n("5pwE");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("188b52d2",r,!1)},A9mX:function(t,e,n){var r=n("pTUa");t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},"Ai/T":function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},AxiT:function(t,e,n){var r=n("Lw7C");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("0868896c",r,!1)},C0hh:function(t,e){t.exports=function(){return[]}},CW5P:function(t,e,n){var r=n("T/bE"),i=n("duB3"),o=n("POb3");t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},Cf65:function(t,e,n){var r=n("uCi2"),i=n("M1c9");t.exports=function(t,e){return e.length<2?t:r(t,i(e,0,-1))}},D9sP:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"schemaDetail",class:{"is-loading":t.loading},attrs:{id:"schema-detail"}},[n("div",{staticClass:"accordion"},[null!==t.masterSchema?n("card",{attrs:{collapsed:!0}},[n("template",{slot:"header"},[t._v("\n        Structure of the payload\n      ")]),n("ul",t._l(t.masterSchema.properties,function(t,e){return n("schemaToc",{key:e,attrs:{schema:t}})}))],2):t._e(),t._t("default")],2),n("h1",[n("a",{attrs:{id:t.type+"-schema-detail",title:t.type+" Fields definition"}}),t._v("\n    Fields definition\n  ")]),t._l(t.schemas,function(e){return n("div",{key:e.$id,staticClass:"card property"},[n("header",{staticClass:"card-header"},[n("a",{attrs:{id:"p-"+e.$id}}),n("p",{staticClass:"card-header-title"},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})]),n("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa fa-angle-up"})])])],1),n("div",{staticClass:"card-content"},[e.description||e.type?n("div",{staticClass:"field is-horizontal"},[t._m(0,!0),e.description?n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.description)+"\n        ")]):e.type?n("div",{staticClass:"field-body"},[t._v("\n          A simple "+t._s(t._f("capitalize")(e.type))+"\n        ")]):t._e()]):t._e(),e.$parent?n("div",{staticClass:"field is-horizontal"},[t._m(1,!0),n("div",{staticClass:"field-body"},[n("nuxt-link",{attrs:{to:"#p-"+e.$parent.schema.$id}},[n("span",{domProps:{innerHTML:t._s(e.$parent.schema.getPath())}})])],1)]):t._e(),e.type?n("div",{staticClass:"field is-horizontal"},[t._m(2,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(t._f("capitalize")(e.type,e))+"\n        ")])]):t._e(),e.format?n("div",{staticClass:"field is-horizontal"},[t._m(3,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.format)+"\n          "),t.$static.formats[e.format]?n("a",{attrs:{href:t.$static.formats[e.format].link}},[t._v(" ("+t._s(t.$static.formats[e.format].name)+")")]):t._e()])]):t._e(),e.enum&&e.enum.length?n("div",{staticClass:"field is-horizontal"},[t._m(4,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.enum.join(", "))+"\n          ")])])]):t._e(),e.hasOwnProperty("default")?n("div",{staticClass:"field is-horizontal"},[t._m(5,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.default)+"\n          ")])])]):t._e(),e.maxLength?n("div",{staticClass:"field is-horizontal"},[t._m(6,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.maxLength)+"\n          ")])])]):t._e(),e.properties||e.patternProperties||e.items?n("div",{staticClass:"field is-horizontal"},[t._m(7,!0),n("div",{staticClass:"field-body"},[Object.keys(e.properties||{}).length>0?n("schemaLink",{attrs:{link:e.properties}}):t._e(),Object.keys(e.patternProperties||{}).length>0?n("schemaLink",{attrs:{link:e.patternProperties}},[n("div",[t._v("Matching regular expressions:")])]):t._e(),!e.items||e.items instanceof Array?e.items?n("schemaLink",{attrs:{link:e.items}},[n("div",[t._v("Ordered items of type:")])]):t._e():n("schemaLink",{attrs:{link:e.items}}),Object.keys(e.properties||{}).length+Object.keys(e.patternProperties||{}).length!==0||e.items?t._e():[t._v("none")]],2)]):t._e(),e.minProperties?n("div",{staticClass:"field is-horizontal"},[t._m(8,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minProperties)+"\n          ")])])]):t._e(),e.minItems?n("div",{staticClass:"field is-horizontal"},[t._m(9,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minItems)+"\n          ")])])]):t._e(),e.hasOwnProperty("additionalProperties")?n("div",{staticClass:"field is-horizontal"},[t._m(10,!0),"boolean"==typeof e.additionalProperties?n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}}):n("div",{staticClass:"field-body"},[t._v("\n          if fulfilling "),n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}})],1)],1):t._e(),e.not||e.oneOf||e.allOf||e.anyOf?n("div",{staticClass:"field is-horizontal"},[t._m(11,!0),n("div",{staticClass:"field-body"},[e.not?n("schemaLink",{attrs:{link:e.not}},[t._v("\n            Not fulfilling \n          ")]):t._e(),e.oneOf?n("schemaLink",{attrs:{link:e.oneOf}},[n("div",[t._v("Fulfilling exactly one of:")])]):t._e(),e.allOf?n("schemaLink",{attrs:{link:e.allOf}},[n("div",[t._v("Fulfilling all of:")])]):t._e(),e.anyOf?n("schemaLink",{attrs:{link:e.anyOf}},[n("div",[t._v("Fulfilling one of:")])]):t._e()],1)]):t._e(),e.required&&e.required.length?n("div",{staticClass:"field is-horizontal"},[t._m(12,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.required.join(", "))+"\n        ")])]):t._e(),e.examples?n("div",{staticClass:"field is-horizontal"},[t._m(13,!0),n("div",{staticClass:"field-body"},t._l(e.examples,function(e,r){return n("prism",{key:r,attrs:{language:"json"}},[t._v(t._s(t._f("stringify")(e)))])}))]):t._e()])])})],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Description:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Type:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Format:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Example:")])])}]};e.a=i},Dc0G:function(t,e,n){(function(t){var r=n("blYT"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s}).call(e,n("3IRH")(t))},Dc7M:function(t,e,n){var r=n("Hxdr"),i=n("Fkvj"),o=n("Vi3P"),a=n("bIjD"),s=n("tv3T"),c=n("dYhQ"),u=n("2N6f"),l=n("xond"),f=u(function(t,e){var n={};if(null==t)return n;var u=!1;e=r(e,function(e){return e=a(e,t),u||(u=e.length>1),e}),s(t,l(t),n),u&&(n=i(n,7,c));for(var f=e.length;f--;)o(n,e[f]);return n});t.exports=f},Dv2r:function(t,e,n){var r=n("pTUa");t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},E4Hj:function(t,e){t.exports=function(t){return this.__data__.get(t)}},FCuZ:function(t,e,n){var r=n("uIr7"),i=n("NGEn");t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},Fkvj:function(t,e,n){var r=n("bJWQ"),i=n("PqYH"),o=n("i4ON"),a=n("jD7S"),s=n("py9u"),c=n("mKB/"),u=n("hrPF"),l=n("Nkkh"),f=n("1QDk"),p=n("MoMe"),d=n("xond"),v=n("gHOb"),h=n("UfSK"),m=n("5/Qr"),b=n("WQFf"),y=n("NGEn"),_=n("ggOT"),g=n("yCNF"),x=n("ktak"),j=1,C=2,O=4,w="[object Arguments]",k="[object Function]",T="[object GeneratorFunction]",P="[object Object]",A={};A[w]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[P]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[k]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,E,S,M,$){var I,F=n&j,z=n&C,D=n&O;if(E&&(I=M?E(e,S,M,$):E(e)),void 0!==I)return I;if(!g(e))return e;var N=y(e);if(N){if(I=h(e),!F)return u(e,I)}else{var U=v(e),Q=U==k||U==T;if(_(e))return c(e,F);if(U==P||U==w||Q&&!M){if(I=z||Q?{}:b(e),!F)return z?f(e,s(I,e)):l(e,a(I,e))}else{if(!A[U])return M?e:{};I=m(e,U,t,F)}}$||($=new r);var G=$.get(e);if(G)return G;$.set(e,I);var H=D?z?d:p:z?keysIn:x,L=N?void 0:H(e);return i(L||e,function(r,i){L&&(r=e[i=r]),o(I,i,t(r,n,E,i,e,$))}),I}},Fp5l:function(t,e,n){var r=n("bGc4"),i=n("UnEC");t.exports=function(t){return i(t)&&r(t)}},G0Wc:function(t,e,n){var r=n("yCNF"),i=n("HT7L"),o=n("8gK5"),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},G2xm:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Gs0Q:function(t,e,n){"use strict";e.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schema:{type:Object,required:!0}}}},Gu7T:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("c/Tr"),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return(0,o.default)(t)}},HAGj:function(t,e,n){var r=n("i4ON"),i=n("bIjD"),o=n("ZGh9"),a=n("yCNF"),s=n("Ubhr");t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,f=l-1,p=t;null!=p&&++u<l;){var d=s(e[u]),v=n;if(u!=f){var h=p[d];void 0===(v=c?c(h,d,p):void 0)&&(v=a(h)?h:o(e[u+1])?[]:{})}r(p,d,v),p=p[d]}return t}},HN2V:function(t,e,n){var r=n("HbnZ"),i=n("0DSl")(function(t,e,n){r(t,e,n)});t.exports=i},HT7L:function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},HbnZ:function(t,e,n){var r=n("bJWQ"),i=n("O1jc"),o=n("rpnb"),a=n("jMi8"),s=n("yCNF"),c=n("t8rQ");t.exports=function t(e,n,u,l,f){e!==n&&o(n,function(o,c){if(s(o))f||(f=new r),a(e,n,c,u,t,l,f);else{var p=l?l(e[c],o,c+"",e,n,f):void 0;void 0===p&&(p=o),i(e,c,p)}},c)}},Hxdr:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},ICSD:function(t,e,n){var r=n("ITwD"),i=n("mTAn");t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},ITwD:function(t,e,n){var r=n("gGqR"),i=n("eFps"),o=n("yCNF"),a=n("Ai/T"),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,f=u.hasOwnProperty,p=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?p:s).test(a(t))}},"Ilb/":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},JBvZ:function(t,e,n){var r=n("imBK");t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},Jqj6:function(t,e,n){var r=n("U7Aq"),i=n("3rZI"),o=n("WFiI"),a=1;t.exports=function(t,e,n){var s=e?n(o(t),a):o(t);return i(s,r,new t.constructor)}},KmWZ:function(t,e,n){var r=n("duB3");t.exports=function(){this.__data__=new r,this.size=0}},Kzd6:function(t,e,n){var r=n("qwTf");t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},LJry:function(t,e,n){"use strict";var r={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(t,e){var n=e.props.code||e.children[0].text,r=e.props.language,i=Prism.languages[r],o="language-"+r;return t("pre",function(t){for(var e=arguments,n=1;n<arguments.length;n++)for(var r in arguments[n])t[r]=e[n][r];return t}({},e.data,{class:[e.data.class,o]}),[t("code",{class:o,domProps:{innerHTML:Prism.highlight(n,i)}})])}};t.exports=r},Lw7C:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},M1c9:function(t,e){t.exports=function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}},MoMe:function(t,e,n){var r=n("FCuZ"),i=n("l9Lx"),o=n("ktak");t.exports=function(t){return r(t,o,i)}},NGEn:function(t,e){var n=Array.isArray;t.exports=n},NVTU:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"card collapsibleCard",class:{collapsed:!t.expanded}},[t.$slots.header?n("header",{staticClass:"card-header",on:{click:function(e){e.preventDefault(),t.toggle()}}},[n("p",{staticClass:"card-header-title"},[!t.$slots.headerCollapsed||t.expanded?t._t("header"):t._t("headerCollapsed")],2),n("a",{staticClass:"card-header-icon"},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa",class:{"fa-angle-down":t.expanded,"fa-angle-up":!t.expanded}})])])]):t._e(),n("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":t.beforeleave,leave:t.leave,"after-leave":t.afterleave,"before-enter":t.beforeenter,enter:t.enter,"after-enter":t.afterenter}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}]},[n("div",{staticClass:"card-content"},[t._t("default")],2)])])],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},NkRn:function(t,e,n){var r=n("TQ3y").Symbol;t.exports=r},Nkkh:function(t,e,n){var r=n("tv3T"),i=n("l9Lx");t.exports=function(t,e){return r(t,i(t),e)}},NqZt:function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},O1jc:function(t,e,n){var r=n("nw3t"),i=n("22B7");t.exports=function(t,e,n){(void 0===n||i(t[e],n))&&(void 0!==n||e in t)||r(t,e,n)}},POb3:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Map");t.exports=r},PqYH:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}},Q2wK:function(t,e,n){var r=n("8AZL"),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a<s;)c[a]=o[e+a];a=-1;for(var u=Array(e+1);++a<e;)u[a]=o[a];return u[e]=n(c),r(t,this,u)}}},Q7hp:function(t,e,n){var r=n("uCi2");t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},Qp3N:function(t,e,n){var r=n("NkRn"),i=n("1Yb9"),o=n("NGEn"),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},RGrk:function(t,e,n){var r=n("dCZQ"),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},Rh28:function(t,e){var n=9007199254740991;t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=n}},S7p9:function(t,e){t.exports=function(t){return function(e){return t(e)}}},"T/bE":function(t,e,n){var r=n("94sX"),i=n("ue/d"),o=n("eVIm"),a=n("RGrk"),s=n("Z2pD");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},T9Hf:function(t,e,n){"use strict";var r=n("77aO"),i=n("NVTU"),o=!1;var a=function(t){o||n("WVEp")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\collapsibleCard.vue",e.a=s.exports},TQ3y:function(t,e,n){var r=n("blYT"),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},TlPD:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t){return r(t,i(t))}},TmV0:function(t,e,n){n("fZOM"),t.exports=n("FeBl").Object.values},U7Aq:function(t,e){t.exports=function(t,e){return t.set(e[0],e[1]),t}},Ubhr:function(t,e,n){var r=n("6MiT"),i=1/0;t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},UfSK:function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,r=t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},UnEC:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},UnLw:function(t,e,n){var r=/^\./,i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=n("fMqj")(function(t){var e=[];return r.test(t)&&e.push(""),t.replace(i,function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)}),e});t.exports=a},VORN:function(t,e,n){var r=n("yCNF"),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},Vi3P:function(t,e,n){var r=n("bIjD"),i=n("oqL2"),o=n("Cf65"),a=n("Ubhr");t.exports=function(t,e){return e=r(e,t),null==(t=o(t,e))||delete t[a(i(e))]}},W3Iv:function(t,e,n){t.exports={default:n("wEtr"),__esModule:!0}},W529:function(t,e,n){var r=n("f931")(Object.keys,Object);t.exports=r},WFiI:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}},WHce:function(t,e,n){var r=n("037f"),i=n("Zk5a")(r);t.exports=i},WQFf:function(t,e,n){var r=n("VORN"),i=n("vi0E"),o=n("HT7L");t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},WVEp:function(t,e,n){var r=n("a3hs");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("52cedc5e",r,!1)},Wce4:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("tN9E"),i=n("pfrz"),o=n("VU/8")(r.a,i.a,!1,null,null,null);o.options.__file="pages\\specification\\v3\\machine-message.vue",e.default=o.exports},WxI4:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},WyC4:function(t,e){var n=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}},Xd32:function(t,e,n){n("+tPU"),n("zQR9"),t.exports=n("5PlU")},YeCl:function(t,e,n){var r=n("CW5P"),i=n("A9mX"),o=n("v8Dt"),a=n("agim"),s=n("Dv2r");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},YkxI:function(t,e,n){var r=n("wSKX"),i=n("Q2wK"),o=n("WHce");t.exports=function(t,e){return o(i(t,e,r),t+"")}},YsVG:function(t,e,n){var r=n("z4hc"),i=n("S7p9"),o=n("Dc0G"),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},Z2pD:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__";t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?i:e,this}},ZGh9:function(t,e){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){return!!(e=null==e?n:e)&&("number"==typeof t||r.test(t))&&t>-1&&t%1==0&&t<e}},ZT2e:function(t,e,n){var r=n("o2mx");t.exports=function(t){return null==t?"":r(t)}},Zk5a:function(t,e){var n=800,r=16,i=Date.now;t.exports=function(t){var e=0,o=0;return function(){var a=i(),s=r-(a-o);if(o=a,s>0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},Zrlr:function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},a3hs:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},aCM0:function(t,e,n){var r=n("NkRn"),i=n("uLhX"),o=n("+66z"),a="[object Null]",s="[object Undefined]",c=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:a:c&&c in Object(t)?i(t):o(t)}},agim:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).has(t)}},bGc4:function(t,e,n){var r=n("gGqR"),i=n("Rh28");t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},bIbi:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"WeakMap");t.exports=r},bIjD:function(t,e,n){var r=n("NGEn"),i=n("hIPy"),o=n("UnLw"),a=n("ZT2e");t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},bJWQ:function(t,e,n){var r=n("duB3"),i=n("KmWZ"),o=n("NqZt"),a=n("E4Hj"),s=n("G2xm"),c=n("zpVT");function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},bO0Y:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Promise");t.exports=r},"bXX+":function(t,e,n){"use strict";var r=n("jhkR"),i=n("fvMW"),o=n("VU/8")(r.a,i.a,!1,null,null,null);o.options.__file="components\\schemaLink.vue",e.a=o.exports},bklM:function(t,e,n){var r=n("Fkvj"),i=1,o=4;t.exports=function(t){return r(t,i|o)}},blYT:function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(e,n("DuR2"))},"c/Tr":function(t,e,n){t.exports={default:n("5zde"),__esModule:!0}},cER1:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),o=n("fZjL"),a=n.n(o),s=n("Gu7T"),c=n.n(s),u=n("gRE1"),l=n.n(u),f=n("d7EF"),p=n.n(f),d=n("W3Iv"),v=n.n(d),h=n("T9Hf"),m=n("rVUV"),b=(n.n(m),n("Q7hp")),y=n.n(b),_=n("HN2V"),g=n.n(_),x=n("LJry"),j=n.n(x),C=n("lOo0"),O=n("bXX+"),w=n("mQxp"),k=n("4yG7"),T=n.n(k);e.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{masterSchema:null,loading:!0}},created:function(){var t=this,e={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};n("+99L")("./"+this.type+"_schema.json").then(function(e){return t.masterSchema=new C.a("$",null,e),v()(t.examples).forEach(function(e){var n=p()(e,2),r=n[0],i=n[1];y()(t.masterSchema,r)?T()(t.masterSchema,r+".examples",i):console.error("schema path not found in "+t.type+": "+r)}),t.loading=!1,e}).catch(function(t){throw t}),this.$static={formats:{"date-time":e.date,date:e.date,time:e.date,email:e.email}}},methods:{traverse:function(t,e){var n=this;t instanceof C.a?(e(t),v()(t).filter(function(t){var e=p()(t,2),n=e[0];e[1];return"$parent"!==n}).forEach(function(t){var r=p()(t,2),i=(r[0],r[1]);return n.traverse(i,e)})):t instanceof Array?t.forEach(function(t){return n.traverse(t,e)}):t instanceof Object&&l()(t).forEach(function(t){return n.traverse(t,e)})},simplifySchema:function(t){var e=function(t){return t.anyOf&&t.anyOf.indexOf(!0)>=0?[t,!0]:t.allOf&&t.allOf.indexOf(!1)>=0?[t,!1]:t.allOf&&t.allOf.length?[t,new C.a(t.$step,t.$parent,g.a.apply(void 0,[{}].concat(c()(t.allOf.map(function(t){return t.toJSON()})))))]:!0===t.not?[t,!1]:0===a()(t).filter(function(t){return"$"!==t[0]}).length?[t,!0]:null};return this.traverse(t,function(t){!function t(n){if(n){var r=p()(n,2),i=r[0],o=r[1],a=i.$parent;a&&T()(a.schema,a.path,o),i.$parent=null,t(e(a.schema))}}(e(t))}),t}},computed:{schemas:function(){if(!this.masterSchema)return null;var t={};return this.traverse(this.simplifySchema(this.masterSchema),function(e){t[e.$id]=e}),t}},filters:{stringify:function(t){return i()(t," ",2)},capitalize:function(t,e){return t?(t instanceof Array||(t=[t]),t.map(function(t){return""+t[0].toUpperCase()+t.slice(1)}).join(", ")):""}},components:{card:h.a,prism:j.a,schemaToc:w.a,schemaLink:O.a}}},d4US:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"DataView");t.exports=r},d7EF:function(t,e,n){"use strict";e.__esModule=!0;var r=o(n("us/S")),i=o(n("BO1k"));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(){return function(t,e){if(Array.isArray(t))return t;if((0,r.default)(Object(t)))return function(t,e){var n=[],r=!0,o=!1,a=void 0;try{for(var s,c=(0,i.default)(t);!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){o=!0,a=t}finally{try{!r&&c.return&&c.return()}finally{if(o)throw a}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},dCZQ:function(t,e,n){var r=n("ICSD")(Object,"create");t.exports=r},dFpP:function(t,e,n){var r=n("imBK"),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},dYhQ:function(t,e,n){var r=n("9UkZ");t.exports=function(t){return r(t)?void 0:t}},deUO:function(t,e,n){var r=n("imBK");t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},duB3:function(t,e,n){var r=n("WxI4"),i=n("dFpP"),o=n("JBvZ"),a=n("2Hvv"),s=n("deUO");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},eFps:function(t,e,n){var r,i=n("+gg+"),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},eVIm:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return n===i?void 0:n}return o.call(e,t)?e[t]:void 0}},f931:function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},fBQ2:function(t,e,n){"use strict";var r=n("evD5"),i=n("X8DO");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},fMqj:function(t,e,n){var r=n("zGZ6"),i=500;t.exports=function(t){var e=r(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}},fZOM:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},fvMW:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[t._t("default"),!0===t.link?[t._v("\n    yes \n  ")]:!1===t.link?[t._v("\n    no \n  ")]:t.isSchema(t.link)?[n("nuxt-link",{attrs:{to:"#p-"+t.link.$id}},[n("span",{domProps:{innerHTML:t._s(t.link.getPath())}})])]:t.link instanceof Array?n("ul",t._l(t.link,function(e){return n("li",{key:e.$id},[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})])],1)})):t.link instanceof Object?n("ul",t._l(t.link,function(e,r){return n("li",[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[t._v("\n        "+t._s(r)+"\n      ")])],1)})):t._e()],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},gGqR:function(t,e,n){var r=n("aCM0"),i=n("yCNF"),o="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",c="[object Proxy]";t.exports=function(t){if(!i(t))return!1;var e=r(t);return e==a||e==s||e==o||e==c}},gHOb:function(t,e,n){var r=n("d4US"),i=n("POb3"),o=n("bO0Y"),a=n("5N57"),s=n("bIbi"),c=n("aCM0"),u=n("Ai/T"),l="[object Promise]",f="[object WeakMap]",p="[object DataView]",d=u(r),v=u(i),h=u(o),m=u(a),b=u(s),y=c;(r&&y(new r(new ArrayBuffer(1)))!=p||i&&"[object Map]"!=y(new i)||o&&y(o.resolve())!=l||a&&"[object Set]"!=y(new a)||s&&y(new s)!=f)&&(y=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case d:return p;case v:return"[object Map]";case h:return l;case m:return"[object Set]";case b:return f}return e}),t.exports=y},gRE1:function(t,e,n){t.exports={default:n("TmV0"),__esModule:!0}},gSvA:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!0);r(r.S,"Object",{entries:function(t){return i(t)}})},ggOT:function(t,e,n){(function(t){var r=n("TQ3y"),i=n("gwcX"),o="object"==typeof e&&e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(e,n("3IRH")(t))},gwcX:function(t,e){t.exports=function(){return!1}},hIPy:function(t,e,n){var r=n("NGEn"),i=n("6MiT"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},hrPF:function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},hvFG:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e(this.tag,{tag:"component"},[e("nuxt-link",{attrs:{to:"#p-"+this.schema.$id}},[e("span",{domProps:{innerHTML:this._s(this.schema.$step)}})]),this.schema.properties||this.schema.patternProperties||this.schema.items?e("ul",[this._l(this.schema.properties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this._l(this.schema.patternProperties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this.schema.items?[this.schema.items instanceof Array?this._l(this.schema.items,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}):e("schemaToc",{attrs:{schema:this.schema.items}})]:this._e()],2):this._e()],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},i4ON:function(t,e,n){var r=n("nw3t"),i=n("22B7"),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},imBK:function(t,e,n){var r=n("22B7");t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},jD7S:function(t,e,n){var r=n("tv3T"),i=n("ktak");t.exports=function(t,e){return t&&r(e,i(e),t)}},jMi8:function(t,e,n){var r=n("O1jc"),i=n("mKB/"),o=n("Ilb/"),a=n("hrPF"),s=n("WQFf"),c=n("1Yb9"),u=n("NGEn"),l=n("Fp5l"),f=n("ggOT"),p=n("gGqR"),d=n("yCNF"),v=n("9UkZ"),h=n("YsVG"),m=n("TlPD");t.exports=function(t,e,n,b,y,_,g){var x=t[n],j=e[n],C=g.get(j);if(C)r(t,n,C);else{var O=_?_(x,j,n+"",t,e,g):void 0,w=void 0===O;if(w){var k=u(j),T=!k&&f(j),P=!k&&!T&&h(j);O=j,k||T||P?u(x)?O=x:l(x)?O=a(x):T?(w=!1,O=i(j,!0)):P?(w=!1,O=o(j,!0)):O=[]:v(j)||c(j)?(O=x,c(x)?O=m(x):(!d(x)||b&&p(x))&&(O=s(j))):w=!1}w&&(g.set(j,O),y(O,j,b,_,g),g.delete(j)),r(t,n,O)}}},jhkR:function(t,e,n){"use strict";var r=n("lOo0");e.a={props:{link:{required:!0}},methods:{isSchema:function(t){return t instanceof r.a}}}},ktak:function(t,e,n){var r=n("7e4z"),i=n("/GnY"),o=n("bGc4");t.exports=function(t){return o(t)?r(t):i(t)}},l9Lx:function(t,e,n){var r=n("lb6C"),i=n("C0hh"),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),function(e){return o.call(t,e)}))}:i;t.exports=s},lOo0:function(t,e,n){"use strict";var r=n("woOf"),i=n.n(r),o=n("d7EF"),a=n.n(o),s=n("W3Iv"),c=n.n(s),u=n("Zrlr"),l=n.n(u),f=n("wxAW"),p=n.n(f),d=n("bklM"),v=n.n(d),h=n("rVUV"),m=n.n(h),b=n("Dc7M"),y=n.n(b),_=function(){function t(e,n,r){l()(this,t),this.$id=t.idx++,this.$step=e+"&#8203",this.$parent=n,r&&this.parseFrom(r)}return p()(t,[{key:"toJSON",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;return m()(n,function(n,r,i,o){if(n instanceof t)return c()(n).filter(function(t){var e=a()(t,2),n=e[0];e[1];return["$id","$step","$parent"].indexOf(n)<0}).reduce(function(t,n){var r=a()(n,2),i=r[0],o=r[1];return t[i]=e.toJSON(o),t},{})})}},{key:"getPath",value:function(){var t="";return this.$parent&&(t+=this.$parent.schema.getPath(),"object"===this.$parent.schema.type&&(t+=".")),t+=this.$step,this.getPath=function(){return t},t}},{key:"parseFrom",value:function(e){var n=this;return!0===e?e={}:!1===e&&(e={not:!0}),i()(this,y()(v()(e),["$step","$id","$parent","items","properties","patternProperties","additionalItems","additionalProperties","contains","propertyNames","not","allOf","anyOf","oneOf"])),e.items&&(e.items instanceof Array?this.items=e.items.map(function(r,i){return new t("["+i+"]",{schema:n,path:"items["+i+"]"},e.items[i])}):this.items=new t("[*]",{schema:this,path:"items"},e.items)),["properties","patternProperties"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return c()(e[r]).forEach(function(e,i){var o=a()(e,2),s=o[0],c=o[1];n[r]=n[r]||{},n[r][s]=new t("patternProperties"===r?"&lt;field&gt;":s,{schema:n,path:r+'["'+s+'"]'},c)})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){n[r]=new t("+",{schema:n,path:r},e[r])}),["allOf","anyOf","oneOf"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return e[r].forEach(function(e,i){n[r]=n[r]||[],n[r].push(new t("("+i+")"+("anyOf"===r?"?":"+"),{schema:n,path:r+"["+i+"]"},e))})}),this}}]),t}();_.idx=0,e.a=_},lb6C:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}},"mKB/":function(t,e,n){(function(t){var r=n("TQ3y"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}}).call(e,n("3IRH")(t))},mQxp:function(t,e,n){"use strict";var r=n("Gs0Q"),i=n("hvFG"),o=!1;var a=function(t){o||n("AxiT")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\schemaToc.vue",e.a=s.exports},mTAn:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},mbce:function(t,e,n){var r=n("lktj"),i=n("TcQ7"),o=n("NpIQ").f;t.exports=function(t){return function(e){for(var n,a=i(e),s=r(a),c=s.length,u=0,l=[];c>u;)o.call(a,n=s[u++])&&l.push(t?[n,a[n]]:a[n]);return l}}},mgnk:function(t,e,n){var r=n("aCM0"),i=n("UnEC"),o="[object Arguments]";t.exports=function(t){return i(t)&&r(t)==o}},nWuj:function(t,e){t.exports=function(t,e){return t.add(e),t}},nw3t:function(t,e,n){var r=n("p0bc");t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},o2mx:function(t,e,n){var r=n("NkRn"),i=n("Hxdr"),o=n("NGEn"),a=n("6MiT"),s=1/0,c=r?r.prototype:void 0,u=c?c.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return u?u.call(e):"";var n=e+"";return"0"==n&&1/e==-s?"-0":n}},octw:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}},oqL2:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},p0bc:function(t,e,n){var r=n("ICSD"),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},pTUa:function(t,e,n){var r=n("/I3N");t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},pfrz:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"machine-message content"},[this._m(0),e("p",[this._v("The main purpose of the machine message format is to allow devices and integrators to send messages containing an interpretation of measurement data or status.")]),this._m(1),e("schemaDetail",{attrs:{type:"v3/message",examples:this.$static.examples}},[e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Minimal message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Multiple message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.multipleMachineMessages)))])],2)],1)],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",[e("a",{attrs:{id:"Message-Payload",title:"Machine Message Payload"}}),this._v("\n    Machine Message Payload\n  ")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"diagram"},[e("img",{attrs:{src:"images/specification/v3/messagePayload.svg",alt:"Class diagram of the message payload",title:"Class diagram of the message payload"}})])}]};e.a=i},py9u:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t,e){return t&&r(e,i(e),t)}},qwTf:function(t,e,n){var r=n("TQ3y").Uint8Array;t.exports=r},qyJz:function(t,e,n){"use strict";var r=n("+ZMJ"),i=n("kM2E"),o=n("sB3e"),a=n("msXi"),s=n("Mhyx"),c=n("QRG4"),u=n("fBQ2"),l=n("3fs2");i(i.S+i.F*!n("dY0y")(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,f,p=o(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,b=0,y=l(p);if(m&&(h=r(h,v>2?arguments[2]:void 0,2)),void 0==y||d==Array&&s(y))for(n=new d(e=c(p.length));e>b;b++)u(n,b,m?h(p[b],b):p[b]);else for(f=y.call(p),n=new d;!(i=f.next()).done;b++)u(n,b,m?a(f,h,[i.value,b],!0):i.value);return n.length=b,n}})},rCVp:function(t,e,n){var r=n("1C79");t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},rVUV:function(t,e,n){var r=n("Fkvj"),i=1,o=4;t.exports=function(t,e){return r(t,i|o,e="function"==typeof e?e:void 0)}},rpnb:function(t,e,n){var r=n("tHks")();t.exports=r},s8mu:function(t,e,n){"use strict";var r=n("cER1"),i=n("D9sP"),o=!1;var a=function(t){o||n("A51D")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\schemaDetail.vue",e.a=s.exports},t8rQ:function(t,e,n){var r=n("7e4z"),i=n("G0Wc"),o=n("bGc4");t.exports=function(t){return o(t)?r(t,!0):i(t)}},tHks:function(t,e){t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},tN9E:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),o=n("d7EF"),a=n.n(o),s=n("Dd8w"),c=n.n(s),u=n("W3Iv"),l=n.n(u),f=n("LJry"),p=n.n(f),d=n("T9Hf"),v=n("Q7hp"),h=n.n(v),m=n("s8mu");e.a={head:function(){return{title:"Specification for machine messages"}},created:function(){var t=this,e=new Date,n="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/machine-message#v3",device:{id:n},messages:[{ts:e.toISOString(),code:"190ABT"}]},multipleMachineMessages:{"content-spec":"urn:spec://eclipse.org/unide/machine-message#v3",device:{id:n,mode:"auto",state:"OK",swVersion:"2.0.3.13",swBuildID:"41535"},messages:[{origin:"sensor-id-992.2393.22",ts:e.toISOString(),type:"DEVICE",severity:"HIGH",code:"190ABT",title:"control board damaged",description:"Electronic control board or its electrical connections are damaged",hint:"Check the control board",firmware:"20130304_22.020"},{ts:new Date(e.valueOf()+100).toISOString(),type:"TECHNICAL_INFO",severity:"HIGH",code:"33-02",title:"Disk size limit reached",description:"Disk size has reached limit. Unable to write log files."}]}},this.$static.examples=l()(c()({},["content-spec","device","device.id","device.mode","messages","messages[0].ts","messages[0].origin","messages[0].type","messages[0].severity","messages[0].code","messages[0].title","messages[0].description","messages[0].hint"].reduce(function(t,e){return t[e.replace(/(^|\.)/g,"$1properties.").replace(/\[[^]]*]/g,".items")]=e,t},{}))).reduce(function(e,n){var r=a()(n,2),i=r[0],o=r[1],s=h()(t.$static.message,o)||h()(t.$static.multipleMachineMessages,o);return s?e[i]=[s]:console.error('no example provided in machine-message for:\n"'+i+'": "'+o+'"'),e},{})},filters:{stringify:function(t){return i()(t," ",2)}},components:{card:d.a,prism:p.a,schemaDetail:m.a}}},tv3T:function(t,e,n){var r=n("i4ON"),i=n("nw3t");t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=o?o(n[u],t[u],u,n,t):void 0;void 0===l&&(l=t[u]),a?i(n,u,l):r(n,u,l)}return n}},uCi2:function(t,e,n){var r=n("bIjD"),i=n("Ubhr");t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n<o;)t=t[i(e[n++])];return n&&n==o?t:void 0}},uIr7:function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},uLhX:function(t,e,n){var r=n("NkRn"),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},"ue/d":function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},uieL:function(t,e){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},"us/S":function(t,e,n){t.exports={default:n("Xd32"),__esModule:!0}},v8Dt:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).get(t)}},vi0E:function(t,e,n){var r=n("f931")(Object.getPrototypeOf,Object);t.exports=r},wEtr:function(t,e,n){n("gSvA"),t.exports=n("FeBl").Object.entries},wSKX:function(t,e){t.exports=function(t){return t}},wxAW:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("C4MV"),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,o.default)(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()},xond:function(t,e,n){var r=n("FCuZ"),i=n("09Qt"),o=n("t8rQ");t.exports=function(t){return r(t,o,i)}},yCNF:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},z4hc:function(t,e,n){var r=n("aCM0"),i=n("Rh28"),o=n("UnEC"),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},zBOP:function(t,e,n){var r=n("22B7"),i=n("bGc4"),o=n("ZGh9"),a=n("yCNF");t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},zGZ6:function(t,e,n){var r=n("YeCl"),i="Expected a function";function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(i);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(o.Cache||r),n}o.Cache=r,t.exports=o},zpVT:function(t,e,n){var r=n("duB3"),i=n("POb3"),o=n("YeCl"),a=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<a-1)return s.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(t,e),this.size=n.size,this}}});
\ No newline at end of file
diff --git a/files/pages_specification_v3_measurement-message.4434bf8df3d72126d3b3.js b/files/pages_specification_v3_measurement-message.4434bf8df3d72126d3b3.js
new file mode 100644
index 0000000..956e2b5
--- /dev/null
+++ b/files/pages_specification_v3_measurement-message.4434bf8df3d72126d3b3.js
@@ -0,0 +1 @@
+webpackJsonp([1],{"+66z":function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},"+99L":function(t,e,n){var r={"./v2/measurement_schema.json":["oGp6",23],"./v2/message_schema.json":["2BTs",22],"./v2/process_schema.json":["rRyJ",21],"./v3/measurement_schema.json":["PpY5",20],"./v3/message_schema.json":["1SJ2",19],"./v3/process_schema.json":["uwRd",18]};function i(t){var e=r[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(r)},i.id="+99L",t.exports=i},"+gg+":function(t,e,n){var r=n("TQ3y")["__core-js_shared__"];t.exports=r},"/GnY":function(t,e,n){var r=n("HT7L"),i=n("W529"),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))a.call(t,n)&&"constructor"!=n&&e.push(n);return e}},"/I3N":function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},"037f":function(t,e,n){var r=n("1oyr"),i=n("p0bc"),a=n("wSKX"),o=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:a;t.exports=o},"09Qt":function(t,e,n){var r=n("uIr7"),i=n("vi0E"),a=n("l9Lx"),o=n("C0hh"),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,a(t)),t=i(t);return e}:o;t.exports=s},"0DSl":function(t,e,n){var r=n("YkxI"),i=n("zBOP");t.exports=function(t){return r(function(e,n){var r=-1,a=n.length,o=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(a--,o):void 0,s&&i(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),e=Object(e);++r<a;){var c=n[r];c&&t(e,c,r,o)}return e})}},"0uX4":function(t,e,n){var r=n("NkRn"),i=r?r.prototype:void 0,a=i?i.valueOf:void 0;t.exports=function(t){return a?Object(a.call(t)):{}}},"1C79":function(t,e,n){var r=n("uIr7"),i=n("Qp3N");t.exports=function t(e,n,a,o,s){var c=-1,u=e.length;for(a||(a=i),s||(s=[]);++c<u;){var l=e[c];n>0&&a(l)?n>1?t(l,n-1,a,o,s):r(s,l):o||(s[s.length]=l)}return s}},"1QDk":function(t,e,n){var r=n("tv3T"),i=n("09Qt");t.exports=function(t,e){return r(t,i(t),e)}},"1Yb9":function(t,e,n){var r=n("mgnk"),i=n("UnEC"),a=Object.prototype,o=a.hasOwnProperty,s=a.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&o.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"1oyr":function(t,e){t.exports=function(t){return function(){return t}}},"22B7":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"2Hvv":function(t,e,n){var r=n("imBK");t.exports=function(t){return r(this.__data__,t)>-1}},"2N6f":function(t,e,n){var r=n("rCVp"),i=n("Q2wK"),a=n("WHce");t.exports=function(t){return a(i(t,void 0,r),t+"")}},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3rZI":function(t,e){t.exports=function(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}},"4yG7":function(t,e,n){var r=n("HAGj");t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},"5/Qr":function(t,e,n){var r=n("Kzd6"),i=n("6Git"),a=n("Jqj6"),o=n("WyC4"),s=n("7jYp"),c=n("0uX4"),u=n("Ilb/"),l="[object Boolean]",f="[object Date]",p="[object Map]",d="[object Number]",v="[object RegExp]",h="[object Set]",m="[object String]",y="[object Symbol]",b="[object ArrayBuffer]",_="[object DataView]",x="[object Float32Array]",g="[object Float64Array]",j="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",w="[object Uint8Array]",k="[object Uint8ClampedArray]",T="[object Uint16Array]",P="[object Uint32Array]";t.exports=function(t,e,n,A){var E=t.constructor;switch(e){case b:return r(t);case l:case f:return new E(+t);case _:return i(t,A);case x:case g:case j:case C:case O:case w:case k:case T:case P:return u(t,A);case p:return a(t,A,n);case d:case m:return new E(t);case v:return o(t);case h:return s(t,A,n);case y:return c(t)}}},"5N57":function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Set");t.exports=r},"5PlU":function(t,e,n){var r=n("RY/4"),i=n("dSzd")("iterator"),a=n("/bQp");t.exports=n("FeBl").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||a.hasOwnProperty(r(e))}},"5pwE":function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"5zde":function(t,e,n){n("zQR9"),n("qyJz"),t.exports=n("FeBl").Array.from},"6Git":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},"6MiT":function(t,e,n){var r=n("aCM0"),i=n("UnEC"),a="[object Symbol]";t.exports=function(t){return"symbol"==typeof t||i(t)&&r(t)==a}},"77aO":function(t,e,n){"use strict";e.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(t){this.expanded=!t}},methods:{beforeenter:function(t){this.transitioning=!0,t.style.height=0},enter:function(t){t.style.height=t.scrollHeight+"px"},afterenter:function(t){t.style.height="",this.transitioning=!1},beforeleave:function(t){this.transitioning=!0,t.style.height=t.offsetHeight+"px",t.offsetHeight},leave:function(t){t.style.height=0,t.offsetHeight},afterleave:function(t){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},"7e4z":function(t,e,n){var r=n("uieL"),i=n("1Yb9"),a=n("NGEn"),o=n("ggOT"),s=n("ZGh9"),c=n("YsVG"),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=a(t),l=!n&&i(t),f=!n&&!l&&o(t),p=!n&&!l&&!f&&c(t),d=n||l||f||p,v=d?r(t.length,String):[],h=v.length;for(var m in t)!e&&!u.call(t,m)||d&&("length"==m||f&&("offset"==m||"parent"==m)||p&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,h))||v.push(m);return v}},"7jYp":function(t,e,n){var r=n("nWuj"),i=n("3rZI"),a=n("octw"),o=1;t.exports=function(t,e,n){var s=e?n(a(t),o):a(t);return i(s,r,new t.constructor)}},"8AZL":function(t,e){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},"8gK5":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},"94sX":function(t,e,n){var r=n("dCZQ");t.exports=function(){this.__data__=r?r(null):{},this.size=0}},"9UkZ":function(t,e,n){var r=n("aCM0"),i=n("vi0E"),a=n("UnEC"),o="[object Object]",s=Function.prototype,c=Object.prototype,u=s.toString,l=c.hasOwnProperty,f=u.call(Object);t.exports=function(t){if(!a(t)||r(t)!=o)return!1;var e=i(t);if(null===e)return!0;var n=l.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==f}},"9q7h":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("NVRb"),i=n("Uu0y"),a=n("VU/8")(r.a,i.a,!1,null,null,null);a.options.__file="pages\\specification\\v3\\measurement-message.vue",e.default=a.exports},A51D:function(t,e,n){var r=n("5pwE");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("188b52d2",r,!1)},A9mX:function(t,e,n){var r=n("pTUa");t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},"Ai/T":function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},AxiT:function(t,e,n){var r=n("Lw7C");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("0868896c",r,!1)},C0hh:function(t,e){t.exports=function(){return[]}},CW5P:function(t,e,n){var r=n("T/bE"),i=n("duB3"),a=n("POb3");t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},Cf65:function(t,e,n){var r=n("uCi2"),i=n("M1c9");t.exports=function(t,e){return e.length<2?t:r(t,i(e,0,-1))}},D9sP:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"schemaDetail",class:{"is-loading":t.loading},attrs:{id:"schema-detail"}},[n("div",{staticClass:"accordion"},[null!==t.masterSchema?n("card",{attrs:{collapsed:!0}},[n("template",{slot:"header"},[t._v("\n        Structure of the payload\n      ")]),n("ul",t._l(t.masterSchema.properties,function(t,e){return n("schemaToc",{key:e,attrs:{schema:t}})}))],2):t._e(),t._t("default")],2),n("h1",[n("a",{attrs:{id:t.type+"-schema-detail",title:t.type+" Fields definition"}}),t._v("\n    Fields definition\n  ")]),t._l(t.schemas,function(e){return n("div",{key:e.$id,staticClass:"card property"},[n("header",{staticClass:"card-header"},[n("a",{attrs:{id:"p-"+e.$id}}),n("p",{staticClass:"card-header-title"},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})]),n("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa fa-angle-up"})])])],1),n("div",{staticClass:"card-content"},[e.description||e.type?n("div",{staticClass:"field is-horizontal"},[t._m(0,!0),e.description?n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.description)+"\n        ")]):e.type?n("div",{staticClass:"field-body"},[t._v("\n          A simple "+t._s(t._f("capitalize")(e.type))+"\n        ")]):t._e()]):t._e(),e.$parent?n("div",{staticClass:"field is-horizontal"},[t._m(1,!0),n("div",{staticClass:"field-body"},[n("nuxt-link",{attrs:{to:"#p-"+e.$parent.schema.$id}},[n("span",{domProps:{innerHTML:t._s(e.$parent.schema.getPath())}})])],1)]):t._e(),e.type?n("div",{staticClass:"field is-horizontal"},[t._m(2,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(t._f("capitalize")(e.type,e))+"\n        ")])]):t._e(),e.format?n("div",{staticClass:"field is-horizontal"},[t._m(3,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.format)+"\n          "),t.$static.formats[e.format]?n("a",{attrs:{href:t.$static.formats[e.format].link}},[t._v(" ("+t._s(t.$static.formats[e.format].name)+")")]):t._e()])]):t._e(),e.enum&&e.enum.length?n("div",{staticClass:"field is-horizontal"},[t._m(4,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.enum.join(", "))+"\n          ")])])]):t._e(),e.hasOwnProperty("default")?n("div",{staticClass:"field is-horizontal"},[t._m(5,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.default)+"\n          ")])])]):t._e(),e.maxLength?n("div",{staticClass:"field is-horizontal"},[t._m(6,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.maxLength)+"\n          ")])])]):t._e(),e.properties||e.patternProperties||e.items?n("div",{staticClass:"field is-horizontal"},[t._m(7,!0),n("div",{staticClass:"field-body"},[Object.keys(e.properties||{}).length>0?n("schemaLink",{attrs:{link:e.properties}}):t._e(),Object.keys(e.patternProperties||{}).length>0?n("schemaLink",{attrs:{link:e.patternProperties}},[n("div",[t._v("Matching regular expressions:")])]):t._e(),!e.items||e.items instanceof Array?e.items?n("schemaLink",{attrs:{link:e.items}},[n("div",[t._v("Ordered items of type:")])]):t._e():n("schemaLink",{attrs:{link:e.items}}),Object.keys(e.properties||{}).length+Object.keys(e.patternProperties||{}).length!==0||e.items?t._e():[t._v("none")]],2)]):t._e(),e.minProperties?n("div",{staticClass:"field is-horizontal"},[t._m(8,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minProperties)+"\n          ")])])]):t._e(),e.minItems?n("div",{staticClass:"field is-horizontal"},[t._m(9,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minItems)+"\n          ")])])]):t._e(),e.hasOwnProperty("additionalProperties")?n("div",{staticClass:"field is-horizontal"},[t._m(10,!0),"boolean"==typeof e.additionalProperties?n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}}):n("div",{staticClass:"field-body"},[t._v("\n          if fulfilling "),n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}})],1)],1):t._e(),e.not||e.oneOf||e.allOf||e.anyOf?n("div",{staticClass:"field is-horizontal"},[t._m(11,!0),n("div",{staticClass:"field-body"},[e.not?n("schemaLink",{attrs:{link:e.not}},[t._v("\n            Not fulfilling \n          ")]):t._e(),e.oneOf?n("schemaLink",{attrs:{link:e.oneOf}},[n("div",[t._v("Fulfilling exactly one of:")])]):t._e(),e.allOf?n("schemaLink",{attrs:{link:e.allOf}},[n("div",[t._v("Fulfilling all of:")])]):t._e(),e.anyOf?n("schemaLink",{attrs:{link:e.anyOf}},[n("div",[t._v("Fulfilling one of:")])]):t._e()],1)]):t._e(),e.required&&e.required.length?n("div",{staticClass:"field is-horizontal"},[t._m(12,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.required.join(", "))+"\n        ")])]):t._e(),e.examples?n("div",{staticClass:"field is-horizontal"},[t._m(13,!0),n("div",{staticClass:"field-body"},t._l(e.examples,function(e,r){return n("prism",{key:r,attrs:{language:"json"}},[t._v(t._s(t._f("stringify")(e)))])}))]):t._e()])])})],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Description:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Type:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Format:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Example:")])])}]};e.a=i},Dc0G:function(t,e,n){(function(t){var r=n("blYT"),i="object"==typeof e&&e&&!e.nodeType&&e,a=i&&"object"==typeof t&&t&&!t.nodeType&&t,o=a&&a.exports===i&&r.process,s=function(){try{return o&&o.binding&&o.binding("util")}catch(t){}}();t.exports=s}).call(e,n("3IRH")(t))},Dc7M:function(t,e,n){var r=n("Hxdr"),i=n("Fkvj"),a=n("Vi3P"),o=n("bIjD"),s=n("tv3T"),c=n("dYhQ"),u=n("2N6f"),l=n("xond"),f=u(function(t,e){var n={};if(null==t)return n;var u=!1;e=r(e,function(e){return e=o(e,t),u||(u=e.length>1),e}),s(t,l(t),n),u&&(n=i(n,7,c));for(var f=e.length;f--;)a(n,e[f]);return n});t.exports=f},Dv2r:function(t,e,n){var r=n("pTUa");t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},E4Hj:function(t,e){t.exports=function(t){return this.__data__.get(t)}},FCuZ:function(t,e,n){var r=n("uIr7"),i=n("NGEn");t.exports=function(t,e,n){var a=e(t);return i(t)?a:r(a,n(t))}},Fkvj:function(t,e,n){var r=n("bJWQ"),i=n("PqYH"),a=n("i4ON"),o=n("jD7S"),s=n("py9u"),c=n("mKB/"),u=n("hrPF"),l=n("Nkkh"),f=n("1QDk"),p=n("MoMe"),d=n("xond"),v=n("gHOb"),h=n("UfSK"),m=n("5/Qr"),y=n("WQFf"),b=n("NGEn"),_=n("ggOT"),x=n("yCNF"),g=n("ktak"),j=1,C=2,O=4,w="[object Arguments]",k="[object Function]",T="[object GeneratorFunction]",P="[object Object]",A={};A[w]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[P]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[k]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,E,S,$,M){var I,F=n&j,D=n&C,z=n&O;if(E&&(I=$?E(e,S,$,M):E(e)),void 0!==I)return I;if(!x(e))return e;var N=b(e);if(N){if(I=h(e),!F)return u(e,I)}else{var U=v(e),Q=U==k||U==T;if(_(e))return c(e,F);if(U==P||U==w||Q&&!$){if(I=D||Q?{}:y(e),!F)return D?f(e,s(I,e)):l(e,o(I,e))}else{if(!A[U])return $?e:{};I=m(e,U,t,F)}}M||(M=new r);var G=M.get(e);if(G)return G;M.set(e,I);var H=z?D?d:p:D?keysIn:g,R=N?void 0:H(e);return i(R||e,function(r,i){R&&(r=e[i=r]),a(I,i,t(r,n,E,i,e,M))}),I}},Fp5l:function(t,e,n){var r=n("bGc4"),i=n("UnEC");t.exports=function(t){return i(t)&&r(t)}},G0Wc:function(t,e,n){var r=n("yCNF"),i=n("HT7L"),a=n("8gK5"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return a(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&o.call(t,s))&&n.push(s);return n}},G2xm:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Gs0Q:function(t,e,n){"use strict";e.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schema:{type:Object,required:!0}}}},Gu7T:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("c/Tr"),a=(r=i)&&r.__esModule?r:{default:r};e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return(0,a.default)(t)}},HAGj:function(t,e,n){var r=n("i4ON"),i=n("bIjD"),a=n("ZGh9"),o=n("yCNF"),s=n("Ubhr");t.exports=function(t,e,n,c){if(!o(t))return t;for(var u=-1,l=(e=i(e,t)).length,f=l-1,p=t;null!=p&&++u<l;){var d=s(e[u]),v=n;if(u!=f){var h=p[d];void 0===(v=c?c(h,d,p):void 0)&&(v=o(h)?h:a(e[u+1])?[]:{})}r(p,d,v),p=p[d]}return t}},HN2V:function(t,e,n){var r=n("HbnZ"),i=n("0DSl")(function(t,e,n){r(t,e,n)});t.exports=i},HT7L:function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},HbnZ:function(t,e,n){var r=n("bJWQ"),i=n("O1jc"),a=n("rpnb"),o=n("jMi8"),s=n("yCNF"),c=n("t8rQ");t.exports=function t(e,n,u,l,f){e!==n&&a(n,function(a,c){if(s(a))f||(f=new r),o(e,n,c,u,t,l,f);else{var p=l?l(e[c],a,c+"",e,n,f):void 0;void 0===p&&(p=a),i(e,c,p)}},c)}},Hxdr:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},ICSD:function(t,e,n){var r=n("ITwD"),i=n("mTAn");t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},ITwD:function(t,e,n){var r=n("gGqR"),i=n("eFps"),a=n("yCNF"),o=n("Ai/T"),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,f=u.hasOwnProperty,p=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!a(t)||i(t))&&(r(t)?p:s).test(o(t))}},"Ilb/":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},JBvZ:function(t,e,n){var r=n("imBK");t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},Jqj6:function(t,e,n){var r=n("U7Aq"),i=n("3rZI"),a=n("WFiI"),o=1;t.exports=function(t,e,n){var s=e?n(a(t),o):a(t);return i(s,r,new t.constructor)}},KmWZ:function(t,e,n){var r=n("duB3");t.exports=function(){this.__data__=new r,this.size=0}},Kzd6:function(t,e,n){var r=n("qwTf");t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},LJry:function(t,e,n){"use strict";var r={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(t,e){var n=e.props.code||e.children[0].text,r=e.props.language,i=Prism.languages[r],a="language-"+r;return t("pre",function(t){for(var e=arguments,n=1;n<arguments.length;n++)for(var r in arguments[n])t[r]=e[n][r];return t}({},e.data,{class:[e.data.class,a]}),[t("code",{class:a,domProps:{innerHTML:Prism.highlight(n,i)}})])}};t.exports=r},Lw7C:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},M1c9:function(t,e){t.exports=function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Array(i);++r<i;)a[r]=t[r+e];return a}},MoMe:function(t,e,n){var r=n("FCuZ"),i=n("l9Lx"),a=n("ktak");t.exports=function(t){return r(t,a,i)}},NGEn:function(t,e){var n=Array.isArray;t.exports=n},NVRb:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),a=n("d7EF"),o=n.n(a),s=n("Dd8w"),c=n.n(s),u=n("W3Iv"),l=n.n(u),f=n("LJry"),p=n.n(f),d=n("T9Hf"),v=n("Q7hp"),h=n.n(v),m=n("s8mu");e.a={head:function(){return{title:"Specification for measurement messages"}},created:function(){var t=this,e=new Date,n="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v3",device:{id:n},measurements:[{ts:e.toISOString(),series:{time:[0,23,24],temperature:[45.4231,46.4222,44.2432]}}]},complexMessage:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v3",device:{id:n,mode:"maintenance",state:"WARN",swVersion:"2.0.3.13",swBuildID:"41535"},part:{code:"HUH289",id:"420003844",type:"BATCH",typeId:"F00VH07328",result:"OK",lotID:"845849",toolID:"32324-432143"},measurements:[{code:"190ABT",context:{temperature:{accuracy:[.112,.115,.129],limits:{lowerError:-2,lowerWarn:-1,target:1.21,upperError:5,upperWarn:1.5},offset:37,unit:"Cel"}},result:"OK",series:{time:[0,23,24],temperature:[.4231,2.4222,4.2432]},ts:e.toISOString()},{context:{scanData:{type:"BASE64"}},series:{time:[0,130,2633],pressure:[100952.4,100946.32,100944.2432],scanData:["Zm9vCg==","YmFyCg==","Y2hlZXNlCg=="]},ts:new Date(e.valueOf()-5e3).toISOString()}]}},this.$static.examples=l()(c()({},["content-spec","device","device.id","device.mode","device.state","part","part.code","part.id","part.result","part.type","part.typeId","measurements","measurements[0].code","measurements[0].context","measurements[0].result","measurements[0].series","measurements[0].ts","part","part.code","part.id","part.typeId","part.result"].reduce(function(t,e){return t[e.replace(/(^|\.)/g,"$1properties.").replace(/\[[^]]*]/g,".items")]=e,t},{'properties.measurements.items.properties.context.patternProperties["^[^$]+"]':"measurements[0].context.temperature",'properties.measurements.items.properties.series.patternProperties["^[^$]+"]':"measurements[0].series.temperature"}),["accuracy","limits","offset","unit"].reduce(function(t,e){return t['properties.measurements.items.properties.context.patternProperties["^[^$]+"].properties.'+e]="measurements[0].context.temperature."+e,t},{}),["lowerError","lowerWarn","target","upperError","upperWarn"].reduce(function(t,e){return t['properties.measurements.items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[0].properties.'+e]="measurements[0].context.temperature.limits."+e,t},{}))).reduce(function(e,n){var r=o()(n,2),i=r[0],a=r[1],s=h()(t.$static.message,a)||h()(t.$static.complexMessage,a);return s?e[i]=[s]:console.error('no example provided in measurement-message for:\n"'+i+'": "'+a+'"'),e},{})},filters:{stringify:function(t){return i()(t," ",2)}},components:{card:d.a,prism:p.a,schemaDetail:m.a}}},NVTU:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"card collapsibleCard",class:{collapsed:!t.expanded}},[t.$slots.header?n("header",{staticClass:"card-header",on:{click:function(e){e.preventDefault(),t.toggle()}}},[n("p",{staticClass:"card-header-title"},[!t.$slots.headerCollapsed||t.expanded?t._t("header"):t._t("headerCollapsed")],2),n("a",{staticClass:"card-header-icon"},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa",class:{"fa-angle-down":t.expanded,"fa-angle-up":!t.expanded}})])])]):t._e(),n("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":t.beforeleave,leave:t.leave,"after-leave":t.afterleave,"before-enter":t.beforeenter,enter:t.enter,"after-enter":t.afterenter}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}]},[n("div",{staticClass:"card-content"},[t._t("default")],2)])])],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},NkRn:function(t,e,n){var r=n("TQ3y").Symbol;t.exports=r},Nkkh:function(t,e,n){var r=n("tv3T"),i=n("l9Lx");t.exports=function(t,e){return r(t,i(t),e)}},NqZt:function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},O1jc:function(t,e,n){var r=n("nw3t"),i=n("22B7");t.exports=function(t,e,n){(void 0===n||i(t[e],n))&&(void 0!==n||e in t)||r(t,e,n)}},POb3:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Map");t.exports=r},PqYH:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}},Q2wK:function(t,e,n){var r=n("8AZL"),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var a=arguments,o=-1,s=i(a.length-e,0),c=Array(s);++o<s;)c[o]=a[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=a[o];return u[e]=n(c),r(t,this,u)}}},Q7hp:function(t,e,n){var r=n("uCi2");t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},Qp3N:function(t,e,n){var r=n("NkRn"),i=n("1Yb9"),a=n("NGEn"),o=r?r.isConcatSpreadable:void 0;t.exports=function(t){return a(t)||i(t)||!!(o&&t&&t[o])}},RGrk:function(t,e,n){var r=n("dCZQ"),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},Rh28:function(t,e){var n=9007199254740991;t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=n}},S7p9:function(t,e){t.exports=function(t){return function(e){return t(e)}}},"T/bE":function(t,e,n){var r=n("94sX"),i=n("ue/d"),a=n("eVIm"),o=n("RGrk"),s=n("Z2pD");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},T9Hf:function(t,e,n){"use strict";var r=n("77aO"),i=n("NVTU"),a=!1;var o=function(t){a||n("WVEp")},s=n("VU/8")(r.a,i.a,!1,o,null,null);s.options.__file="components\\collapsibleCard.vue",e.a=s.exports},TQ3y:function(t,e,n){var r=n("blYT"),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();t.exports=a},TlPD:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t){return r(t,i(t))}},TmV0:function(t,e,n){n("fZOM"),t.exports=n("FeBl").Object.values},U7Aq:function(t,e){t.exports=function(t,e){return t.set(e[0],e[1]),t}},Ubhr:function(t,e,n){var r=n("6MiT"),i=1/0;t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},UfSK:function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,r=t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},UnEC:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},UnLw:function(t,e,n){var r=/^\./,i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=n("fMqj")(function(t){var e=[];return r.test(t)&&e.push(""),t.replace(i,function(t,n,r,i){e.push(r?i.replace(a,"$1"):n||t)}),e});t.exports=o},Uu0y:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"measurement-message content"},[this._m(0),e("p",[this._v("The measurement message is the format to exchange simple (non-structured, non-complex ) measurement data. It also allows to transport multiple measurement data (eg. values over time), called 'series'.")]),this._m(1),e("schemaDetail",{attrs:{type:"v3/measurement",examples:this.$static.examples}},[e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Minimal message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Multiple message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.complexMessage)))])],2)],1)],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",[e("a",{attrs:{id:"Measurement-Payload",title:"Measurement Message payload"}}),this._v("\n    Measurement Payload\n  ")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"diagram"},[e("img",{attrs:{src:"images/specification/v3/measurementPayload.svg",alt:"Class diagram of the Measurement Message payload",title:"Class diagram of the Measurement Message payload"}})])}]};e.a=i},VORN:function(t,e,n){var r=n("yCNF"),i=Object.create,a=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=a},Vi3P:function(t,e,n){var r=n("bIjD"),i=n("oqL2"),a=n("Cf65"),o=n("Ubhr");t.exports=function(t,e){return e=r(e,t),null==(t=a(t,e))||delete t[o(i(e))]}},W3Iv:function(t,e,n){t.exports={default:n("wEtr"),__esModule:!0}},W529:function(t,e,n){var r=n("f931")(Object.keys,Object);t.exports=r},WFiI:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}},WHce:function(t,e,n){var r=n("037f"),i=n("Zk5a")(r);t.exports=i},WQFf:function(t,e,n){var r=n("VORN"),i=n("vi0E"),a=n("HT7L");t.exports=function(t){return"function"!=typeof t.constructor||a(t)?{}:r(i(t))}},WVEp:function(t,e,n){var r=n("a3hs");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("52cedc5e",r,!1)},WxI4:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},WyC4:function(t,e){var n=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}},Xd32:function(t,e,n){n("+tPU"),n("zQR9"),t.exports=n("5PlU")},YeCl:function(t,e,n){var r=n("CW5P"),i=n("A9mX"),a=n("v8Dt"),o=n("agim"),s=n("Dv2r");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},YkxI:function(t,e,n){var r=n("wSKX"),i=n("Q2wK"),a=n("WHce");t.exports=function(t,e){return a(i(t,e,r),t+"")}},YsVG:function(t,e,n){var r=n("z4hc"),i=n("S7p9"),a=n("Dc0G"),o=a&&a.isTypedArray,s=o?i(o):r;t.exports=s},Z2pD:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__";t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?i:e,this}},ZGh9:function(t,e){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){return!!(e=null==e?n:e)&&("number"==typeof t||r.test(t))&&t>-1&&t%1==0&&t<e}},ZT2e:function(t,e,n){var r=n("o2mx");t.exports=function(t){return null==t?"":r(t)}},Zk5a:function(t,e){var n=800,r=16,i=Date.now;t.exports=function(t){var e=0,a=0;return function(){var o=i(),s=r-(o-a);if(a=o,s>0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},Zrlr:function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},a3hs:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},aCM0:function(t,e,n){var r=n("NkRn"),i=n("uLhX"),a=n("+66z"),o="[object Null]",s="[object Undefined]",c=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:o:c&&c in Object(t)?i(t):a(t)}},agim:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).has(t)}},bGc4:function(t,e,n){var r=n("gGqR"),i=n("Rh28");t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},bIbi:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"WeakMap");t.exports=r},bIjD:function(t,e,n){var r=n("NGEn"),i=n("hIPy"),a=n("UnLw"),o=n("ZT2e");t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:a(o(t))}},bJWQ:function(t,e,n){var r=n("duB3"),i=n("KmWZ"),a=n("NqZt"),o=n("E4Hj"),s=n("G2xm"),c=n("zpVT");function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=a,u.prototype.get=o,u.prototype.has=s,u.prototype.set=c,t.exports=u},bO0Y:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Promise");t.exports=r},"bXX+":function(t,e,n){"use strict";var r=n("jhkR"),i=n("fvMW"),a=n("VU/8")(r.a,i.a,!1,null,null,null);a.options.__file="components\\schemaLink.vue",e.a=a.exports},bklM:function(t,e,n){var r=n("Fkvj"),i=1,a=4;t.exports=function(t){return r(t,i|a)}},blYT:function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(e,n("DuR2"))},"c/Tr":function(t,e,n){t.exports={default:n("5zde"),__esModule:!0}},cER1:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),a=n("fZjL"),o=n.n(a),s=n("Gu7T"),c=n.n(s),u=n("gRE1"),l=n.n(u),f=n("d7EF"),p=n.n(f),d=n("W3Iv"),v=n.n(d),h=n("T9Hf"),m=n("rVUV"),y=(n.n(m),n("Q7hp")),b=n.n(y),_=n("HN2V"),x=n.n(_),g=n("LJry"),j=n.n(g),C=n("lOo0"),O=n("bXX+"),w=n("mQxp"),k=n("4yG7"),T=n.n(k);e.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{masterSchema:null,loading:!0}},created:function(){var t=this,e={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};n("+99L")("./"+this.type+"_schema.json").then(function(e){return t.masterSchema=new C.a("$",null,e),v()(t.examples).forEach(function(e){var n=p()(e,2),r=n[0],i=n[1];b()(t.masterSchema,r)?T()(t.masterSchema,r+".examples",i):console.error("schema path not found in "+t.type+": "+r)}),t.loading=!1,e}).catch(function(t){throw t}),this.$static={formats:{"date-time":e.date,date:e.date,time:e.date,email:e.email}}},methods:{traverse:function(t,e){var n=this;t instanceof C.a?(e(t),v()(t).filter(function(t){var e=p()(t,2),n=e[0];e[1];return"$parent"!==n}).forEach(function(t){var r=p()(t,2),i=(r[0],r[1]);return n.traverse(i,e)})):t instanceof Array?t.forEach(function(t){return n.traverse(t,e)}):t instanceof Object&&l()(t).forEach(function(t){return n.traverse(t,e)})},simplifySchema:function(t){var e=function(t){return t.anyOf&&t.anyOf.indexOf(!0)>=0?[t,!0]:t.allOf&&t.allOf.indexOf(!1)>=0?[t,!1]:t.allOf&&t.allOf.length?[t,new C.a(t.$step,t.$parent,x.a.apply(void 0,[{}].concat(c()(t.allOf.map(function(t){return t.toJSON()})))))]:!0===t.not?[t,!1]:0===o()(t).filter(function(t){return"$"!==t[0]}).length?[t,!0]:null};return this.traverse(t,function(t){!function t(n){if(n){var r=p()(n,2),i=r[0],a=r[1],o=i.$parent;o&&T()(o.schema,o.path,a),i.$parent=null,t(e(o.schema))}}(e(t))}),t}},computed:{schemas:function(){if(!this.masterSchema)return null;var t={};return this.traverse(this.simplifySchema(this.masterSchema),function(e){t[e.$id]=e}),t}},filters:{stringify:function(t){return i()(t," ",2)},capitalize:function(t,e){return t?(t instanceof Array||(t=[t]),t.map(function(t){return""+t[0].toUpperCase()+t.slice(1)}).join(", ")):""}},components:{card:h.a,prism:j.a,schemaToc:w.a,schemaLink:O.a}}},d4US:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"DataView");t.exports=r},d7EF:function(t,e,n){"use strict";e.__esModule=!0;var r=a(n("us/S")),i=a(n("BO1k"));function a(t){return t&&t.__esModule?t:{default:t}}e.default=function(){return function(t,e){if(Array.isArray(t))return t;if((0,r.default)(Object(t)))return function(t,e){var n=[],r=!0,a=!1,o=void 0;try{for(var s,c=(0,i.default)(t);!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){a=!0,o=t}finally{try{!r&&c.return&&c.return()}finally{if(a)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},dCZQ:function(t,e,n){var r=n("ICSD")(Object,"create");t.exports=r},dFpP:function(t,e,n){var r=n("imBK"),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},dYhQ:function(t,e,n){var r=n("9UkZ");t.exports=function(t){return r(t)?void 0:t}},deUO:function(t,e,n){var r=n("imBK");t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},duB3:function(t,e,n){var r=n("WxI4"),i=n("dFpP"),a=n("JBvZ"),o=n("2Hvv"),s=n("deUO");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},eFps:function(t,e,n){var r,i=n("+gg+"),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!a&&a in t}},eVIm:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__",a=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return n===i?void 0:n}return a.call(e,t)?e[t]:void 0}},f931:function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},fBQ2:function(t,e,n){"use strict";var r=n("evD5"),i=n("X8DO");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},fMqj:function(t,e,n){var r=n("zGZ6"),i=500;t.exports=function(t){var e=r(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}},fZOM:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},fvMW:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[t._t("default"),!0===t.link?[t._v("\n    yes \n  ")]:!1===t.link?[t._v("\n    no \n  ")]:t.isSchema(t.link)?[n("nuxt-link",{attrs:{to:"#p-"+t.link.$id}},[n("span",{domProps:{innerHTML:t._s(t.link.getPath())}})])]:t.link instanceof Array?n("ul",t._l(t.link,function(e){return n("li",{key:e.$id},[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})])],1)})):t.link instanceof Object?n("ul",t._l(t.link,function(e,r){return n("li",[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[t._v("\n        "+t._s(r)+"\n      ")])],1)})):t._e()],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},gGqR:function(t,e,n){var r=n("aCM0"),i=n("yCNF"),a="[object AsyncFunction]",o="[object Function]",s="[object GeneratorFunction]",c="[object Proxy]";t.exports=function(t){if(!i(t))return!1;var e=r(t);return e==o||e==s||e==a||e==c}},gHOb:function(t,e,n){var r=n("d4US"),i=n("POb3"),a=n("bO0Y"),o=n("5N57"),s=n("bIbi"),c=n("aCM0"),u=n("Ai/T"),l="[object Promise]",f="[object WeakMap]",p="[object DataView]",d=u(r),v=u(i),h=u(a),m=u(o),y=u(s),b=c;(r&&b(new r(new ArrayBuffer(1)))!=p||i&&"[object Map]"!=b(new i)||a&&b(a.resolve())!=l||o&&"[object Set]"!=b(new o)||s&&b(new s)!=f)&&(b=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case d:return p;case v:return"[object Map]";case h:return l;case m:return"[object Set]";case y:return f}return e}),t.exports=b},gRE1:function(t,e,n){t.exports={default:n("TmV0"),__esModule:!0}},gSvA:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!0);r(r.S,"Object",{entries:function(t){return i(t)}})},ggOT:function(t,e,n){(function(t){var r=n("TQ3y"),i=n("gwcX"),a="object"==typeof e&&e&&!e.nodeType&&e,o=a&&"object"==typeof t&&t&&!t.nodeType&&t,s=o&&o.exports===a?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(e,n("3IRH")(t))},gwcX:function(t,e){t.exports=function(){return!1}},hIPy:function(t,e,n){var r=n("NGEn"),i=n("6MiT"),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||o.test(t)||!a.test(t)||null!=e&&t in Object(e)}},hrPF:function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},hvFG:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e(this.tag,{tag:"component"},[e("nuxt-link",{attrs:{to:"#p-"+this.schema.$id}},[e("span",{domProps:{innerHTML:this._s(this.schema.$step)}})]),this.schema.properties||this.schema.patternProperties||this.schema.items?e("ul",[this._l(this.schema.properties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this._l(this.schema.patternProperties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this.schema.items?[this.schema.items instanceof Array?this._l(this.schema.items,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}):e("schemaToc",{attrs:{schema:this.schema.items}})]:this._e()],2):this._e()],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},i4ON:function(t,e,n){var r=n("nw3t"),i=n("22B7"),a=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var o=t[e];a.call(t,e)&&i(o,n)&&(void 0!==n||e in t)||r(t,e,n)}},imBK:function(t,e,n){var r=n("22B7");t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},jD7S:function(t,e,n){var r=n("tv3T"),i=n("ktak");t.exports=function(t,e){return t&&r(e,i(e),t)}},jMi8:function(t,e,n){var r=n("O1jc"),i=n("mKB/"),a=n("Ilb/"),o=n("hrPF"),s=n("WQFf"),c=n("1Yb9"),u=n("NGEn"),l=n("Fp5l"),f=n("ggOT"),p=n("gGqR"),d=n("yCNF"),v=n("9UkZ"),h=n("YsVG"),m=n("TlPD");t.exports=function(t,e,n,y,b,_,x){var g=t[n],j=e[n],C=x.get(j);if(C)r(t,n,C);else{var O=_?_(g,j,n+"",t,e,x):void 0,w=void 0===O;if(w){var k=u(j),T=!k&&f(j),P=!k&&!T&&h(j);O=j,k||T||P?u(g)?O=g:l(g)?O=o(g):T?(w=!1,O=i(j,!0)):P?(w=!1,O=a(j,!0)):O=[]:v(j)||c(j)?(O=g,c(g)?O=m(g):(!d(g)||y&&p(g))&&(O=s(j))):w=!1}w&&(x.set(j,O),b(O,j,y,_,x),x.delete(j)),r(t,n,O)}}},jhkR:function(t,e,n){"use strict";var r=n("lOo0");e.a={props:{link:{required:!0}},methods:{isSchema:function(t){return t instanceof r.a}}}},ktak:function(t,e,n){var r=n("7e4z"),i=n("/GnY"),a=n("bGc4");t.exports=function(t){return a(t)?r(t):i(t)}},l9Lx:function(t,e,n){var r=n("lb6C"),i=n("C0hh"),a=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,s=o?function(t){return null==t?[]:(t=Object(t),r(o(t),function(e){return a.call(t,e)}))}:i;t.exports=s},lOo0:function(t,e,n){"use strict";var r=n("woOf"),i=n.n(r),a=n("d7EF"),o=n.n(a),s=n("W3Iv"),c=n.n(s),u=n("Zrlr"),l=n.n(u),f=n("wxAW"),p=n.n(f),d=n("bklM"),v=n.n(d),h=n("rVUV"),m=n.n(h),y=n("Dc7M"),b=n.n(y),_=function(){function t(e,n,r){l()(this,t),this.$id=t.idx++,this.$step=e+"&#8203",this.$parent=n,r&&this.parseFrom(r)}return p()(t,[{key:"toJSON",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;return m()(n,function(n,r,i,a){if(n instanceof t)return c()(n).filter(function(t){var e=o()(t,2),n=e[0];e[1];return["$id","$step","$parent"].indexOf(n)<0}).reduce(function(t,n){var r=o()(n,2),i=r[0],a=r[1];return t[i]=e.toJSON(a),t},{})})}},{key:"getPath",value:function(){var t="";return this.$parent&&(t+=this.$parent.schema.getPath(),"object"===this.$parent.schema.type&&(t+=".")),t+=this.$step,this.getPath=function(){return t},t}},{key:"parseFrom",value:function(e){var n=this;return!0===e?e={}:!1===e&&(e={not:!0}),i()(this,b()(v()(e),["$step","$id","$parent","items","properties","patternProperties","additionalItems","additionalProperties","contains","propertyNames","not","allOf","anyOf","oneOf"])),e.items&&(e.items instanceof Array?this.items=e.items.map(function(r,i){return new t("["+i+"]",{schema:n,path:"items["+i+"]"},e.items[i])}):this.items=new t("[*]",{schema:this,path:"items"},e.items)),["properties","patternProperties"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return c()(e[r]).forEach(function(e,i){var a=o()(e,2),s=a[0],c=a[1];n[r]=n[r]||{},n[r][s]=new t("patternProperties"===r?"&lt;field&gt;":s,{schema:n,path:r+'["'+s+'"]'},c)})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){n[r]=new t("+",{schema:n,path:r},e[r])}),["allOf","anyOf","oneOf"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return e[r].forEach(function(e,i){n[r]=n[r]||[],n[r].push(new t("("+i+")"+("anyOf"===r?"?":"+"),{schema:n,path:r+"["+i+"]"},e))})}),this}}]),t}();_.idx=0,e.a=_},lb6C:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[i++]=o)}return a}},"mKB/":function(t,e,n){(function(t){var r=n("TQ3y"),i="object"==typeof e&&e&&!e.nodeType&&e,a=i&&"object"==typeof t&&t&&!t.nodeType&&t,o=a&&a.exports===i?r.Buffer:void 0,s=o?o.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}}).call(e,n("3IRH")(t))},mQxp:function(t,e,n){"use strict";var r=n("Gs0Q"),i=n("hvFG"),a=!1;var o=function(t){a||n("AxiT")},s=n("VU/8")(r.a,i.a,!1,o,null,null);s.options.__file="components\\schemaToc.vue",e.a=s.exports},mTAn:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},mbce:function(t,e,n){var r=n("lktj"),i=n("TcQ7"),a=n("NpIQ").f;t.exports=function(t){return function(e){for(var n,o=i(e),s=r(o),c=s.length,u=0,l=[];c>u;)a.call(o,n=s[u++])&&l.push(t?[n,o[n]]:o[n]);return l}}},mgnk:function(t,e,n){var r=n("aCM0"),i=n("UnEC"),a="[object Arguments]";t.exports=function(t){return i(t)&&r(t)==a}},nWuj:function(t,e){t.exports=function(t,e){return t.add(e),t}},nw3t:function(t,e,n){var r=n("p0bc");t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},o2mx:function(t,e,n){var r=n("NkRn"),i=n("Hxdr"),a=n("NGEn"),o=n("6MiT"),s=1/0,c=r?r.prototype:void 0,u=c?c.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(a(e))return i(e,t)+"";if(o(e))return u?u.call(e):"";var n=e+"";return"0"==n&&1/e==-s?"-0":n}},octw:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}},oqL2:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},p0bc:function(t,e,n){var r=n("ICSD"),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},pTUa:function(t,e,n){var r=n("/I3N");t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},py9u:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t,e){return t&&r(e,i(e),t)}},qwTf:function(t,e,n){var r=n("TQ3y").Uint8Array;t.exports=r},qyJz:function(t,e,n){"use strict";var r=n("+ZMJ"),i=n("kM2E"),a=n("sB3e"),o=n("msXi"),s=n("Mhyx"),c=n("QRG4"),u=n("fBQ2"),l=n("3fs2");i(i.S+i.F*!n("dY0y")(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,f,p=a(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,y=0,b=l(p);if(m&&(h=r(h,v>2?arguments[2]:void 0,2)),void 0==b||d==Array&&s(b))for(n=new d(e=c(p.length));e>y;y++)u(n,y,m?h(p[y],y):p[y]);else for(f=b.call(p),n=new d;!(i=f.next()).done;y++)u(n,y,m?o(f,h,[i.value,y],!0):i.value);return n.length=y,n}})},rCVp:function(t,e,n){var r=n("1C79");t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},rVUV:function(t,e,n){var r=n("Fkvj"),i=1,a=4;t.exports=function(t,e){return r(t,i|a,e="function"==typeof e?e:void 0)}},rpnb:function(t,e,n){var r=n("tHks")();t.exports=r},s8mu:function(t,e,n){"use strict";var r=n("cER1"),i=n("D9sP"),a=!1;var o=function(t){a||n("A51D")},s=n("VU/8")(r.a,i.a,!1,o,null,null);s.options.__file="components\\schemaDetail.vue",e.a=s.exports},t8rQ:function(t,e,n){var r=n("7e4z"),i=n("G0Wc"),a=n("bGc4");t.exports=function(t){return a(t)?r(t,!0):i(t)}},tHks:function(t,e){t.exports=function(t){return function(e,n,r){for(var i=-1,a=Object(e),o=r(e),s=o.length;s--;){var c=o[t?s:++i];if(!1===n(a[c],c,a))break}return e}}},tv3T:function(t,e,n){var r=n("i4ON"),i=n("nw3t");t.exports=function(t,e,n,a){var o=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=a?a(n[u],t[u],u,n,t):void 0;void 0===l&&(l=t[u]),o?i(n,u,l):r(n,u,l)}return n}},uCi2:function(t,e,n){var r=n("bIjD"),i=n("Ubhr");t.exports=function(t,e){for(var n=0,a=(e=r(e,t)).length;null!=t&&n<a;)t=t[i(e[n++])];return n&&n==a?t:void 0}},uIr7:function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},uLhX:function(t,e,n){var r=n("NkRn"),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=a.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=o.call(t);return r&&(e?t[s]=n:delete t[s]),i}},"ue/d":function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},uieL:function(t,e){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},"us/S":function(t,e,n){t.exports={default:n("Xd32"),__esModule:!0}},v8Dt:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).get(t)}},vi0E:function(t,e,n){var r=n("f931")(Object.getPrototypeOf,Object);t.exports=r},wEtr:function(t,e,n){n("gSvA"),t.exports=n("FeBl").Object.entries},wSKX:function(t,e){t.exports=function(t){return t}},wxAW:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("C4MV"),a=(r=i)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,a.default)(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()},xond:function(t,e,n){var r=n("FCuZ"),i=n("09Qt"),a=n("t8rQ");t.exports=function(t){return r(t,a,i)}},yCNF:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},z4hc:function(t,e,n){var r=n("aCM0"),i=n("Rh28"),a=n("UnEC"),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,t.exports=function(t){return a(t)&&i(t.length)&&!!o[r(t)]}},zBOP:function(t,e,n){var r=n("22B7"),i=n("bGc4"),a=n("ZGh9"),o=n("yCNF");t.exports=function(t,e,n){if(!o(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&a(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},zGZ6:function(t,e,n){var r=n("YeCl"),i="Expected a function";function a(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(i);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(a.Cache||r),n}a.Cache=r,t.exports=a},zpVT:function(t,e,n){var r=n("duB3"),i=n("POb3"),a=n("YeCl"),o=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<o-1)return s.push([t,e]),this.size=++n.size,this;n=this.__data__=new a(s)}return n.set(t,e),this.size=n.size,this}}});
\ No newline at end of file
diff --git a/files/pages_specification_v3_measurement-message.aa811e804d20a52a29ae.js b/files/pages_specification_v3_measurement-message.aa811e804d20a52a29ae.js
deleted file mode 100644
index 77795da..0000000
--- a/files/pages_specification_v3_measurement-message.aa811e804d20a52a29ae.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([1],{"+66z":function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},"+99L":function(t,e,n){var r={"./v2/measurement_schema.json":["oGp6",23],"./v2/message_schema.json":["2BTs",22],"./v2/process_schema.json":["rRyJ",21],"./v3/measurement_schema.json":["PpY5",20],"./v3/message_schema.json":["1SJ2",19],"./v3/process_schema.json":["uwRd",18]};function i(t){var e=r[t];return e?n.e(e[1]).then(function(){return n(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(r)},i.id="+99L",t.exports=i},"+gg+":function(t,e,n){var r=n("TQ3y")["__core-js_shared__"];t.exports=r},"/GnY":function(t,e,n){var r=n("HT7L"),i=n("W529"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},"/I3N":function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},"037f":function(t,e,n){var r=n("1oyr"),i=n("p0bc"),o=n("wSKX"),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:o;t.exports=a},"09Qt":function(t,e,n){var r=n("uIr7"),i=n("vi0E"),o=n("l9Lx"),a=n("C0hh"),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,o(t)),t=i(t);return e}:a;t.exports=s},"0DSl":function(t,e,n){var r=n("YkxI"),i=n("zBOP");t.exports=function(t){return r(function(e,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++r<o;){var c=n[r];c&&t(e,c,r,a)}return e})}},"0uX4":function(t,e,n){var r=n("NkRn"),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},"1C79":function(t,e,n){var r=n("uIr7"),i=n("Qp3N");t.exports=function t(e,n,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c<u;){var l=e[c];n>0&&o(l)?n>1?t(l,n-1,o,a,s):r(s,l):a||(s[s.length]=l)}return s}},"1QDk":function(t,e,n){var r=n("tv3T"),i=n("09Qt");t.exports=function(t,e){return r(t,i(t),e)}},"1Yb9":function(t,e,n){var r=n("mgnk"),i=n("UnEC"),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"1oyr":function(t,e){t.exports=function(t){return function(){return t}}},"22B7":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"2Hvv":function(t,e,n){var r=n("imBK");t.exports=function(t){return r(this.__data__,t)>-1}},"2N6f":function(t,e,n){var r=n("rCVp"),i=n("Q2wK"),o=n("WHce");t.exports=function(t){return o(i(t,void 0,r),t+"")}},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3rZI":function(t,e){t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}},"4yG7":function(t,e,n){var r=n("HAGj");t.exports=function(t,e,n){return null==t?t:r(t,e,n)}},"5/Qr":function(t,e,n){var r=n("Kzd6"),i=n("6Git"),o=n("Jqj6"),a=n("WyC4"),s=n("7jYp"),c=n("0uX4"),u=n("Ilb/"),l="[object Boolean]",f="[object Date]",p="[object Map]",d="[object Number]",v="[object RegExp]",h="[object Set]",m="[object String]",y="[object Symbol]",b="[object ArrayBuffer]",_="[object DataView]",x="[object Float32Array]",g="[object Float64Array]",j="[object Int8Array]",C="[object Int16Array]",O="[object Int32Array]",w="[object Uint8Array]",k="[object Uint8ClampedArray]",T="[object Uint16Array]",P="[object Uint32Array]";t.exports=function(t,e,n,A){var E=t.constructor;switch(e){case b:return r(t);case l:case f:return new E(+t);case _:return i(t,A);case x:case g:case j:case C:case O:case w:case k:case T:case P:return u(t,A);case p:return o(t,A,n);case d:case m:return new E(t);case v:return a(t);case h:return s(t,A,n);case y:return c(t)}}},"5N57":function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Set");t.exports=r},"5PlU":function(t,e,n){var r=n("RY/4"),i=n("dSzd")("iterator"),o=n("/bQp");t.exports=n("FeBl").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},"5pwE":function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"5zde":function(t,e,n){n("zQR9"),n("qyJz"),t.exports=n("FeBl").Array.from},"6Git":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},"6MiT":function(t,e,n){var r=n("aCM0"),i=n("UnEC"),o="[object Symbol]";t.exports=function(t){return"symbol"==typeof t||i(t)&&r(t)==o}},"77aO":function(t,e,n){"use strict";e.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(t){this.expanded=!t}},methods:{beforeenter:function(t){this.transitioning=!0,t.style.height=0},enter:function(t){t.style.height=t.scrollHeight+"px"},afterenter:function(t){t.style.height="",this.transitioning=!1},beforeleave:function(t){this.transitioning=!0,t.style.height=t.offsetHeight+"px",t.offsetHeight},leave:function(t){t.style.height=0,t.offsetHeight},afterleave:function(t){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},"7e4z":function(t,e,n){var r=n("uieL"),i=n("1Yb9"),o=n("NGEn"),a=n("ggOT"),s=n("ZGh9"),c=n("YsVG"),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),f=!n&&!l&&a(t),p=!n&&!l&&!f&&c(t),d=n||l||f||p,v=d?r(t.length,String):[],h=v.length;for(var m in t)!e&&!u.call(t,m)||d&&("length"==m||f&&("offset"==m||"parent"==m)||p&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,h))||v.push(m);return v}},"7jYp":function(t,e,n){var r=n("nWuj"),i=n("3rZI"),o=n("octw"),a=1;t.exports=function(t,e,n){var s=e?n(o(t),a):o(t);return i(s,r,new t.constructor)}},"8AZL":function(t,e){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},"8gK5":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},"94sX":function(t,e,n){var r=n("dCZQ");t.exports=function(){this.__data__=r?r(null):{},this.size=0}},"9UkZ":function(t,e,n){var r=n("aCM0"),i=n("vi0E"),o=n("UnEC"),a="[object Object]",s=Function.prototype,c=Object.prototype,u=s.toString,l=c.hasOwnProperty,f=u.call(Object);t.exports=function(t){if(!o(t)||r(t)!=a)return!1;var e=i(t);if(null===e)return!0;var n=l.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==f}},"9q7h":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("NVRb"),i=n("Uu0y"),o=n("VU/8")(r.a,i.a,!1,null,null,null);o.options.__file="pages\\specification\\v3\\measurement-message.vue",e.default=o.exports},A51D:function(t,e,n){var r=n("5pwE");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("188b52d2",r,!1)},A9mX:function(t,e,n){var r=n("pTUa");t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},"Ai/T":function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},AxiT:function(t,e,n){var r=n("Lw7C");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("0868896c",r,!1)},C0hh:function(t,e){t.exports=function(){return[]}},CW5P:function(t,e,n){var r=n("T/bE"),i=n("duB3"),o=n("POb3");t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},Cf65:function(t,e,n){var r=n("uCi2"),i=n("M1c9");t.exports=function(t,e){return e.length<2?t:r(t,i(e,0,-1))}},D9sP:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"schemaDetail",class:{"is-loading":t.loading},attrs:{id:"schema-detail"}},[n("div",{staticClass:"accordion"},[null!==t.masterSchema?n("card",{attrs:{collapsed:!0}},[n("template",{slot:"header"},[t._v("\n        Structure of the payload\n      ")]),n("ul",t._l(t.masterSchema.properties,function(t,e){return n("schemaToc",{key:e,attrs:{schema:t}})}))],2):t._e(),t._t("default")],2),n("h1",[n("a",{attrs:{id:t.type+"-schema-detail",title:t.type+" Fields definition"}}),t._v("\n    Fields definition\n  ")]),t._l(t.schemas,function(e){return n("div",{key:e.$id,staticClass:"card property"},[n("header",{staticClass:"card-header"},[n("a",{attrs:{id:"p-"+e.$id}}),n("p",{staticClass:"card-header-title"},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})]),n("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa fa-angle-up"})])])],1),n("div",{staticClass:"card-content"},[e.description||e.type?n("div",{staticClass:"field is-horizontal"},[t._m(0,!0),e.description?n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.description)+"\n        ")]):e.type?n("div",{staticClass:"field-body"},[t._v("\n          A simple "+t._s(t._f("capitalize")(e.type))+"\n        ")]):t._e()]):t._e(),e.$parent?n("div",{staticClass:"field is-horizontal"},[t._m(1,!0),n("div",{staticClass:"field-body"},[n("nuxt-link",{attrs:{to:"#p-"+e.$parent.schema.$id}},[n("span",{domProps:{innerHTML:t._s(e.$parent.schema.getPath())}})])],1)]):t._e(),e.type?n("div",{staticClass:"field is-horizontal"},[t._m(2,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(t._f("capitalize")(e.type,e))+"\n        ")])]):t._e(),e.format?n("div",{staticClass:"field is-horizontal"},[t._m(3,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.format)+"\n          "),t.$static.formats[e.format]?n("a",{attrs:{href:t.$static.formats[e.format].link}},[t._v(" ("+t._s(t.$static.formats[e.format].name)+")")]):t._e()])]):t._e(),e.enum&&e.enum.length?n("div",{staticClass:"field is-horizontal"},[t._m(4,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.enum.join(", "))+"\n          ")])])]):t._e(),e.hasOwnProperty("default")?n("div",{staticClass:"field is-horizontal"},[t._m(5,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.default)+"\n          ")])])]):t._e(),e.maxLength?n("div",{staticClass:"field is-horizontal"},[t._m(6,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.maxLength)+"\n          ")])])]):t._e(),e.properties||e.patternProperties||e.items?n("div",{staticClass:"field is-horizontal"},[t._m(7,!0),n("div",{staticClass:"field-body"},[Object.keys(e.properties||{}).length>0?n("schemaLink",{attrs:{link:e.properties}}):t._e(),Object.keys(e.patternProperties||{}).length>0?n("schemaLink",{attrs:{link:e.patternProperties}},[n("div",[t._v("Matching regular expressions:")])]):t._e(),!e.items||e.items instanceof Array?e.items?n("schemaLink",{attrs:{link:e.items}},[n("div",[t._v("Ordered items of type:")])]):t._e():n("schemaLink",{attrs:{link:e.items}}),Object.keys(e.properties||{}).length+Object.keys(e.patternProperties||{}).length!==0||e.items?t._e():[t._v("none")]],2)]):t._e(),e.minProperties?n("div",{staticClass:"field is-horizontal"},[t._m(8,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minProperties)+"\n          ")])])]):t._e(),e.minItems?n("div",{staticClass:"field is-horizontal"},[t._m(9,!0),n("div",{staticClass:"field-body"},[n("div",[t._v("\n            "+t._s(e.minItems)+"\n          ")])])]):t._e(),e.hasOwnProperty("additionalProperties")?n("div",{staticClass:"field is-horizontal"},[t._m(10,!0),"boolean"==typeof e.additionalProperties?n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}}):n("div",{staticClass:"field-body"},[t._v("\n          if fulfilling "),n("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}})],1)],1):t._e(),e.not||e.oneOf||e.allOf||e.anyOf?n("div",{staticClass:"field is-horizontal"},[t._m(11,!0),n("div",{staticClass:"field-body"},[e.not?n("schemaLink",{attrs:{link:e.not}},[t._v("\n            Not fulfilling \n          ")]):t._e(),e.oneOf?n("schemaLink",{attrs:{link:e.oneOf}},[n("div",[t._v("Fulfilling exactly one of:")])]):t._e(),e.allOf?n("schemaLink",{attrs:{link:e.allOf}},[n("div",[t._v("Fulfilling all of:")])]):t._e(),e.anyOf?n("schemaLink",{attrs:{link:e.anyOf}},[n("div",[t._v("Fulfilling one of:")])]):t._e()],1)]):t._e(),e.required&&e.required.length?n("div",{staticClass:"field is-horizontal"},[t._m(12,!0),n("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.required.join(", "))+"\n        ")])]):t._e(),e.examples?n("div",{staticClass:"field is-horizontal"},[t._m(13,!0),n("div",{staticClass:"field-body"},t._l(e.examples,function(e,r){return n("prism",{key:r,attrs:{language:"json"}},[t._v(t._s(t._f("stringify")(e)))])}))]):t._e()])])})],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Description:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Type:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Format:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Example:")])])}]};e.a=i},Dc0G:function(t,e,n){(function(t){var r=n("blYT"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s}).call(e,n("3IRH")(t))},Dc7M:function(t,e,n){var r=n("Hxdr"),i=n("Fkvj"),o=n("Vi3P"),a=n("bIjD"),s=n("tv3T"),c=n("dYhQ"),u=n("2N6f"),l=n("xond"),f=u(function(t,e){var n={};if(null==t)return n;var u=!1;e=r(e,function(e){return e=a(e,t),u||(u=e.length>1),e}),s(t,l(t),n),u&&(n=i(n,7,c));for(var f=e.length;f--;)o(n,e[f]);return n});t.exports=f},Dv2r:function(t,e,n){var r=n("pTUa");t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},E4Hj:function(t,e){t.exports=function(t){return this.__data__.get(t)}},FCuZ:function(t,e,n){var r=n("uIr7"),i=n("NGEn");t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))}},Fkvj:function(t,e,n){var r=n("bJWQ"),i=n("PqYH"),o=n("i4ON"),a=n("jD7S"),s=n("py9u"),c=n("mKB/"),u=n("hrPF"),l=n("Nkkh"),f=n("1QDk"),p=n("MoMe"),d=n("xond"),v=n("gHOb"),h=n("UfSK"),m=n("5/Qr"),y=n("WQFf"),b=n("NGEn"),_=n("ggOT"),x=n("yCNF"),g=n("ktak"),j=1,C=2,O=4,w="[object Arguments]",k="[object Function]",T="[object GeneratorFunction]",P="[object Object]",A={};A[w]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[P]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[k]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,E,S,$,M){var I,F=n&j,D=n&C,z=n&O;if(E&&(I=$?E(e,S,$,M):E(e)),void 0!==I)return I;if(!x(e))return e;var N=b(e);if(N){if(I=h(e),!F)return u(e,I)}else{var U=v(e),Q=U==k||U==T;if(_(e))return c(e,F);if(U==P||U==w||Q&&!$){if(I=D||Q?{}:y(e),!F)return D?f(e,s(I,e)):l(e,a(I,e))}else{if(!A[U])return $?e:{};I=m(e,U,t,F)}}M||(M=new r);var G=M.get(e);if(G)return G;M.set(e,I);var H=z?D?d:p:D?keysIn:g,R=N?void 0:H(e);return i(R||e,function(r,i){R&&(r=e[i=r]),o(I,i,t(r,n,E,i,e,M))}),I}},Fp5l:function(t,e,n){var r=n("bGc4"),i=n("UnEC");t.exports=function(t){return i(t)&&r(t)}},G0Wc:function(t,e,n){var r=n("yCNF"),i=n("HT7L"),o=n("8gK5"),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},G2xm:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Gs0Q:function(t,e,n){"use strict";e.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schema:{type:Object,required:!0}}}},Gu7T:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("c/Tr"),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return(0,o.default)(t)}},HAGj:function(t,e,n){var r=n("i4ON"),i=n("bIjD"),o=n("ZGh9"),a=n("yCNF"),s=n("Ubhr");t.exports=function(t,e,n,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,f=l-1,p=t;null!=p&&++u<l;){var d=s(e[u]),v=n;if(u!=f){var h=p[d];void 0===(v=c?c(h,d,p):void 0)&&(v=a(h)?h:o(e[u+1])?[]:{})}r(p,d,v),p=p[d]}return t}},HN2V:function(t,e,n){var r=n("HbnZ"),i=n("0DSl")(function(t,e,n){r(t,e,n)});t.exports=i},HT7L:function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},HbnZ:function(t,e,n){var r=n("bJWQ"),i=n("O1jc"),o=n("rpnb"),a=n("jMi8"),s=n("yCNF"),c=n("t8rQ");t.exports=function t(e,n,u,l,f){e!==n&&o(n,function(o,c){if(s(o))f||(f=new r),a(e,n,c,u,t,l,f);else{var p=l?l(e[c],o,c+"",e,n,f):void 0;void 0===p&&(p=o),i(e,c,p)}},c)}},Hxdr:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},ICSD:function(t,e,n){var r=n("ITwD"),i=n("mTAn");t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},ITwD:function(t,e,n){var r=n("gGqR"),i=n("eFps"),o=n("yCNF"),a=n("Ai/T"),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,f=u.hasOwnProperty,p=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?p:s).test(a(t))}},"Ilb/":function(t,e,n){var r=n("Kzd6");t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},JBvZ:function(t,e,n){var r=n("imBK");t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},Jqj6:function(t,e,n){var r=n("U7Aq"),i=n("3rZI"),o=n("WFiI"),a=1;t.exports=function(t,e,n){var s=e?n(o(t),a):o(t);return i(s,r,new t.constructor)}},KmWZ:function(t,e,n){var r=n("duB3");t.exports=function(){this.__data__=new r,this.size=0}},Kzd6:function(t,e,n){var r=n("qwTf");t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},LJry:function(t,e,n){"use strict";var r={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(t,e){var n=e.props.code||e.children[0].text,r=e.props.language,i=Prism.languages[r],o="language-"+r;return t("pre",function(t){for(var e=arguments,n=1;n<arguments.length;n++)for(var r in arguments[n])t[r]=e[n][r];return t}({},e.data,{class:[e.data.class,o]}),[t("code",{class:o,domProps:{innerHTML:Prism.highlight(n,i)}})])}};t.exports=r},Lw7C:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},M1c9:function(t,e){t.exports=function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}},MoMe:function(t,e,n){var r=n("FCuZ"),i=n("l9Lx"),o=n("ktak");t.exports=function(t){return r(t,o,i)}},NGEn:function(t,e){var n=Array.isArray;t.exports=n},NVRb:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),o=n("d7EF"),a=n.n(o),s=n("Dd8w"),c=n.n(s),u=n("W3Iv"),l=n.n(u),f=n("LJry"),p=n.n(f),d=n("T9Hf"),v=n("Q7hp"),h=n.n(v),m=n("s8mu");e.a={head:function(){return{title:"Specification for measurement messages"}},created:function(){var t=this,e=new Date,n="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v3",device:{id:n},measurements:[{ts:e.toISOString(),series:{time:[0,23,24],temperature:[45.4231,46.4222,44.2432]}}]},complexMessage:{"content-spec":"urn:spec://eclipse.org/unide/measurement-message#v3",device:{id:n,mode:"maintenance",state:"WARN",swVersion:"2.0.3.13",swBuildID:"41535"},part:{code:"HUH289",id:"420003844",type:"BATCH",typeId:"F00VH07328",result:"OK",lotID:"845849",toolID:"32324-432143"},measurements:[{code:"190ABT",context:{temperature:{accuracy:[.112,.115,.129],limits:{lowerError:-2,lowerWarn:-1,target:1.21,upperError:5,upperWarn:1.5},offset:37,unit:"Cel"}},result:"OK",series:{time:[0,23,24],temperature:[.4231,2.4222,4.2432]},ts:e.toISOString()},{context:{scanData:{type:"BASE64"}},series:{time:[0,130,2633],pressure:[52.4,46.32,44.2432],scanData:["Zm9vCg==","YmFyCg==","Y2hlZXNlCg=="]},ts:new Date(e.valueOf()-5e3).toISOString()}]}},this.$static.examples=l()(c()({},["content-spec","device","device.id","device.mode","device.state","part","part.code","part.id","part.result","part.type","part.typeId","measurements","measurements[0].code","measurements[0].context","measurements[0].result","measurements[0].series","measurements[0].ts","part","part.code","part.id","part.typeId","part.result"].reduce(function(t,e){return t[e.replace(/(^|\.)/g,"$1properties.").replace(/\[[^]]*]/g,".items")]=e,t},{'properties.measurements.items.properties.context.patternProperties["^[^$]+"]':"measurements[0].context.temperature",'properties.measurements.items.properties.series.patternProperties["^[^$]+"]':"measurements[0].series.temperature"}),["accuracy","limits","offset","unit"].reduce(function(t,e){return t['properties.measurements.items.properties.context.patternProperties["^[^$]+"].properties.'+e]="measurements[0].context.temperature."+e,t},{}),["lowerError","lowerWarn","target","upperError","upperWarn"].reduce(function(t,e){return t['properties.measurements.items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[0].properties.'+e]="measurements[0].context.temperature.limits."+e,t},{}))).reduce(function(e,n){var r=a()(n,2),i=r[0],o=r[1],s=h()(t.$static.message,o)||h()(t.$static.complexMessage,o);return s?e[i]=[s]:console.error('no example provided in measurement-message for:\n"'+i+'": "'+o+'"'),e},{})},filters:{stringify:function(t){return i()(t," ",2)}},components:{card:d.a,prism:p.a,schemaDetail:m.a}}},NVTU:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"card collapsibleCard",class:{collapsed:!t.expanded}},[t.$slots.header?n("header",{staticClass:"card-header",on:{click:function(e){e.preventDefault(),t.toggle()}}},[n("p",{staticClass:"card-header-title"},[!t.$slots.headerCollapsed||t.expanded?t._t("header"):t._t("headerCollapsed")],2),n("a",{staticClass:"card-header-icon"},[n("span",{staticClass:"icon"},[n("i",{staticClass:"fa",class:{"fa-angle-down":t.expanded,"fa-angle-up":!t.expanded}})])])]):t._e(),n("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":t.beforeleave,leave:t.leave,"after-leave":t.afterleave,"before-enter":t.beforeenter,enter:t.enter,"after-enter":t.afterenter}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}]},[n("div",{staticClass:"card-content"},[t._t("default")],2)])])],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},NkRn:function(t,e,n){var r=n("TQ3y").Symbol;t.exports=r},Nkkh:function(t,e,n){var r=n("tv3T"),i=n("l9Lx");t.exports=function(t,e){return r(t,i(t),e)}},NqZt:function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},O1jc:function(t,e,n){var r=n("nw3t"),i=n("22B7");t.exports=function(t,e,n){(void 0===n||i(t[e],n))&&(void 0!==n||e in t)||r(t,e,n)}},POb3:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Map");t.exports=r},PqYH:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}},Q2wK:function(t,e,n){var r=n("8AZL"),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a<s;)c[a]=o[e+a];a=-1;for(var u=Array(e+1);++a<e;)u[a]=o[a];return u[e]=n(c),r(t,this,u)}}},Q7hp:function(t,e,n){var r=n("uCi2");t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},Qp3N:function(t,e,n){var r=n("NkRn"),i=n("1Yb9"),o=n("NGEn"),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},RGrk:function(t,e,n){var r=n("dCZQ"),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},Rh28:function(t,e){var n=9007199254740991;t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=n}},S7p9:function(t,e){t.exports=function(t){return function(e){return t(e)}}},"T/bE":function(t,e,n){var r=n("94sX"),i=n("ue/d"),o=n("eVIm"),a=n("RGrk"),s=n("Z2pD");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},T9Hf:function(t,e,n){"use strict";var r=n("77aO"),i=n("NVTU"),o=!1;var a=function(t){o||n("WVEp")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\collapsibleCard.vue",e.a=s.exports},TQ3y:function(t,e,n){var r=n("blYT"),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},TlPD:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t){return r(t,i(t))}},TmV0:function(t,e,n){n("fZOM"),t.exports=n("FeBl").Object.values},U7Aq:function(t,e){t.exports=function(t,e){return t.set(e[0],e[1]),t}},Ubhr:function(t,e,n){var r=n("6MiT"),i=1/0;t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},UfSK:function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,r=t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},UnEC:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},UnLw:function(t,e,n){var r=/^\./,i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=n("fMqj")(function(t){var e=[];return r.test(t)&&e.push(""),t.replace(i,function(t,n,r,i){e.push(r?i.replace(o,"$1"):n||t)}),e});t.exports=a},Uu0y:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"measurement-message content"},[this._m(0),e("p",[this._v("The measurement message is the format to exchange simple (non-structured, non-complex ) measurement data. It also allows to transport multiple measurement data (eg. values over time), called 'series'.")]),e("img",{staticClass:"is-centered",attrs:{src:"images/specification/v3/measurementPayload.svg",alt:"Class diagram of the Measurement Message payload",title:"Class diagram of the Measurement Message payload"}}),e("schemaDetail",{attrs:{type:"v3/measurement",examples:this.$static.examples}},[e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Minimal message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Multiple message example\n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.complexMessage)))])],2)],1)],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",[e("a",{attrs:{id:"Measurement-Payload",title:"Measurement Message payload"}}),this._v("\n    Measurement Payload\n  ")])}]};e.a=i},VORN:function(t,e,n){var r=n("yCNF"),i=Object.create,o=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=o},Vi3P:function(t,e,n){var r=n("bIjD"),i=n("oqL2"),o=n("Cf65"),a=n("Ubhr");t.exports=function(t,e){return e=r(e,t),null==(t=o(t,e))||delete t[a(i(e))]}},W3Iv:function(t,e,n){t.exports={default:n("wEtr"),__esModule:!0}},W529:function(t,e,n){var r=n("f931")(Object.keys,Object);t.exports=r},WFiI:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}},WHce:function(t,e,n){var r=n("037f"),i=n("Zk5a")(r);t.exports=i},WQFf:function(t,e,n){var r=n("VORN"),i=n("vi0E"),o=n("HT7L");t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:r(i(t))}},WVEp:function(t,e,n){var r=n("a3hs");"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n("rjj0")("52cedc5e",r,!1)},WxI4:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},WyC4:function(t,e){var n=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}},Xd32:function(t,e,n){n("+tPU"),n("zQR9"),t.exports=n("5PlU")},YeCl:function(t,e,n){var r=n("CW5P"),i=n("A9mX"),o=n("v8Dt"),a=n("agim"),s=n("Dv2r");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},YkxI:function(t,e,n){var r=n("wSKX"),i=n("Q2wK"),o=n("WHce");t.exports=function(t,e){return o(i(t,e,r),t+"")}},YsVG:function(t,e,n){var r=n("z4hc"),i=n("S7p9"),o=n("Dc0G"),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s},Z2pD:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__";t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?i:e,this}},ZGh9:function(t,e){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){return!!(e=null==e?n:e)&&("number"==typeof t||r.test(t))&&t>-1&&t%1==0&&t<e}},ZT2e:function(t,e,n){var r=n("o2mx");t.exports=function(t){return null==t?"":r(t)}},Zk5a:function(t,e){var n=800,r=16,i=Date.now;t.exports=function(t){var e=0,o=0;return function(){var a=i(),s=r-(a-o);if(o=a,s>0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},Zrlr:function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},a3hs:function(t,e,n){(t.exports=n("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},aCM0:function(t,e,n){var r=n("NkRn"),i=n("uLhX"),o=n("+66z"),a="[object Null]",s="[object Undefined]",c=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:a:c&&c in Object(t)?i(t):o(t)}},agim:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).has(t)}},bGc4:function(t,e,n){var r=n("gGqR"),i=n("Rh28");t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},bIbi:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"WeakMap");t.exports=r},bIjD:function(t,e,n){var r=n("NGEn"),i=n("hIPy"),o=n("UnLw"),a=n("ZT2e");t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:o(a(t))}},bJWQ:function(t,e,n){var r=n("duB3"),i=n("KmWZ"),o=n("NqZt"),a=n("E4Hj"),s=n("G2xm"),c=n("zpVT");function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},bO0Y:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"Promise");t.exports=r},"bXX+":function(t,e,n){"use strict";var r=n("jhkR"),i=n("fvMW"),o=n("VU/8")(r.a,i.a,!1,null,null,null);o.options.__file="components\\schemaLink.vue",e.a=o.exports},bklM:function(t,e,n){var r=n("Fkvj"),i=1,o=4;t.exports=function(t){return r(t,i|o)}},blYT:function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(e,n("DuR2"))},"c/Tr":function(t,e,n){t.exports={default:n("5zde"),__esModule:!0}},cER1:function(t,e,n){"use strict";var r=n("mvHQ"),i=n.n(r),o=n("fZjL"),a=n.n(o),s=n("Gu7T"),c=n.n(s),u=n("gRE1"),l=n.n(u),f=n("d7EF"),p=n.n(f),d=n("W3Iv"),v=n.n(d),h=n("T9Hf"),m=n("rVUV"),y=(n.n(m),n("Q7hp")),b=n.n(y),_=n("HN2V"),x=n.n(_),g=n("LJry"),j=n.n(g),C=n("lOo0"),O=n("bXX+"),w=n("mQxp"),k=n("4yG7"),T=n.n(k);e.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{masterSchema:null,loading:!0}},created:function(){var t=this,e={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};n("+99L")("./"+this.type+"_schema.json").then(function(e){return t.masterSchema=new C.a("$",null,e),v()(t.examples).forEach(function(e){var n=p()(e,2),r=n[0],i=n[1];b()(t.masterSchema,r)?T()(t.masterSchema,r+".examples",i):console.error("schema path not found in "+t.type+": "+r)}),t.loading=!1,e}).catch(function(t){throw t}),this.$static={formats:{"date-time":e.date,date:e.date,time:e.date,email:e.email}}},methods:{traverse:function(t,e){var n=this;t instanceof C.a?(e(t),v()(t).filter(function(t){var e=p()(t,2),n=e[0];e[1];return"$parent"!==n}).forEach(function(t){var r=p()(t,2),i=(r[0],r[1]);return n.traverse(i,e)})):t instanceof Array?t.forEach(function(t){return n.traverse(t,e)}):t instanceof Object&&l()(t).forEach(function(t){return n.traverse(t,e)})},simplifySchema:function(t){var e=function(t){return t.anyOf&&t.anyOf.indexOf(!0)>=0?[t,!0]:t.allOf&&t.allOf.indexOf(!1)>=0?[t,!1]:t.allOf&&t.allOf.length?[t,new C.a(t.$step,t.$parent,x.a.apply(void 0,[{}].concat(c()(t.allOf.map(function(t){return t.toJSON()})))))]:!0===t.not?[t,!1]:0===a()(t).filter(function(t){return"$"!==t[0]}).length?[t,!0]:null};return this.traverse(t,function(t){!function t(n){if(n){var r=p()(n,2),i=r[0],o=r[1],a=i.$parent;a&&T()(a.schema,a.path,o),i.$parent=null,t(e(a.schema))}}(e(t))}),t}},computed:{schemas:function(){if(!this.masterSchema)return null;var t={};return this.traverse(this.simplifySchema(this.masterSchema),function(e){t[e.$id]=e}),t}},filters:{stringify:function(t){return i()(t," ",2)},capitalize:function(t,e){return t?(t instanceof Array||(t=[t]),t.map(function(t){return""+t[0].toUpperCase()+t.slice(1)}).join(", ")):""}},components:{card:h.a,prism:j.a,schemaToc:w.a,schemaLink:O.a}}},d4US:function(t,e,n){var r=n("ICSD")(n("TQ3y"),"DataView");t.exports=r},d7EF:function(t,e,n){"use strict";e.__esModule=!0;var r=o(n("us/S")),i=o(n("BO1k"));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(){return function(t,e){if(Array.isArray(t))return t;if((0,r.default)(Object(t)))return function(t,e){var n=[],r=!0,o=!1,a=void 0;try{for(var s,c=(0,i.default)(t);!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){o=!0,a=t}finally{try{!r&&c.return&&c.return()}finally{if(o)throw a}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},dCZQ:function(t,e,n){var r=n("ICSD")(Object,"create");t.exports=r},dFpP:function(t,e,n){var r=n("imBK"),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},dYhQ:function(t,e,n){var r=n("9UkZ");t.exports=function(t){return r(t)?void 0:t}},deUO:function(t,e,n){var r=n("imBK");t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},duB3:function(t,e,n){var r=n("WxI4"),i=n("dFpP"),o=n("JBvZ"),a=n("2Hvv"),s=n("deUO");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},eFps:function(t,e,n){var r,i=n("+gg+"),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},eVIm:function(t,e,n){var r=n("dCZQ"),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return n===i?void 0:n}return o.call(e,t)?e[t]:void 0}},f931:function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},fBQ2:function(t,e,n){"use strict";var r=n("evD5"),i=n("X8DO");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},fMqj:function(t,e,n){var r=n("zGZ6"),i=500;t.exports=function(t){var e=r(t,function(t){return n.size===i&&n.clear(),t}),n=e.cache;return e}},fZOM:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},fvMW:function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[t._t("default"),!0===t.link?[t._v("\n    yes \n  ")]:!1===t.link?[t._v("\n    no \n  ")]:t.isSchema(t.link)?[n("nuxt-link",{attrs:{to:"#p-"+t.link.$id}},[n("span",{domProps:{innerHTML:t._s(t.link.getPath())}})])]:t.link instanceof Array?n("ul",t._l(t.link,function(e){return n("li",{key:e.$id},[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[n("span",{domProps:{innerHTML:t._s(e.getPath())}})])],1)})):t.link instanceof Object?n("ul",t._l(t.link,function(e,r){return n("li",[n("nuxt-link",{attrs:{to:"#p-"+e.$id}},[t._v("\n        "+t._s(r)+"\n      ")])],1)})):t._e()],2)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},gGqR:function(t,e,n){var r=n("aCM0"),i=n("yCNF"),o="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",c="[object Proxy]";t.exports=function(t){if(!i(t))return!1;var e=r(t);return e==a||e==s||e==o||e==c}},gHOb:function(t,e,n){var r=n("d4US"),i=n("POb3"),o=n("bO0Y"),a=n("5N57"),s=n("bIbi"),c=n("aCM0"),u=n("Ai/T"),l="[object Promise]",f="[object WeakMap]",p="[object DataView]",d=u(r),v=u(i),h=u(o),m=u(a),y=u(s),b=c;(r&&b(new r(new ArrayBuffer(1)))!=p||i&&"[object Map]"!=b(new i)||o&&b(o.resolve())!=l||a&&"[object Set]"!=b(new a)||s&&b(new s)!=f)&&(b=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case d:return p;case v:return"[object Map]";case h:return l;case m:return"[object Set]";case y:return f}return e}),t.exports=b},gRE1:function(t,e,n){t.exports={default:n("TmV0"),__esModule:!0}},gSvA:function(t,e,n){var r=n("kM2E"),i=n("mbce")(!0);r(r.S,"Object",{entries:function(t){return i(t)}})},ggOT:function(t,e,n){(function(t){var r=n("TQ3y"),i=n("gwcX"),o="object"==typeof e&&e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(e,n("3IRH")(t))},gwcX:function(t,e){t.exports=function(){return!1}},hIPy:function(t,e,n){var r=n("NGEn"),i=n("6MiT"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},hrPF:function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},hvFG:function(t,e,n){"use strict";var r=function(){var t=this.$createElement,e=this._self._c||t;return e(this.tag,{tag:"component"},[e("nuxt-link",{attrs:{to:"#p-"+this.schema.$id}},[e("span",{domProps:{innerHTML:this._s(this.schema.$step)}})]),this.schema.properties||this.schema.patternProperties||this.schema.items?e("ul",[this._l(this.schema.properties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this._l(this.schema.patternProperties,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}),this.schema.items?[this.schema.items instanceof Array?this._l(this.schema.items,function(t,n){return e("schemaToc",{key:n,attrs:{schema:t}})}):e("schemaToc",{attrs:{schema:this.schema.items}})]:this._e()],2):this._e()],1)};r._withStripped=!0;var i={render:r,staticRenderFns:[]};e.a=i},i4ON:function(t,e,n){var r=n("nw3t"),i=n("22B7"),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];o.call(t,e)&&i(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},imBK:function(t,e,n){var r=n("22B7");t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},jD7S:function(t,e,n){var r=n("tv3T"),i=n("ktak");t.exports=function(t,e){return t&&r(e,i(e),t)}},jMi8:function(t,e,n){var r=n("O1jc"),i=n("mKB/"),o=n("Ilb/"),a=n("hrPF"),s=n("WQFf"),c=n("1Yb9"),u=n("NGEn"),l=n("Fp5l"),f=n("ggOT"),p=n("gGqR"),d=n("yCNF"),v=n("9UkZ"),h=n("YsVG"),m=n("TlPD");t.exports=function(t,e,n,y,b,_,x){var g=t[n],j=e[n],C=x.get(j);if(C)r(t,n,C);else{var O=_?_(g,j,n+"",t,e,x):void 0,w=void 0===O;if(w){var k=u(j),T=!k&&f(j),P=!k&&!T&&h(j);O=j,k||T||P?u(g)?O=g:l(g)?O=a(g):T?(w=!1,O=i(j,!0)):P?(w=!1,O=o(j,!0)):O=[]:v(j)||c(j)?(O=g,c(g)?O=m(g):(!d(g)||y&&p(g))&&(O=s(j))):w=!1}w&&(x.set(j,O),b(O,j,y,_,x),x.delete(j)),r(t,n,O)}}},jhkR:function(t,e,n){"use strict";var r=n("lOo0");e.a={props:{link:{required:!0}},methods:{isSchema:function(t){return t instanceof r.a}}}},ktak:function(t,e,n){var r=n("7e4z"),i=n("/GnY"),o=n("bGc4");t.exports=function(t){return o(t)?r(t):i(t)}},l9Lx:function(t,e,n){var r=n("lb6C"),i=n("C0hh"),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),function(e){return o.call(t,e)}))}:i;t.exports=s},lOo0:function(t,e,n){"use strict";var r=n("woOf"),i=n.n(r),o=n("d7EF"),a=n.n(o),s=n("W3Iv"),c=n.n(s),u=n("Zrlr"),l=n.n(u),f=n("wxAW"),p=n.n(f),d=n("bklM"),v=n.n(d),h=n("rVUV"),m=n.n(h),y=n("Dc7M"),b=n.n(y),_=function(){function t(e,n,r){l()(this,t),this.$id=t.idx++,this.$step=e+"&#8203",this.$parent=n,r&&this.parseFrom(r)}return p()(t,[{key:"toJSON",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;return m()(n,function(n,r,i,o){if(n instanceof t)return c()(n).filter(function(t){var e=a()(t,2),n=e[0];e[1];return["$id","$step","$parent"].indexOf(n)<0}).reduce(function(t,n){var r=a()(n,2),i=r[0],o=r[1];return t[i]=e.toJSON(o),t},{})})}},{key:"getPath",value:function(){var t="";return this.$parent&&(t+=this.$parent.schema.getPath(),"object"===this.$parent.schema.type&&(t+=".")),t+=this.$step,this.getPath=function(){return t},t}},{key:"parseFrom",value:function(e){var n=this;return!0===e?e={}:!1===e&&(e={not:!0}),i()(this,b()(v()(e),["$step","$id","$parent","items","properties","patternProperties","additionalItems","additionalProperties","contains","propertyNames","not","allOf","anyOf","oneOf"])),e.items&&(e.items instanceof Array?this.items=e.items.map(function(r,i){return new t("["+i+"]",{schema:n,path:"items["+i+"]"},e.items[i])}):this.items=new t("[*]",{schema:this,path:"items"},e.items)),["properties","patternProperties"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return c()(e[r]).forEach(function(e,i){var o=a()(e,2),s=o[0],c=o[1];n[r]=n[r]||{},n[r][s]=new t("patternProperties"===r?"&lt;field&gt;":s,{schema:n,path:r+'["'+s+'"]'},c)})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){n[r]=new t("+",{schema:n,path:r},e[r])}),["allOf","anyOf","oneOf"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(r){return e[r].forEach(function(e,i){n[r]=n[r]||[],n[r].push(new t("("+i+")"+("anyOf"===r?"?":"+"),{schema:n,path:r+"["+i+"]"},e))})}),this}}]),t}();_.idx=0,e.a=_},lb6C:function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}},"mKB/":function(t,e,n){(function(t){var r=n("TQ3y"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}}).call(e,n("3IRH")(t))},mQxp:function(t,e,n){"use strict";var r=n("Gs0Q"),i=n("hvFG"),o=!1;var a=function(t){o||n("AxiT")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\schemaToc.vue",e.a=s.exports},mTAn:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},mbce:function(t,e,n){var r=n("lktj"),i=n("TcQ7"),o=n("NpIQ").f;t.exports=function(t){return function(e){for(var n,a=i(e),s=r(a),c=s.length,u=0,l=[];c>u;)o.call(a,n=s[u++])&&l.push(t?[n,a[n]]:a[n]);return l}}},mgnk:function(t,e,n){var r=n("aCM0"),i=n("UnEC"),o="[object Arguments]";t.exports=function(t){return i(t)&&r(t)==o}},nWuj:function(t,e){t.exports=function(t,e){return t.add(e),t}},nw3t:function(t,e,n){var r=n("p0bc");t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},o2mx:function(t,e,n){var r=n("NkRn"),i=n("Hxdr"),o=n("NGEn"),a=n("6MiT"),s=1/0,c=r?r.prototype:void 0,u=c?c.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return u?u.call(e):"";var n=e+"";return"0"==n&&1/e==-s?"-0":n}},octw:function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}},oqL2:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},p0bc:function(t,e,n){var r=n("ICSD"),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},pTUa:function(t,e,n){var r=n("/I3N");t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},py9u:function(t,e,n){var r=n("tv3T"),i=n("t8rQ");t.exports=function(t,e){return t&&r(e,i(e),t)}},qwTf:function(t,e,n){var r=n("TQ3y").Uint8Array;t.exports=r},qyJz:function(t,e,n){"use strict";var r=n("+ZMJ"),i=n("kM2E"),o=n("sB3e"),a=n("msXi"),s=n("Mhyx"),c=n("QRG4"),u=n("fBQ2"),l=n("3fs2");i(i.S+i.F*!n("dY0y")(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,f,p=o(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,y=0,b=l(p);if(m&&(h=r(h,v>2?arguments[2]:void 0,2)),void 0==b||d==Array&&s(b))for(n=new d(e=c(p.length));e>y;y++)u(n,y,m?h(p[y],y):p[y]);else for(f=b.call(p),n=new d;!(i=f.next()).done;y++)u(n,y,m?a(f,h,[i.value,y],!0):i.value);return n.length=y,n}})},rCVp:function(t,e,n){var r=n("1C79");t.exports=function(t){return null!=t&&t.length?r(t,1):[]}},rVUV:function(t,e,n){var r=n("Fkvj"),i=1,o=4;t.exports=function(t,e){return r(t,i|o,e="function"==typeof e?e:void 0)}},rpnb:function(t,e,n){var r=n("tHks")();t.exports=r},s8mu:function(t,e,n){"use strict";var r=n("cER1"),i=n("D9sP"),o=!1;var a=function(t){o||n("A51D")},s=n("VU/8")(r.a,i.a,!1,a,null,null);s.options.__file="components\\schemaDetail.vue",e.a=s.exports},t8rQ:function(t,e,n){var r=n("7e4z"),i=n("G0Wc"),o=n("bGc4");t.exports=function(t){return o(t)?r(t,!0):i(t)}},tHks:function(t,e){t.exports=function(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===n(o[c],c,o))break}return e}}},tv3T:function(t,e,n){var r=n("i4ON"),i=n("nw3t");t.exports=function(t,e,n,o){var a=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=o?o(n[u],t[u],u,n,t):void 0;void 0===l&&(l=t[u]),a?i(n,u,l):r(n,u,l)}return n}},uCi2:function(t,e,n){var r=n("bIjD"),i=n("Ubhr");t.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&n<o;)t=t[i(e[n++])];return n&&n==o?t:void 0}},uIr7:function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},uLhX:function(t,e,n){var r=n("NkRn"),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},"ue/d":function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},uieL:function(t,e){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},"us/S":function(t,e,n){t.exports={default:n("Xd32"),__esModule:!0}},v8Dt:function(t,e,n){var r=n("pTUa");t.exports=function(t){return r(this,t).get(t)}},vi0E:function(t,e,n){var r=n("f931")(Object.getPrototypeOf,Object);t.exports=r},wEtr:function(t,e,n){n("gSvA"),t.exports=n("FeBl").Object.entries},wSKX:function(t,e){t.exports=function(t){return t}},wxAW:function(t,e,n){"use strict";e.__esModule=!0;var r,i=n("C4MV"),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,o.default)(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()},xond:function(t,e,n){var r=n("FCuZ"),i=n("09Qt"),o=n("t8rQ");t.exports=function(t){return r(t,o,i)}},yCNF:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},z4hc:function(t,e,n){var r=n("aCM0"),i=n("Rh28"),o=n("UnEC"),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]}},zBOP:function(t,e,n){var r=n("22B7"),i=n("bGc4"),o=n("ZGh9"),a=n("yCNF");t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&o(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},zGZ6:function(t,e,n){var r=n("YeCl"),i="Expected a function";function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(i);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(o.Cache||r),n}o.Cache=r,t.exports=o},zpVT:function(t,e,n){var r=n("duB3"),i=n("POb3"),o=n("YeCl"),a=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<a-1)return s.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(t,e),this.size=n.size,this}}});
\ No newline at end of file
diff --git a/files/pages_specification_v3_process-message.9a79c59e8bcf5e01ba14.js b/files/pages_specification_v3_process-message.9a79c59e8bcf5e01ba14.js
new file mode 100644
index 0000000..8f84db0
--- /dev/null
+++ b/files/pages_specification_v3_process-message.9a79c59e8bcf5e01ba14.js
@@ -0,0 +1 @@
+webpackJsonp([0],{"+66z":function(t,e){var r=Object.prototype.toString;t.exports=function(t){return r.call(t)}},"+99L":function(t,e,r){var n={"./v2/measurement_schema.json":["oGp6",23],"./v2/message_schema.json":["2BTs",22],"./v2/process_schema.json":["rRyJ",21],"./v3/measurement_schema.json":["PpY5",20],"./v3/message_schema.json":["1SJ2",19],"./v3/process_schema.json":["uwRd",18]};function i(t){var e=n[t];return e?r.e(e[1]).then(function(){return r(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(n)},i.id="+99L",t.exports=i},"+gg+":function(t,e,r){var n=r("TQ3y")["__core-js_shared__"];t.exports=n},"/GnY":function(t,e,r){var n=r("HT7L"),i=r("W529"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return i(t);var e=[];for(var r in Object(t))o.call(t,r)&&"constructor"!=r&&e.push(r);return e}},"/I3N":function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},"037f":function(t,e,r){var n=r("1oyr"),i=r("p0bc"),o=r("wSKX"),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:n(e),writable:!0})}:o;t.exports=a},"09Qt":function(t,e,r){var n=r("uIr7"),i=r("vi0E"),o=r("l9Lx"),a=r("C0hh"),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)n(e,o(t)),t=i(t);return e}:a;t.exports=s},"0DSl":function(t,e,r){var n=r("YkxI"),i=r("zBOP");t.exports=function(t){return n(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,s=o>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(r[0],r[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++n<o;){var c=r[n];c&&t(e,c,n,a)}return e})}},"0uX4":function(t,e,r){var n=r("NkRn"),i=n?n.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},"1C79":function(t,e,r){var n=r("uIr7"),i=r("Qp3N");t.exports=function t(e,r,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c<u;){var l=e[c];r>0&&o(l)?r>1?t(l,r-1,o,a,s):n(s,l):a||(s[s.length]=l)}return s}},"1QDk":function(t,e,r){var n=r("tv3T"),i=r("09Qt");t.exports=function(t,e){return n(t,i(t),e)}},"1Yb9":function(t,e,r){var n=r("mgnk"),i=r("UnEC"),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=n(function(){return arguments}())?n:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"1oyr":function(t,e){t.exports=function(t){return function(){return t}}},"22B7":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"2Hvv":function(t,e,r){var n=r("imBK");t.exports=function(t){return n(this.__data__,t)>-1}},"2N6f":function(t,e,r){var n=r("rCVp"),i=r("Q2wK"),o=r("WHce");t.exports=function(t){return o(i(t,void 0,n),t+"")}},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3rZI":function(t,e){t.exports=function(t,e,r,n){var i=-1,o=null==t?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}},"4yG7":function(t,e,r){var n=r("HAGj");t.exports=function(t,e,r){return null==t?t:n(t,e,r)}},"5/Qr":function(t,e,r){var n=r("Kzd6"),i=r("6Git"),o=r("Jqj6"),a=r("WyC4"),s=r("7jYp"),c=r("0uX4"),u=r("Ilb/"),l="[object Boolean]",f="[object Date]",p="[object Map]",d="[object Number]",v="[object RegExp]",h="[object Set]",m="[object String]",y="[object Symbol]",b="[object ArrayBuffer]",_="[object DataView]",x="[object Float32Array]",g="[object Float64Array]",j="[object Int8Array]",O="[object Int16Array]",C="[object Int32Array]",w="[object Uint8Array]",k="[object Uint8ClampedArray]",P="[object Uint16Array]",E="[object Uint32Array]";t.exports=function(t,e,r,T){var S=t.constructor;switch(e){case b:return n(t);case l:case f:return new S(+t);case _:return i(t,T);case x:case g:case j:case O:case C:case w:case k:case P:case E:return u(t,T);case p:return o(t,T,r);case d:case m:return new S(t);case v:return a(t);case h:return s(t,T,r);case y:return c(t)}}},"5N57":function(t,e,r){var n=r("ICSD")(r("TQ3y"),"Set");t.exports=n},"5PlU":function(t,e,r){var n=r("RY/4"),i=r("dSzd")("iterator"),o=r("/bQp");t.exports=r("FeBl").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(n(e))}},"5pwE":function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"5zde":function(t,e,r){r("zQR9"),r("qyJz"),t.exports=r("FeBl").Array.from},"6Git":function(t,e,r){var n=r("Kzd6");t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}},"6MiT":function(t,e,r){var n=r("aCM0"),i=r("UnEC"),o="[object Symbol]";t.exports=function(t){return"symbol"==typeof t||i(t)&&n(t)==o}},"77aO":function(t,e,r){"use strict";e.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(t){this.expanded=!t}},methods:{beforeenter:function(t){this.transitioning=!0,t.style.height=0},enter:function(t){t.style.height=t.scrollHeight+"px"},afterenter:function(t){t.style.height="",this.transitioning=!1},beforeleave:function(t){this.transitioning=!0,t.style.height=t.offsetHeight+"px",t.offsetHeight},leave:function(t){t.style.height=0,t.offsetHeight},afterleave:function(t){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},"7e4z":function(t,e,r){var n=r("uieL"),i=r("1Yb9"),o=r("NGEn"),a=r("ggOT"),s=r("ZGh9"),c=r("YsVG"),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var r=o(t),l=!r&&i(t),f=!r&&!l&&a(t),p=!r&&!l&&!f&&c(t),d=r||l||f||p,v=d?n(t.length,String):[],h=v.length;for(var m in t)!e&&!u.call(t,m)||d&&("length"==m||f&&("offset"==m||"parent"==m)||p&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,h))||v.push(m);return v}},"7jYp":function(t,e,r){var n=r("nWuj"),i=r("3rZI"),o=r("octw"),a=1;t.exports=function(t,e,r){var s=e?r(o(t),a):o(t);return i(s,n,new t.constructor)}},"8AZL":function(t,e){t.exports=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}},"8gK5":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}},"94sX":function(t,e,r){var n=r("dCZQ");t.exports=function(){this.__data__=n?n(null):{},this.size=0}},"9UkZ":function(t,e,r){var n=r("aCM0"),i=r("vi0E"),o=r("UnEC"),a="[object Object]",s=Function.prototype,c=Object.prototype,u=s.toString,l=c.hasOwnProperty,f=u.call(Object);t.exports=function(t){if(!o(t)||n(t)!=a)return!1;var e=i(t);if(null===e)return!0;var r=l.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&u.call(r)==f}},A51D:function(t,e,r){var n=r("5pwE");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("188b52d2",n,!1)},A9mX:function(t,e,r){var n=r("pTUa");t.exports=function(t){var e=n(this,t).delete(t);return this.size-=e?1:0,e}},"Ai/T":function(t,e){var r=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return r.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},AxiT:function(t,e,r){var n=r("Lw7C");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("0868896c",n,!1)},C0hh:function(t,e){t.exports=function(){return[]}},CW5P:function(t,e,r){var n=r("T/bE"),i=r("duB3"),o=r("POb3");t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(o||i),string:new n}}},Cf65:function(t,e,r){var n=r("uCi2"),i=r("M1c9");t.exports=function(t,e){return e.length<2?t:n(t,i(e,0,-1))}},D9sP:function(t,e,r){"use strict";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"schemaDetail",class:{"is-loading":t.loading},attrs:{id:"schema-detail"}},[r("div",{staticClass:"accordion"},[null!==t.masterSchema?r("card",{attrs:{collapsed:!0}},[r("template",{slot:"header"},[t._v("\n        Structure of the payload\n      ")]),r("ul",t._l(t.masterSchema.properties,function(t,e){return r("schemaToc",{key:e,attrs:{schema:t}})}))],2):t._e(),t._t("default")],2),r("h1",[r("a",{attrs:{id:t.type+"-schema-detail",title:t.type+" Fields definition"}}),t._v("\n    Fields definition\n  ")]),t._l(t.schemas,function(e){return r("div",{key:e.$id,staticClass:"card property"},[r("header",{staticClass:"card-header"},[r("a",{attrs:{id:"p-"+e.$id}}),r("p",{staticClass:"card-header-title"},[r("span",{domProps:{innerHTML:t._s(e.getPath())}})]),r("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[r("span",{staticClass:"icon"},[r("i",{staticClass:"fa fa-angle-up"})])])],1),r("div",{staticClass:"card-content"},[e.description||e.type?r("div",{staticClass:"field is-horizontal"},[t._m(0,!0),e.description?r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.description)+"\n        ")]):e.type?r("div",{staticClass:"field-body"},[t._v("\n          A simple "+t._s(t._f("capitalize")(e.type))+"\n        ")]):t._e()]):t._e(),e.$parent?r("div",{staticClass:"field is-horizontal"},[t._m(1,!0),r("div",{staticClass:"field-body"},[r("nuxt-link",{attrs:{to:"#p-"+e.$parent.schema.$id}},[r("span",{domProps:{innerHTML:t._s(e.$parent.schema.getPath())}})])],1)]):t._e(),e.type?r("div",{staticClass:"field is-horizontal"},[t._m(2,!0),r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(t._f("capitalize")(e.type,e))+"\n        ")])]):t._e(),e.format?r("div",{staticClass:"field is-horizontal"},[t._m(3,!0),r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.format)+"\n          "),t.$static.formats[e.format]?r("a",{attrs:{href:t.$static.formats[e.format].link}},[t._v(" ("+t._s(t.$static.formats[e.format].name)+")")]):t._e()])]):t._e(),e.enum&&e.enum.length?r("div",{staticClass:"field is-horizontal"},[t._m(4,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.enum.join(", "))+"\n          ")])])]):t._e(),e.hasOwnProperty("default")?r("div",{staticClass:"field is-horizontal"},[t._m(5,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.default)+"\n          ")])])]):t._e(),e.maxLength?r("div",{staticClass:"field is-horizontal"},[t._m(6,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.maxLength)+"\n          ")])])]):t._e(),e.properties||e.patternProperties||e.items?r("div",{staticClass:"field is-horizontal"},[t._m(7,!0),r("div",{staticClass:"field-body"},[Object.keys(e.properties||{}).length>0?r("schemaLink",{attrs:{link:e.properties}}):t._e(),Object.keys(e.patternProperties||{}).length>0?r("schemaLink",{attrs:{link:e.patternProperties}},[r("div",[t._v("Matching regular expressions:")])]):t._e(),!e.items||e.items instanceof Array?e.items?r("schemaLink",{attrs:{link:e.items}},[r("div",[t._v("Ordered items of type:")])]):t._e():r("schemaLink",{attrs:{link:e.items}}),Object.keys(e.properties||{}).length+Object.keys(e.patternProperties||{}).length!==0||e.items?t._e():[t._v("none")]],2)]):t._e(),e.minProperties?r("div",{staticClass:"field is-horizontal"},[t._m(8,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.minProperties)+"\n          ")])])]):t._e(),e.minItems?r("div",{staticClass:"field is-horizontal"},[t._m(9,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.minItems)+"\n          ")])])]):t._e(),e.hasOwnProperty("additionalProperties")?r("div",{staticClass:"field is-horizontal"},[t._m(10,!0),"boolean"==typeof e.additionalProperties?r("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}}):r("div",{staticClass:"field-body"},[t._v("\n          if fulfilling "),r("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}})],1)],1):t._e(),e.not||e.oneOf||e.allOf||e.anyOf?r("div",{staticClass:"field is-horizontal"},[t._m(11,!0),r("div",{staticClass:"field-body"},[e.not?r("schemaLink",{attrs:{link:e.not}},[t._v("\n            Not fulfilling \n          ")]):t._e(),e.oneOf?r("schemaLink",{attrs:{link:e.oneOf}},[r("div",[t._v("Fulfilling exactly one of:")])]):t._e(),e.allOf?r("schemaLink",{attrs:{link:e.allOf}},[r("div",[t._v("Fulfilling all of:")])]):t._e(),e.anyOf?r("schemaLink",{attrs:{link:e.anyOf}},[r("div",[t._v("Fulfilling one of:")])]):t._e()],1)]):t._e(),e.required&&e.required.length?r("div",{staticClass:"field is-horizontal"},[t._m(12,!0),r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.required.join(", "))+"\n        ")])]):t._e(),e.examples?r("div",{staticClass:"field is-horizontal"},[t._m(13,!0),r("div",{staticClass:"field-body"},t._l(e.examples,function(e,n){return r("prism",{key:n,attrs:{language:"json"}},[t._v(t._s(t._f("stringify")(e)))])}))]):t._e()])])})],2)};n._withStripped=!0;var i={render:n,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Description:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Type:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Format:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Example:")])])}]};e.a=i},Dc0G:function(t,e,r){(function(t){var n=r("blYT"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i&&n.process,s=function(){try{return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s}).call(e,r("3IRH")(t))},Dc7M:function(t,e,r){var n=r("Hxdr"),i=r("Fkvj"),o=r("Vi3P"),a=r("bIjD"),s=r("tv3T"),c=r("dYhQ"),u=r("2N6f"),l=r("xond"),f=u(function(t,e){var r={};if(null==t)return r;var u=!1;e=n(e,function(e){return e=a(e,t),u||(u=e.length>1),e}),s(t,l(t),r),u&&(r=i(r,7,c));for(var f=e.length;f--;)o(r,e[f]);return r});t.exports=f},Dv2r:function(t,e,r){var n=r("pTUa");t.exports=function(t,e){var r=n(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}},E4Hj:function(t,e){t.exports=function(t){return this.__data__.get(t)}},FCuZ:function(t,e,r){var n=r("uIr7"),i=r("NGEn");t.exports=function(t,e,r){var o=e(t);return i(t)?o:n(o,r(t))}},Fkvj:function(t,e,r){var n=r("bJWQ"),i=r("PqYH"),o=r("i4ON"),a=r("jD7S"),s=r("py9u"),c=r("mKB/"),u=r("hrPF"),l=r("Nkkh"),f=r("1QDk"),p=r("MoMe"),d=r("xond"),v=r("gHOb"),h=r("UfSK"),m=r("5/Qr"),y=r("WQFf"),b=r("NGEn"),_=r("ggOT"),x=r("yCNF"),g=r("ktak"),j=1,O=2,C=4,w="[object Arguments]",k="[object Function]",P="[object GeneratorFunction]",E="[object Object]",T={};T[w]=T["[object Array]"]=T["[object ArrayBuffer]"]=T["[object DataView]"]=T["[object Boolean]"]=T["[object Date]"]=T["[object Float32Array]"]=T["[object Float64Array]"]=T["[object Int8Array]"]=T["[object Int16Array]"]=T["[object Int32Array]"]=T["[object Map]"]=T["[object Number]"]=T[E]=T["[object RegExp]"]=T["[object Set]"]=T["[object String]"]=T["[object Symbol]"]=T["[object Uint8Array]"]=T["[object Uint8ClampedArray]"]=T["[object Uint16Array]"]=T["[object Uint32Array]"]=!0,T["[object Error]"]=T[k]=T["[object WeakMap]"]=!1,t.exports=function t(e,r,S,A,$,I){var F,M=r&j,D=r&O,z=r&C;if(S&&(F=$?S(e,A,$,I):S(e)),void 0!==F)return F;if(!x(e))return e;var N=b(e);if(N){if(F=h(e),!M)return u(e,F)}else{var U=v(e),Q=U==k||U==P;if(_(e))return c(e,M);if(U==E||U==w||Q&&!$){if(F=D||Q?{}:y(e),!M)return D?f(e,s(F,e)):l(e,a(F,e))}else{if(!T[U])return $?e:{};F=m(e,U,t,M)}}I||(I=new n);var G=I.get(e);if(G)return G;I.set(e,F);var H=z?D?d:p:D?keysIn:g,L=N?void 0:H(e);return i(L||e,function(n,i){L&&(n=e[i=n]),o(F,i,t(n,r,S,i,e,I))}),F}},Fp5l:function(t,e,r){var n=r("bGc4"),i=r("UnEC");t.exports=function(t){return i(t)&&n(t)}},G0Wc:function(t,e,r){var n=r("yCNF"),i=r("HT7L"),o=r("8gK5"),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return o(t);var e=i(t),r=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&r.push(s);return r}},G2xm:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Gs0Q:function(t,e,r){"use strict";e.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schema:{type:Object,required:!0}}}},Gu7T:function(t,e,r){"use strict";e.__esModule=!0;var n,i=r("c/Tr"),o=(n=i)&&n.__esModule?n:{default:n};e.default=function(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return(0,o.default)(t)}},HAGj:function(t,e,r){var n=r("i4ON"),i=r("bIjD"),o=r("ZGh9"),a=r("yCNF"),s=r("Ubhr");t.exports=function(t,e,r,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,f=l-1,p=t;null!=p&&++u<l;){var d=s(e[u]),v=r;if(u!=f){var h=p[d];void 0===(v=c?c(h,d,p):void 0)&&(v=a(h)?h:o(e[u+1])?[]:{})}n(p,d,v),p=p[d]}return t}},HN2V:function(t,e,r){var n=r("HbnZ"),i=r("0DSl")(function(t,e,r){n(t,e,r)});t.exports=i},HT7L:function(t,e){var r=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||r)}},HbnZ:function(t,e,r){var n=r("bJWQ"),i=r("O1jc"),o=r("rpnb"),a=r("jMi8"),s=r("yCNF"),c=r("t8rQ");t.exports=function t(e,r,u,l,f){e!==r&&o(r,function(o,c){if(s(o))f||(f=new n),a(e,r,c,u,t,l,f);else{var p=l?l(e[c],o,c+"",e,r,f):void 0;void 0===p&&(p=o),i(e,c,p)}},c)}},Hxdr:function(t,e){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}},ICSD:function(t,e,r){var n=r("ITwD"),i=r("mTAn");t.exports=function(t,e){var r=i(t,e);return n(r)?r:void 0}},ITwD:function(t,e,r){var n=r("gGqR"),i=r("eFps"),o=r("yCNF"),a=r("Ai/T"),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,f=u.hasOwnProperty,p=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(n(t)?p:s).test(a(t))}},"Ilb/":function(t,e,r){var n=r("Kzd6");t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}},JBvZ:function(t,e,r){var n=r("imBK");t.exports=function(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}},Jqj6:function(t,e,r){var n=r("U7Aq"),i=r("3rZI"),o=r("WFiI"),a=1;t.exports=function(t,e,r){var s=e?r(o(t),a):o(t);return i(s,n,new t.constructor)}},KmWZ:function(t,e,r){var n=r("duB3");t.exports=function(){this.__data__=new n,this.size=0}},Kzd6:function(t,e,r){var n=r("qwTf");t.exports=function(t){var e=new t.constructor(t.byteLength);return new n(e).set(new n(t)),e}},LJry:function(t,e,r){"use strict";var n={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(t,e){var r=e.props.code||e.children[0].text,n=e.props.language,i=Prism.languages[n],o="language-"+n;return t("pre",function(t){for(var e=arguments,r=1;r<arguments.length;r++)for(var n in arguments[r])t[n]=e[r][n];return t}({},e.data,{class:[e.data.class,o]}),[t("code",{class:o,domProps:{innerHTML:Prism.highlight(r,i)}})])}};t.exports=n},Lw7C:function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},M1c9:function(t,e){t.exports=function(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}},MoMe:function(t,e,r){var n=r("FCuZ"),i=r("l9Lx"),o=r("ktak");t.exports=function(t){return n(t,o,i)}},NGEn:function(t,e){var r=Array.isArray;t.exports=r},NVTU:function(t,e,r){"use strict";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"card collapsibleCard",class:{collapsed:!t.expanded}},[t.$slots.header?r("header",{staticClass:"card-header",on:{click:function(e){e.preventDefault(),t.toggle()}}},[r("p",{staticClass:"card-header-title"},[!t.$slots.headerCollapsed||t.expanded?t._t("header"):t._t("headerCollapsed")],2),r("a",{staticClass:"card-header-icon"},[r("span",{staticClass:"icon"},[r("i",{staticClass:"fa",class:{"fa-angle-down":t.expanded,"fa-angle-up":!t.expanded}})])])]):t._e(),r("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":t.beforeleave,leave:t.leave,"after-leave":t.afterleave,"before-enter":t.beforeenter,enter:t.enter,"after-enter":t.afterenter}},[r("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}]},[r("div",{staticClass:"card-content"},[t._t("default")],2)])])],1)};n._withStripped=!0;var i={render:n,staticRenderFns:[]};e.a=i},NkRn:function(t,e,r){var n=r("TQ3y").Symbol;t.exports=n},Nkkh:function(t,e,r){var n=r("tv3T"),i=r("l9Lx");t.exports=function(t,e){return n(t,i(t),e)}},NqZt:function(t,e){t.exports=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}},O1jc:function(t,e,r){var n=r("nw3t"),i=r("22B7");t.exports=function(t,e,r){(void 0===r||i(t[e],r))&&(void 0!==r||e in t)||n(t,e,r)}},Oey6:function(t,e,r){"use strict";var n=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"process-message content"},[this._m(0),e("p",[this._v("The process message is the format to exchange data out of discrete processes. It also allows to transport process information, part information and measurement data for each phase of the process.")]),this._m(1),e("schemaDetail",{attrs:{type:"v3/process",examples:this.$static.examples}},[e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Minimal message example \n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Process message example \n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.complexMessage)))])],2)],1)],1)};n._withStripped=!0;var i={render:n,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",[e("a",{attrs:{id:"Process-Payload",title:"Process Message payload"}}),this._v("\n    Process Payload\n  ")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"diagram"},[e("img",{attrs:{src:"images/specification/v3/processPayload.svg",alt:"Class diagram of the Process message payload",title:"Class diagram of the Process Message payload"}})])}]};e.a=i},POb3:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"Map");t.exports=n},PqYH:function(t,e){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}},Q2wK:function(t,e,r){var n=r("8AZL"),i=Math.max;t.exports=function(t,e,r){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a<s;)c[a]=o[e+a];a=-1;for(var u=Array(e+1);++a<e;)u[a]=o[a];return u[e]=r(c),n(t,this,u)}}},Q7hp:function(t,e,r){var n=r("uCi2");t.exports=function(t,e,r){var i=null==t?void 0:n(t,e);return void 0===i?r:i}},Qp3N:function(t,e,r){var n=r("NkRn"),i=r("1Yb9"),o=r("NGEn"),a=n?n.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},RGrk:function(t,e,r){var n=r("dCZQ"),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return n?void 0!==e[t]:i.call(e,t)}},Rh28:function(t,e){var r=9007199254740991;t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}},S7p9:function(t,e){t.exports=function(t){return function(e){return t(e)}}},"T/bE":function(t,e,r){var n=r("94sX"),i=r("ue/d"),o=r("eVIm"),a=r("RGrk"),s=r("Z2pD");function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},T9Hf:function(t,e,r){"use strict";var n=r("77aO"),i=r("NVTU"),o=!1;var a=function(t){o||r("WVEp")},s=r("VU/8")(n.a,i.a,!1,a,null,null);s.options.__file="components\\collapsibleCard.vue",e.a=s.exports},TQ3y:function(t,e,r){var n=r("blYT"),i="object"==typeof self&&self&&self.Object===Object&&self,o=n||i||Function("return this")();t.exports=o},TlPD:function(t,e,r){var n=r("tv3T"),i=r("t8rQ");t.exports=function(t){return n(t,i(t))}},TmV0:function(t,e,r){r("fZOM"),t.exports=r("FeBl").Object.values},U7Aq:function(t,e){t.exports=function(t,e){return t.set(e[0],e[1]),t}},Ubhr:function(t,e,r){var n=r("6MiT"),i=1/0;t.exports=function(t){if("string"==typeof t||n(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},UfSK:function(t,e){var r=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&r.call(t,"index")&&(n.index=t.index,n.input=t.input),n}},UnEC:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},UnLw:function(t,e,r){var n=/^\./,i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r("fMqj")(function(t){var e=[];return n.test(t)&&e.push(""),t.replace(i,function(t,r,n,i){e.push(n?i.replace(o,"$1"):r||t)}),e});t.exports=a},VORN:function(t,e,r){var n=r("yCNF"),i=Object.create,o=function(){function t(){}return function(e){if(!n(e))return{};if(i)return i(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();t.exports=o},Vi3P:function(t,e,r){var n=r("bIjD"),i=r("oqL2"),o=r("Cf65"),a=r("Ubhr");t.exports=function(t,e){return e=n(e,t),null==(t=o(t,e))||delete t[a(i(e))]}},W3Iv:function(t,e,r){t.exports={default:r("wEtr"),__esModule:!0}},W529:function(t,e,r){var n=r("f931")(Object.keys,Object);t.exports=n},WFiI:function(t,e){t.exports=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}},WHce:function(t,e,r){var n=r("037f"),i=r("Zk5a")(n);t.exports=i},WQFf:function(t,e,r){var n=r("VORN"),i=r("vi0E"),o=r("HT7L");t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:n(i(t))}},WVEp:function(t,e,r){var n=r("a3hs");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("52cedc5e",n,!1)},WxI4:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},WyC4:function(t,e){var r=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,r.exec(t));return e.lastIndex=t.lastIndex,e}},Xd32:function(t,e,r){r("+tPU"),r("zQR9"),t.exports=r("5PlU")},YeCl:function(t,e,r){var n=r("CW5P"),i=r("A9mX"),o=r("v8Dt"),a=r("agim"),s=r("Dv2r");function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},YkxI:function(t,e,r){var n=r("wSKX"),i=r("Q2wK"),o=r("WHce");t.exports=function(t,e){return o(i(t,e,n),t+"")}},YsVG:function(t,e,r){var n=r("z4hc"),i=r("S7p9"),o=r("Dc0G"),a=o&&o.isTypedArray,s=a?i(a):n;t.exports=s},Z2pD:function(t,e,r){var n=r("dCZQ"),i="__lodash_hash_undefined__";t.exports=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=n&&void 0===e?i:e,this}},ZGh9:function(t,e){var r=9007199254740991,n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){return!!(e=null==e?r:e)&&("number"==typeof t||n.test(t))&&t>-1&&t%1==0&&t<e}},ZT2e:function(t,e,r){var n=r("o2mx");t.exports=function(t){return null==t?"":n(t)}},Zk5a:function(t,e){var r=800,n=16,i=Date.now;t.exports=function(t){var e=0,o=0;return function(){var a=i(),s=n-(a-o);if(o=a,s>0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},Zrlr:function(t,e,r){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},a3hs:function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},aCM0:function(t,e,r){var n=r("NkRn"),i=r("uLhX"),o=r("+66z"),a="[object Null]",s="[object Undefined]",c=n?n.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:a:c&&c in Object(t)?i(t):o(t)}},agim:function(t,e,r){var n=r("pTUa");t.exports=function(t){return n(this,t).has(t)}},bGc4:function(t,e,r){var n=r("gGqR"),i=r("Rh28");t.exports=function(t){return null!=t&&i(t.length)&&!n(t)}},bIbi:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"WeakMap");t.exports=n},bIjD:function(t,e,r){var n=r("NGEn"),i=r("hIPy"),o=r("UnLw"),a=r("ZT2e");t.exports=function(t,e){return n(t)?t:i(t,e)?[t]:o(a(t))}},bJWQ:function(t,e,r){var n=r("duB3"),i=r("KmWZ"),o=r("NqZt"),a=r("E4Hj"),s=r("G2xm"),c=r("zpVT");function u(t){var e=this.__data__=new n(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},bO0Y:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"Promise");t.exports=n},"bXX+":function(t,e,r){"use strict";var n=r("jhkR"),i=r("fvMW"),o=r("VU/8")(n.a,i.a,!1,null,null,null);o.options.__file="components\\schemaLink.vue",e.a=o.exports},bklM:function(t,e,r){var n=r("Fkvj"),i=1,o=4;t.exports=function(t){return n(t,i|o)}},blYT:function(t,e,r){(function(e){var r="object"==typeof e&&e&&e.Object===Object&&e;t.exports=r}).call(e,r("DuR2"))},"c/Tr":function(t,e,r){t.exports={default:r("5zde"),__esModule:!0}},cER1:function(t,e,r){"use strict";var n=r("mvHQ"),i=r.n(n),o=r("fZjL"),a=r.n(o),s=r("Gu7T"),c=r.n(s),u=r("gRE1"),l=r.n(u),f=r("d7EF"),p=r.n(f),d=r("W3Iv"),v=r.n(d),h=r("T9Hf"),m=r("rVUV"),y=(r.n(m),r("Q7hp")),b=r.n(y),_=r("HN2V"),x=r.n(_),g=r("LJry"),j=r.n(g),O=r("lOo0"),C=r("bXX+"),w=r("mQxp"),k=r("4yG7"),P=r.n(k);e.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{masterSchema:null,loading:!0}},created:function(){var t=this,e={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};r("+99L")("./"+this.type+"_schema.json").then(function(e){return t.masterSchema=new O.a("$",null,e),v()(t.examples).forEach(function(e){var r=p()(e,2),n=r[0],i=r[1];b()(t.masterSchema,n)?P()(t.masterSchema,n+".examples",i):console.error("schema path not found in "+t.type+": "+n)}),t.loading=!1,e}).catch(function(t){throw t}),this.$static={formats:{"date-time":e.date,date:e.date,time:e.date,email:e.email}}},methods:{traverse:function(t,e){var r=this;t instanceof O.a?(e(t),v()(t).filter(function(t){var e=p()(t,2),r=e[0];e[1];return"$parent"!==r}).forEach(function(t){var n=p()(t,2),i=(n[0],n[1]);return r.traverse(i,e)})):t instanceof Array?t.forEach(function(t){return r.traverse(t,e)}):t instanceof Object&&l()(t).forEach(function(t){return r.traverse(t,e)})},simplifySchema:function(t){var e=function(t){return t.anyOf&&t.anyOf.indexOf(!0)>=0?[t,!0]:t.allOf&&t.allOf.indexOf(!1)>=0?[t,!1]:t.allOf&&t.allOf.length?[t,new O.a(t.$step,t.$parent,x.a.apply(void 0,[{}].concat(c()(t.allOf.map(function(t){return t.toJSON()})))))]:!0===t.not?[t,!1]:0===a()(t).filter(function(t){return"$"!==t[0]}).length?[t,!0]:null};return this.traverse(t,function(t){!function t(r){if(r){var n=p()(r,2),i=n[0],o=n[1],a=i.$parent;a&&P()(a.schema,a.path,o),i.$parent=null,t(e(a.schema))}}(e(t))}),t}},computed:{schemas:function(){if(!this.masterSchema)return null;var t={};return this.traverse(this.simplifySchema(this.masterSchema),function(e){t[e.$id]=e}),t}},filters:{stringify:function(t){return i()(t," ",2)},capitalize:function(t,e){return t?(t instanceof Array||(t=[t]),t.map(function(t){return""+t[0].toUpperCase()+t.slice(1)}).join(", ")):""}},components:{card:h.a,prism:j.a,schemaToc:w.a,schemaLink:C.a}}},d4US:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"DataView");t.exports=n},d7EF:function(t,e,r){"use strict";e.__esModule=!0;var n=o(r("us/S")),i=o(r("BO1k"));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(){return function(t,e){if(Array.isArray(t))return t;if((0,n.default)(Object(t)))return function(t,e){var r=[],n=!0,o=!1,a=void 0;try{for(var s,c=(0,i.default)(t);!(n=(s=c.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){o=!0,a=t}finally{try{!n&&c.return&&c.return()}finally{if(o)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},dCZQ:function(t,e,r){var n=r("ICSD")(Object,"create");t.exports=n},dFpP:function(t,e,r){var n=r("imBK"),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,r=n(e,t);return!(r<0||(r==e.length-1?e.pop():i.call(e,r,1),--this.size,0))}},dYhQ:function(t,e,r){var n=r("9UkZ");t.exports=function(t){return n(t)?void 0:t}},deUO:function(t,e,r){var n=r("imBK");t.exports=function(t,e){var r=this.__data__,i=n(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}},duB3:function(t,e,r){var n=r("WxI4"),i=r("dFpP"),o=r("JBvZ"),a=r("2Hvv"),s=r("deUO");function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},eFps:function(t,e,r){var n,i=r("+gg+"),o=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(t){return!!o&&o in t}},eVIm:function(t,e,r){var n=r("dCZQ"),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(n){var r=e[t];return r===i?void 0:r}return o.call(e,t)?e[t]:void 0}},f931:function(t,e){t.exports=function(t,e){return function(r){return t(e(r))}}},fBQ2:function(t,e,r){"use strict";var n=r("evD5"),i=r("X8DO");t.exports=function(t,e,r){e in t?n.f(t,e,i(0,r)):t[e]=r}},fMqj:function(t,e,r){var n=r("zGZ6"),i=500;t.exports=function(t){var e=n(t,function(t){return r.size===i&&r.clear(),t}),r=e.cache;return e}},fZOM:function(t,e,r){var n=r("kM2E"),i=r("mbce")(!1);n(n.S,"Object",{values:function(t){return i(t)}})},fvMW:function(t,e,r){"use strict";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",[t._t("default"),!0===t.link?[t._v("\n    yes \n  ")]:!1===t.link?[t._v("\n    no \n  ")]:t.isSchema(t.link)?[r("nuxt-link",{attrs:{to:"#p-"+t.link.$id}},[r("span",{domProps:{innerHTML:t._s(t.link.getPath())}})])]:t.link instanceof Array?r("ul",t._l(t.link,function(e){return r("li",{key:e.$id},[r("nuxt-link",{attrs:{to:"#p-"+e.$id}},[r("span",{domProps:{innerHTML:t._s(e.getPath())}})])],1)})):t.link instanceof Object?r("ul",t._l(t.link,function(e,n){return r("li",[r("nuxt-link",{attrs:{to:"#p-"+e.$id}},[t._v("\n        "+t._s(n)+"\n      ")])],1)})):t._e()],2)};n._withStripped=!0;var i={render:n,staticRenderFns:[]};e.a=i},gGqR:function(t,e,r){var n=r("aCM0"),i=r("yCNF"),o="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",c="[object Proxy]";t.exports=function(t){if(!i(t))return!1;var e=n(t);return e==a||e==s||e==o||e==c}},gHOb:function(t,e,r){var n=r("d4US"),i=r("POb3"),o=r("bO0Y"),a=r("5N57"),s=r("bIbi"),c=r("aCM0"),u=r("Ai/T"),l="[object Promise]",f="[object WeakMap]",p="[object DataView]",d=u(n),v=u(i),h=u(o),m=u(a),y=u(s),b=c;(n&&b(new n(new ArrayBuffer(1)))!=p||i&&"[object Map]"!=b(new i)||o&&b(o.resolve())!=l||a&&"[object Set]"!=b(new a)||s&&b(new s)!=f)&&(b=function(t){var e=c(t),r="[object Object]"==e?t.constructor:void 0,n=r?u(r):"";if(n)switch(n){case d:return p;case v:return"[object Map]";case h:return l;case m:return"[object Set]";case y:return f}return e}),t.exports=b},gRE1:function(t,e,r){t.exports={default:r("TmV0"),__esModule:!0}},gSvA:function(t,e,r){var n=r("kM2E"),i=r("mbce")(!0);n(n.S,"Object",{entries:function(t){return i(t)}})},ggOT:function(t,e,r){(function(t){var n=r("TQ3y"),i=r("gwcX"),o="object"==typeof e&&e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=a&&a.exports===o?n.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(e,r("3IRH")(t))},gwcX:function(t,e){t.exports=function(){return!1}},hEik:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r("xG/K"),i=r("Oey6"),o=r("VU/8")(n.a,i.a,!1,null,null,null);o.options.__file="pages\\specification\\v3\\process-message.vue",e.default=o.exports},hIPy:function(t,e,r){var n=r("NGEn"),i=r("6MiT"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(n(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},hrPF:function(t,e){t.exports=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}},hvFG:function(t,e,r){"use strict";var n=function(){var t=this.$createElement,e=this._self._c||t;return e(this.tag,{tag:"component"},[e("nuxt-link",{attrs:{to:"#p-"+this.schema.$id}},[e("span",{domProps:{innerHTML:this._s(this.schema.$step)}})]),this.schema.properties||this.schema.patternProperties||this.schema.items?e("ul",[this._l(this.schema.properties,function(t,r){return e("schemaToc",{key:r,attrs:{schema:t}})}),this._l(this.schema.patternProperties,function(t,r){return e("schemaToc",{key:r,attrs:{schema:t}})}),this.schema.items?[this.schema.items instanceof Array?this._l(this.schema.items,function(t,r){return e("schemaToc",{key:r,attrs:{schema:t}})}):e("schemaToc",{attrs:{schema:this.schema.items}})]:this._e()],2):this._e()],1)};n._withStripped=!0;var i={render:n,staticRenderFns:[]};e.a=i},i4ON:function(t,e,r){var n=r("nw3t"),i=r("22B7"),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){var a=t[e];o.call(t,e)&&i(a,r)&&(void 0!==r||e in t)||n(t,e,r)}},imBK:function(t,e,r){var n=r("22B7");t.exports=function(t,e){for(var r=t.length;r--;)if(n(t[r][0],e))return r;return-1}},jD7S:function(t,e,r){var n=r("tv3T"),i=r("ktak");t.exports=function(t,e){return t&&n(e,i(e),t)}},jMi8:function(t,e,r){var n=r("O1jc"),i=r("mKB/"),o=r("Ilb/"),a=r("hrPF"),s=r("WQFf"),c=r("1Yb9"),u=r("NGEn"),l=r("Fp5l"),f=r("ggOT"),p=r("gGqR"),d=r("yCNF"),v=r("9UkZ"),h=r("YsVG"),m=r("TlPD");t.exports=function(t,e,r,y,b,_,x){var g=t[r],j=e[r],O=x.get(j);if(O)n(t,r,O);else{var C=_?_(g,j,r+"",t,e,x):void 0,w=void 0===C;if(w){var k=u(j),P=!k&&f(j),E=!k&&!P&&h(j);C=j,k||P||E?u(g)?C=g:l(g)?C=a(g):P?(w=!1,C=i(j,!0)):E?(w=!1,C=o(j,!0)):C=[]:v(j)||c(j)?(C=g,c(g)?C=m(g):(!d(g)||y&&p(g))&&(C=s(j))):w=!1}w&&(x.set(j,C),b(C,j,y,_,x),x.delete(j)),n(t,r,C)}}},jhkR:function(t,e,r){"use strict";var n=r("lOo0");e.a={props:{link:{required:!0}},methods:{isSchema:function(t){return t instanceof n.a}}}},ktak:function(t,e,r){var n=r("7e4z"),i=r("/GnY"),o=r("bGc4");t.exports=function(t){return o(t)?n(t):i(t)}},l9Lx:function(t,e,r){var n=r("lb6C"),i=r("C0hh"),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),n(a(t),function(e){return o.call(t,e)}))}:i;t.exports=s},lOo0:function(t,e,r){"use strict";var n=r("woOf"),i=r.n(n),o=r("d7EF"),a=r.n(o),s=r("W3Iv"),c=r.n(s),u=r("Zrlr"),l=r.n(u),f=r("wxAW"),p=r.n(f),d=r("bklM"),v=r.n(d),h=r("rVUV"),m=r.n(h),y=r("Dc7M"),b=r.n(y),_=function(){function t(e,r,n){l()(this,t),this.$id=t.idx++,this.$step=e+"&#8203",this.$parent=r,n&&this.parseFrom(n)}return p()(t,[{key:"toJSON",value:function(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;return m()(r,function(r,n,i,o){if(r instanceof t)return c()(r).filter(function(t){var e=a()(t,2),r=e[0];e[1];return["$id","$step","$parent"].indexOf(r)<0}).reduce(function(t,r){var n=a()(r,2),i=n[0],o=n[1];return t[i]=e.toJSON(o),t},{})})}},{key:"getPath",value:function(){var t="";return this.$parent&&(t+=this.$parent.schema.getPath(),"object"===this.$parent.schema.type&&(t+=".")),t+=this.$step,this.getPath=function(){return t},t}},{key:"parseFrom",value:function(e){var r=this;return!0===e?e={}:!1===e&&(e={not:!0}),i()(this,b()(v()(e),["$step","$id","$parent","items","properties","patternProperties","additionalItems","additionalProperties","contains","propertyNames","not","allOf","anyOf","oneOf"])),e.items&&(e.items instanceof Array?this.items=e.items.map(function(n,i){return new t("["+i+"]",{schema:r,path:"items["+i+"]"},e.items[i])}):this.items=new t("[*]",{schema:this,path:"items"},e.items)),["properties","patternProperties"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(n){return c()(e[n]).forEach(function(e,i){var o=a()(e,2),s=o[0],c=o[1];r[n]=r[n]||{},r[n][s]=new t("patternProperties"===n?"&lt;field&gt;":s,{schema:r,path:n+'["'+s+'"]'},c)})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(n){r[n]=new t("+",{schema:r,path:n},e[n])}),["allOf","anyOf","oneOf"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(n){return e[n].forEach(function(e,i){r[n]=r[n]||[],r[n].push(new t("("+i+")"+("anyOf"===n?"?":"+"),{schema:r,path:n+"["+i+"]"},e))})}),this}}]),t}();_.idx=0,e.a=_},lb6C:function(t,e){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var a=t[r];e(a,r,t)&&(o[i++]=a)}return o}},"mKB/":function(t,e,r){(function(t){var n=r("TQ3y"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i?n.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=s?s(r):new t.constructor(r);return t.copy(n),n}}).call(e,r("3IRH")(t))},mQxp:function(t,e,r){"use strict";var n=r("Gs0Q"),i=r("hvFG"),o=!1;var a=function(t){o||r("AxiT")},s=r("VU/8")(n.a,i.a,!1,a,null,null);s.options.__file="components\\schemaToc.vue",e.a=s.exports},mTAn:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},mbce:function(t,e,r){var n=r("lktj"),i=r("TcQ7"),o=r("NpIQ").f;t.exports=function(t){return function(e){for(var r,a=i(e),s=n(a),c=s.length,u=0,l=[];c>u;)o.call(a,r=s[u++])&&l.push(t?[r,a[r]]:a[r]);return l}}},mgnk:function(t,e,r){var n=r("aCM0"),i=r("UnEC"),o="[object Arguments]";t.exports=function(t){return i(t)&&n(t)==o}},nWuj:function(t,e){t.exports=function(t,e){return t.add(e),t}},nw3t:function(t,e,r){var n=r("p0bc");t.exports=function(t,e,r){"__proto__"==e&&n?n(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}},o2mx:function(t,e,r){var n=r("NkRn"),i=r("Hxdr"),o=r("NGEn"),a=r("6MiT"),s=1/0,c=n?n.prototype:void 0,u=c?c.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return u?u.call(e):"";var r=e+"";return"0"==r&&1/e==-s?"-0":r}},octw:function(t,e){t.exports=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}},oqL2:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},p0bc:function(t,e,r){var n=r("ICSD"),i=function(){try{var t=n(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},pTUa:function(t,e,r){var n=r("/I3N");t.exports=function(t,e){var r=t.__data__;return n(e)?r["string"==typeof e?"string":"hash"]:r.map}},py9u:function(t,e,r){var n=r("tv3T"),i=r("t8rQ");t.exports=function(t,e){return t&&n(e,i(e),t)}},qwTf:function(t,e,r){var n=r("TQ3y").Uint8Array;t.exports=n},qyJz:function(t,e,r){"use strict";var n=r("+ZMJ"),i=r("kM2E"),o=r("sB3e"),a=r("msXi"),s=r("Mhyx"),c=r("QRG4"),u=r("fBQ2"),l=r("3fs2");i(i.S+i.F*!r("dY0y")(function(t){Array.from(t)}),"Array",{from:function(t){var e,r,i,f,p=o(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,y=0,b=l(p);if(m&&(h=n(h,v>2?arguments[2]:void 0,2)),void 0==b||d==Array&&s(b))for(r=new d(e=c(p.length));e>y;y++)u(r,y,m?h(p[y],y):p[y]);else for(f=b.call(p),r=new d;!(i=f.next()).done;y++)u(r,y,m?a(f,h,[i.value,y],!0):i.value);return r.length=y,r}})},rCVp:function(t,e,r){var n=r("1C79");t.exports=function(t){return null!=t&&t.length?n(t,1):[]}},rVUV:function(t,e,r){var n=r("Fkvj"),i=1,o=4;t.exports=function(t,e){return n(t,i|o,e="function"==typeof e?e:void 0)}},rpnb:function(t,e,r){var n=r("tHks")();t.exports=n},s8mu:function(t,e,r){"use strict";var n=r("cER1"),i=r("D9sP"),o=!1;var a=function(t){o||r("A51D")},s=r("VU/8")(n.a,i.a,!1,a,null,null);s.options.__file="components\\schemaDetail.vue",e.a=s.exports},t8rQ:function(t,e,r){var n=r("7e4z"),i=r("G0Wc"),o=r("bGc4");t.exports=function(t){return o(t)?n(t,!0):i(t)}},tHks:function(t,e){t.exports=function(t){return function(e,r,n){for(var i=-1,o=Object(e),a=n(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===r(o[c],c,o))break}return e}}},tv3T:function(t,e,r){var n=r("i4ON"),i=r("nw3t");t.exports=function(t,e,r,o){var a=!r;r||(r={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=o?o(r[u],t[u],u,r,t):void 0;void 0===l&&(l=t[u]),a?i(r,u,l):n(r,u,l)}return r}},uCi2:function(t,e,r){var n=r("bIjD"),i=r("Ubhr");t.exports=function(t,e){for(var r=0,o=(e=n(e,t)).length;null!=t&&r<o;)t=t[i(e[r++])];return r&&r==o?t:void 0}},uIr7:function(t,e){t.exports=function(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}},uLhX:function(t,e,r){var n=r("NkRn"),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=n?n.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),r=t[s];try{t[s]=void 0;var n=!0}catch(t){}var i=a.call(t);return n&&(e?t[s]=r:delete t[s]),i}},"ue/d":function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},uieL:function(t,e){t.exports=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}},"us/S":function(t,e,r){t.exports={default:r("Xd32"),__esModule:!0}},v8Dt:function(t,e,r){var n=r("pTUa");t.exports=function(t){return n(this,t).get(t)}},vi0E:function(t,e,r){var n=r("f931")(Object.getPrototypeOf,Object);t.exports=n},wEtr:function(t,e,r){r("gSvA"),t.exports=r("FeBl").Object.entries},wSKX:function(t,e){t.exports=function(t){return t}},wxAW:function(t,e,r){"use strict";e.__esModule=!0;var n,i=r("C4MV"),o=(n=i)&&n.__esModule?n:{default:n};e.default=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),(0,o.default)(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}()},"xG/K":function(t,e,r){"use strict";var n=r("mvHQ"),i=r.n(n),o=r("d7EF"),a=r.n(o),s=r("Dd8w"),c=r.n(s),u=r("W3Iv"),l=r.n(u),f=r("LJry"),p=r.n(f),d=r("T9Hf"),v=r("Q7hp"),h=r.n(v),m=r("s8mu");e.a={head:function(){return{title:"Specification for process messages"}},created:function(){var t=this,e=new Date,r="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/process-message#v2",device:{id:r},process:{ts:e.toISOString()},measurements:[{ts:new Date(e.valueOf()+100).toISOString(),series:{time:[0,23,24],force:[26,23,24],pressure:[100952.4,100946.32,100944.2432]}}]},complexMessage:{"content-spec":"urn:spec://eclipse.org/unide/process-message#v2",device:{id:r,mode:"auto",state:"OK",swVersion:"2.0.3.13",swBuildId:"41535"},part:{code:"HUH289",id:"420003844",result:"NOK",toolId:"32324-432143",type:"SINGLE",typeId:"F00VH07328"},process:{externalId:"b4927dad-58d4-4580-b460-79cefd56775b",program:{id:"1",lastChangedDate:"2002-05-30T09:30:10.123+02:00",name:"Programm 1"},result:"NOK",shutoffPhase:"phase 2",ts:e.toISOString(),escalation:"shift leader",maxDuration:"30min"},measurements:[{code:"0000 EE01",name:"heating up",phase:"phase 1",result:"OK",ts:new Date(e.valueOf()+100).toISOString(),context:{pressure:{namespace:"https://mycompany.com/productvariants/5986",unit:"Pa",limits:{upperError:103e3,lowerError:99e3,upperWarn:102e3,lowerWarn:1e5,target:100950}},force:{limits:{upperError:[29,27,26],lowerError:[23,21,20],upperWarn:[28.5,26.5,25.5],lowerWarn:[23.5,21.5,20.5],target:[26,24,23]}}},specialValues:[{time:12,name:"turning point",value:{pressure:101530,force:50}},{time:50,name:"shutoffForce",value:{force:24,upperError:26,lowerError:22,upperWarn:25,lowerWarn:23,target:24}},{time:50,name:"shutoffPressure",value:{pressure:100950,upperError:103e3,lowerError:99e3}}],series:{time:[30,36,42],force:[26,23,24],pressure:[100952.4,100946.32,100944.2432],temperature:[45.4243,46.42342,44.2432]}},{ts:new Date(e.valueOf()+430).toISOString(),phase:"phase 2",name:"processing",result:"OK",series:{time:[0,23,24],temperature:[49.2,48.8,50]}}]}},this.$static.examples=l()(c()({},["content-spec","device","device.id","device.mode","measurements","part","part.code","part.id","part.result","part.type","part.typeId","process","process.externalId","process.program","process.program.id","process.program.lastChangedDate","process.program.name","process.result","process.shutoffPhase","process.ts"].reduce(function(e,r){return e[t.schemafy(r)]=r,e},{'properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.unit':"measurements[0].context.pressure.unit",'properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.namespace':"measurements[0].context.pressure.namespace",'properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[0]':"measurements[0].context.pressure.limits",'properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[1]':"measurements[0].context.force.limits",'properties.measurements.allOf[0].items.properties.series.patternProperties["^[^$]+"]':"measurements[0].series.force"}),["code","result","series","series.time","ts"].reduce(function(e,r){return e["properties.measurements.allOf[0].items."+t.schemafy(r)]="measurements[0]."+r,e},{}),["name","phase","specialValues","specialValues[1].time","specialValues[1].name","specialValues[1].value"].reduce(function(e,r){return e["properties.measurements.allOf[1].items."+t.schemafy(r)]="measurements[0]."+r,e},{}),["lowerError","lowerWarn","target","upperError","upperWarn"].reduce(function(t,e){return t['properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[0].properties.'+e]="measurements[0].context.pressure.limits."+e,t['properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[1].properties.'+e]="measurements[0].context.force.limits."+e,t},{}))).reduce(function(e,r){var n=a()(r,2),i=n[0],o=n[1],s=h()(t.$static.message,o)||h()(t.$static.complexMessage,o);return s?e[i]=[s]:console.error('no example provided in process-message for:\n"'+i+'": "'+o+'"'),e},{})},filters:{stringify:function(t){return i()(t," ",2)}},methods:{schemafy:function(t){return t.replace(/(^|\.)/g,"$1properties.").replace(/\[[^]]*]/g,".items")}},components:{card:d.a,prism:p.a,schemaDetail:m.a}}},xond:function(t,e,r){var n=r("FCuZ"),i=r("09Qt"),o=r("t8rQ");t.exports=function(t){return n(t,o,i)}},yCNF:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},z4hc:function(t,e,r){var n=r("aCM0"),i=r("Rh28"),o=r("UnEC"),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[n(t)]}},zBOP:function(t,e,r){var n=r("22B7"),i=r("bGc4"),o=r("ZGh9"),a=r("yCNF");t.exports=function(t,e,r){if(!a(r))return!1;var s=typeof e;return!!("number"==s?i(r)&&o(e,r.length):"string"==s&&e in r)&&n(r[e],t)}},zGZ6:function(t,e,r){var n=r("YeCl"),i="Expected a function";function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(i);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=t.apply(this,n);return r.cache=o.set(i,a)||o,a};return r.cache=new(o.Cache||n),r}o.Cache=n,t.exports=o},zpVT:function(t,e,r){var n=r("duB3"),i=r("POb3"),o=r("YeCl"),a=200;t.exports=function(t,e){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!i||s.length<a-1)return s.push([t,e]),this.size=++r.size,this;r=this.__data__=new o(s)}return r.set(t,e),this.size=r.size,this}}});
\ No newline at end of file
diff --git a/files/pages_specification_v3_process-message.f340d53e70c3c65a5386.js b/files/pages_specification_v3_process-message.f340d53e70c3c65a5386.js
deleted file mode 100644
index 69dcea7..0000000
--- a/files/pages_specification_v3_process-message.f340d53e70c3c65a5386.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([0],{"+66z":function(t,e){var r=Object.prototype.toString;t.exports=function(t){return r.call(t)}},"+99L":function(t,e,r){var n={"./v2/measurement_schema.json":["oGp6",23],"./v2/message_schema.json":["2BTs",22],"./v2/process_schema.json":["rRyJ",21],"./v3/measurement_schema.json":["PpY5",20],"./v3/message_schema.json":["1SJ2",19],"./v3/process_schema.json":["uwRd",18]};function i(t){var e=n[t];return e?r.e(e[1]).then(function(){return r(e[0])}):Promise.reject(new Error("Cannot find module '"+t+"'."))}i.keys=function(){return Object.keys(n)},i.id="+99L",t.exports=i},"+gg+":function(t,e,r){var n=r("TQ3y")["__core-js_shared__"];t.exports=n},"/GnY":function(t,e,r){var n=r("HT7L"),i=r("W529"),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return i(t);var e=[];for(var r in Object(t))o.call(t,r)&&"constructor"!=r&&e.push(r);return e}},"/I3N":function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},"037f":function(t,e,r){var n=r("1oyr"),i=r("p0bc"),o=r("wSKX"),a=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:n(e),writable:!0})}:o;t.exports=a},"09Qt":function(t,e,r){var n=r("uIr7"),i=r("vi0E"),o=r("l9Lx"),a=r("C0hh"),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)n(e,o(t)),t=i(t);return e}:a;t.exports=s},"0DSl":function(t,e,r){var n=r("YkxI"),i=r("zBOP");t.exports=function(t){return n(function(e,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,s=o>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(r[0],r[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++n<o;){var c=r[n];c&&t(e,c,n,a)}return e})}},"0uX4":function(t,e,r){var n=r("NkRn"),i=n?n.prototype:void 0,o=i?i.valueOf:void 0;t.exports=function(t){return o?Object(o.call(t)):{}}},"1C79":function(t,e,r){var n=r("uIr7"),i=r("Qp3N");t.exports=function t(e,r,o,a,s){var c=-1,u=e.length;for(o||(o=i),s||(s=[]);++c<u;){var l=e[c];r>0&&o(l)?r>1?t(l,r-1,o,a,s):n(s,l):a||(s[s.length]=l)}return s}},"1QDk":function(t,e,r){var n=r("tv3T"),i=r("09Qt");t.exports=function(t,e){return n(t,i(t),e)}},"1Yb9":function(t,e,r){var n=r("mgnk"),i=r("UnEC"),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,c=n(function(){return arguments}())?n:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},"1oyr":function(t,e){t.exports=function(t){return function(){return t}}},"22B7":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"2Hvv":function(t,e,r){var n=r("imBK");t.exports=function(t){return n(this.__data__,t)>-1}},"2N6f":function(t,e,r){var n=r("rCVp"),i=r("Q2wK"),o=r("WHce");t.exports=function(t){return o(i(t,void 0,n),t+"")}},"3IRH":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"3rZI":function(t,e){t.exports=function(t,e,r,n){var i=-1,o=null==t?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}},"4yG7":function(t,e,r){var n=r("HAGj");t.exports=function(t,e,r){return null==t?t:n(t,e,r)}},"5/Qr":function(t,e,r){var n=r("Kzd6"),i=r("6Git"),o=r("Jqj6"),a=r("WyC4"),s=r("7jYp"),c=r("0uX4"),u=r("Ilb/"),l="[object Boolean]",f="[object Date]",p="[object Map]",d="[object Number]",v="[object RegExp]",h="[object Set]",m="[object String]",y="[object Symbol]",b="[object ArrayBuffer]",_="[object DataView]",g="[object Float32Array]",x="[object Float64Array]",j="[object Int8Array]",O="[object Int16Array]",C="[object Int32Array]",w="[object Uint8Array]",k="[object Uint8ClampedArray]",P="[object Uint16Array]",E="[object Uint32Array]";t.exports=function(t,e,r,T){var S=t.constructor;switch(e){case b:return n(t);case l:case f:return new S(+t);case _:return i(t,T);case g:case x:case j:case O:case C:case w:case k:case P:case E:return u(t,T);case p:return o(t,T,r);case d:case m:return new S(t);case v:return a(t);case h:return s(t,T,r);case y:return c(t)}}},"5N57":function(t,e,r){var n=r("ICSD")(r("TQ3y"),"Set");t.exports=n},"5PlU":function(t,e,r){var n=r("RY/4"),i=r("dSzd")("iterator"),o=r("/bQp");t.exports=r("FeBl").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(n(e))}},"5pwE":function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,".schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}",""])},"5zde":function(t,e,r){r("zQR9"),r("qyJz"),t.exports=r("FeBl").Array.from},"6Git":function(t,e,r){var n=r("Kzd6");t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}},"6MiT":function(t,e,r){var n=r("aCM0"),i=r("UnEC"),o="[object Symbol]";t.exports=function(t){return"symbol"==typeof t||i(t)&&n(t)==o}},"77aO":function(t,e,r){"use strict";e.a={props:{collapsed:{type:Boolean,default:!1}},data:function(){return{expanded:!this.collapsed,transitioning:!1}},watch:{collapsed:function(t){this.expanded=!t}},methods:{beforeenter:function(t){this.transitioning=!0,t.style.height=0},enter:function(t){t.style.height=t.scrollHeight+"px"},afterenter:function(t){t.style.height="",this.transitioning=!1},beforeleave:function(t){this.transitioning=!0,t.style.height=t.offsetHeight+"px",t.offsetHeight},leave:function(t){t.style.height=0,t.offsetHeight},afterleave:function(t){this.transitioning=!1},toggle:function(){this.transitioning||(this.expanded=!this.expanded,this.$emit(this.expanded?"expanding":"collapsing",this.id))}}}},"7e4z":function(t,e,r){var n=r("uieL"),i=r("1Yb9"),o=r("NGEn"),a=r("ggOT"),s=r("ZGh9"),c=r("YsVG"),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var r=o(t),l=!r&&i(t),f=!r&&!l&&a(t),p=!r&&!l&&!f&&c(t),d=r||l||f||p,v=d?n(t.length,String):[],h=v.length;for(var m in t)!e&&!u.call(t,m)||d&&("length"==m||f&&("offset"==m||"parent"==m)||p&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,h))||v.push(m);return v}},"7jYp":function(t,e,r){var n=r("nWuj"),i=r("3rZI"),o=r("octw"),a=1;t.exports=function(t,e,r){var s=e?r(o(t),a):o(t);return i(s,n,new t.constructor)}},"8AZL":function(t,e){t.exports=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}},"8gK5":function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}},"94sX":function(t,e,r){var n=r("dCZQ");t.exports=function(){this.__data__=n?n(null):{},this.size=0}},"9UkZ":function(t,e,r){var n=r("aCM0"),i=r("vi0E"),o=r("UnEC"),a="[object Object]",s=Function.prototype,c=Object.prototype,u=s.toString,l=c.hasOwnProperty,f=u.call(Object);t.exports=function(t){if(!o(t)||n(t)!=a)return!1;var e=i(t);if(null===e)return!0;var r=l.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&u.call(r)==f}},A51D:function(t,e,r){var n=r("5pwE");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("188b52d2",n,!1)},A9mX:function(t,e,r){var n=r("pTUa");t.exports=function(t){var e=n(this,t).delete(t);return this.size-=e?1:0,e}},"Ai/T":function(t,e){var r=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return r.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},AxiT:function(t,e,r){var n=r("Lw7C");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("0868896c",n,!1)},C0hh:function(t,e){t.exports=function(){return[]}},CW5P:function(t,e,r){var n=r("T/bE"),i=r("duB3"),o=r("POb3");t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(o||i),string:new n}}},Cf65:function(t,e,r){var n=r("uCi2"),i=r("M1c9");t.exports=function(t,e){return e.length<2?t:n(t,i(e,0,-1))}},D9sP:function(t,e,r){"use strict";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"schemaDetail",class:{"is-loading":t.loading},attrs:{id:"schema-detail"}},[r("div",{staticClass:"accordion"},[null!==t.masterSchema?r("card",{attrs:{collapsed:!0}},[r("template",{slot:"header"},[t._v("\n        Structure of the payload\n      ")]),r("ul",t._l(t.masterSchema.properties,function(t,e){return r("schemaToc",{key:e,attrs:{schema:t}})}))],2):t._e(),t._t("default")],2),r("h1",[r("a",{attrs:{id:t.type+"-schema-detail",title:t.type+" Fields definition"}}),t._v("\n    Fields definition\n  ")]),t._l(t.schemas,function(e){return r("div",{key:e.$id,staticClass:"card property"},[r("header",{staticClass:"card-header"},[r("a",{attrs:{id:"p-"+e.$id}}),r("p",{staticClass:"card-header-title"},[r("span",{domProps:{innerHTML:t._s(e.getPath())}})]),r("nuxt-link",{staticClass:"card-header-icon",attrs:{to:"#schema-detail",title:"go up"}},[r("span",{staticClass:"icon"},[r("i",{staticClass:"fa fa-angle-up"})])])],1),r("div",{staticClass:"card-content"},[e.description||e.type?r("div",{staticClass:"field is-horizontal"},[t._m(0,!0),e.description?r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.description)+"\n        ")]):e.type?r("div",{staticClass:"field-body"},[t._v("\n          A simple "+t._s(t._f("capitalize")(e.type))+"\n        ")]):t._e()]):t._e(),e.$parent?r("div",{staticClass:"field is-horizontal"},[t._m(1,!0),r("div",{staticClass:"field-body"},[r("nuxt-link",{attrs:{to:"#p-"+e.$parent.schema.$id}},[r("span",{domProps:{innerHTML:t._s(e.$parent.schema.getPath())}})])],1)]):t._e(),e.type?r("div",{staticClass:"field is-horizontal"},[t._m(2,!0),r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(t._f("capitalize")(e.type,e))+"\n        ")])]):t._e(),e.format?r("div",{staticClass:"field is-horizontal"},[t._m(3,!0),r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.format)+"\n          "),t.$static.formats[e.format]?r("a",{attrs:{href:t.$static.formats[e.format].link}},[t._v(" ("+t._s(t.$static.formats[e.format].name)+")")]):t._e()])]):t._e(),e.enum&&e.enum.length?r("div",{staticClass:"field is-horizontal"},[t._m(4,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.enum.join(", "))+"\n          ")])])]):t._e(),e.hasOwnProperty("default")?r("div",{staticClass:"field is-horizontal"},[t._m(5,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.default)+"\n          ")])])]):t._e(),e.maxLength?r("div",{staticClass:"field is-horizontal"},[t._m(6,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.maxLength)+"\n          ")])])]):t._e(),e.properties||e.patternProperties||e.items?r("div",{staticClass:"field is-horizontal"},[t._m(7,!0),r("div",{staticClass:"field-body"},[Object.keys(e.properties||{}).length>0?r("schemaLink",{attrs:{link:e.properties}}):t._e(),Object.keys(e.patternProperties||{}).length>0?r("schemaLink",{attrs:{link:e.patternProperties}},[r("div",[t._v("Matching regular expressions:")])]):t._e(),!e.items||e.items instanceof Array?e.items?r("schemaLink",{attrs:{link:e.items}},[r("div",[t._v("Ordered items of type:")])]):t._e():r("schemaLink",{attrs:{link:e.items}}),Object.keys(e.properties||{}).length+Object.keys(e.patternProperties||{}).length!==0||e.items?t._e():[t._v("none")]],2)]):t._e(),e.minProperties?r("div",{staticClass:"field is-horizontal"},[t._m(8,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.minProperties)+"\n          ")])])]):t._e(),e.minItems?r("div",{staticClass:"field is-horizontal"},[t._m(9,!0),r("div",{staticClass:"field-body"},[r("div",[t._v("\n            "+t._s(e.minItems)+"\n          ")])])]):t._e(),e.hasOwnProperty("additionalProperties")?r("div",{staticClass:"field is-horizontal"},[t._m(10,!0),"boolean"==typeof e.additionalProperties?r("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}}):r("div",{staticClass:"field-body"},[t._v("\n          if fulfilling "),r("schemaLink",{staticClass:"field-body",attrs:{link:e.additionalProperties}})],1)],1):t._e(),e.not||e.oneOf||e.allOf||e.anyOf?r("div",{staticClass:"field is-horizontal"},[t._m(11,!0),r("div",{staticClass:"field-body"},[e.not?r("schemaLink",{attrs:{link:e.not}},[t._v("\n            Not fulfilling \n          ")]):t._e(),e.oneOf?r("schemaLink",{attrs:{link:e.oneOf}},[r("div",[t._v("Fulfilling exactly one of:")])]):t._e(),e.allOf?r("schemaLink",{attrs:{link:e.allOf}},[r("div",[t._v("Fulfilling all of:")])]):t._e(),e.anyOf?r("schemaLink",{attrs:{link:e.anyOf}},[r("div",[t._v("Fulfilling one of:")])]):t._e()],1)]):t._e(),e.required&&e.required.length?r("div",{staticClass:"field is-horizontal"},[t._m(12,!0),r("div",{staticClass:"field-body"},[t._v("\n          "+t._s(e.required.join(", "))+"\n        ")])]):t._e(),e.examples?r("div",{staticClass:"field is-horizontal"},[t._m(13,!0),r("div",{staticClass:"field-body"},t._l(e.examples,function(e,n){return r("prism",{key:n,attrs:{language:"json"}},[t._v(t._s(t._f("stringify")(e)))])}))]):t._e()])])})],2)};n._withStripped=!0;var i={render:n,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Description:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Parent:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Type:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Format:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Possible values:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Defaults to:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Maximum length:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction on subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of subfields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Minimum amount of items:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Allows additional fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Restriction with boolean logic:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Required fields:")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"field-label"},[e("label",{staticClass:"label"},[this._v("Example:")])])}]};e.a=i},Dc0G:function(t,e,r){(function(t){var n=r("blYT"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i&&n.process,s=function(){try{return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s}).call(e,r("3IRH")(t))},Dc7M:function(t,e,r){var n=r("Hxdr"),i=r("Fkvj"),o=r("Vi3P"),a=r("bIjD"),s=r("tv3T"),c=r("dYhQ"),u=r("2N6f"),l=r("xond"),f=u(function(t,e){var r={};if(null==t)return r;var u=!1;e=n(e,function(e){return e=a(e,t),u||(u=e.length>1),e}),s(t,l(t),r),u&&(r=i(r,7,c));for(var f=e.length;f--;)o(r,e[f]);return r});t.exports=f},Dv2r:function(t,e,r){var n=r("pTUa");t.exports=function(t,e){var r=n(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}},E4Hj:function(t,e){t.exports=function(t){return this.__data__.get(t)}},FCuZ:function(t,e,r){var n=r("uIr7"),i=r("NGEn");t.exports=function(t,e,r){var o=e(t);return i(t)?o:n(o,r(t))}},Fkvj:function(t,e,r){var n=r("bJWQ"),i=r("PqYH"),o=r("i4ON"),a=r("jD7S"),s=r("py9u"),c=r("mKB/"),u=r("hrPF"),l=r("Nkkh"),f=r("1QDk"),p=r("MoMe"),d=r("xond"),v=r("gHOb"),h=r("UfSK"),m=r("5/Qr"),y=r("WQFf"),b=r("NGEn"),_=r("ggOT"),g=r("yCNF"),x=r("ktak"),j=1,O=2,C=4,w="[object Arguments]",k="[object Function]",P="[object GeneratorFunction]",E="[object Object]",T={};T[w]=T["[object Array]"]=T["[object ArrayBuffer]"]=T["[object DataView]"]=T["[object Boolean]"]=T["[object Date]"]=T["[object Float32Array]"]=T["[object Float64Array]"]=T["[object Int8Array]"]=T["[object Int16Array]"]=T["[object Int32Array]"]=T["[object Map]"]=T["[object Number]"]=T[E]=T["[object RegExp]"]=T["[object Set]"]=T["[object String]"]=T["[object Symbol]"]=T["[object Uint8Array]"]=T["[object Uint8ClampedArray]"]=T["[object Uint16Array]"]=T["[object Uint32Array]"]=!0,T["[object Error]"]=T[k]=T["[object WeakMap]"]=!1,t.exports=function t(e,r,S,A,$,I){var F,M=r&j,D=r&O,z=r&C;if(S&&(F=$?S(e,A,$,I):S(e)),void 0!==F)return F;if(!g(e))return e;var N=b(e);if(N){if(F=h(e),!M)return u(e,F)}else{var U=v(e),Q=U==k||U==P;if(_(e))return c(e,M);if(U==E||U==w||Q&&!$){if(F=D||Q?{}:y(e),!M)return D?f(e,s(F,e)):l(e,a(F,e))}else{if(!T[U])return $?e:{};F=m(e,U,t,M)}}I||(I=new n);var G=I.get(e);if(G)return G;I.set(e,F);var H=z?D?d:p:D?keysIn:x,L=N?void 0:H(e);return i(L||e,function(n,i){L&&(n=e[i=n]),o(F,i,t(n,r,S,i,e,I))}),F}},Fp5l:function(t,e,r){var n=r("bGc4"),i=r("UnEC");t.exports=function(t){return i(t)&&n(t)}},G0Wc:function(t,e,r){var n=r("yCNF"),i=r("HT7L"),o=r("8gK5"),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return o(t);var e=i(t),r=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&r.push(s);return r}},G2xm:function(t,e){t.exports=function(t){return this.__data__.has(t)}},Gs0Q:function(t,e,r){"use strict";e.a={name:"schemaToc",props:{tag:{type:String,default:"li"},schema:{type:Object,required:!0}}}},Gu7T:function(t,e,r){"use strict";e.__esModule=!0;var n,i=r("c/Tr"),o=(n=i)&&n.__esModule?n:{default:n};e.default=function(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return(0,o.default)(t)}},HAGj:function(t,e,r){var n=r("i4ON"),i=r("bIjD"),o=r("ZGh9"),a=r("yCNF"),s=r("Ubhr");t.exports=function(t,e,r,c){if(!a(t))return t;for(var u=-1,l=(e=i(e,t)).length,f=l-1,p=t;null!=p&&++u<l;){var d=s(e[u]),v=r;if(u!=f){var h=p[d];void 0===(v=c?c(h,d,p):void 0)&&(v=a(h)?h:o(e[u+1])?[]:{})}n(p,d,v),p=p[d]}return t}},HN2V:function(t,e,r){var n=r("HbnZ"),i=r("0DSl")(function(t,e,r){n(t,e,r)});t.exports=i},HT7L:function(t,e){var r=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||r)}},HbnZ:function(t,e,r){var n=r("bJWQ"),i=r("O1jc"),o=r("rpnb"),a=r("jMi8"),s=r("yCNF"),c=r("t8rQ");t.exports=function t(e,r,u,l,f){e!==r&&o(r,function(o,c){if(s(o))f||(f=new n),a(e,r,c,u,t,l,f);else{var p=l?l(e[c],o,c+"",e,r,f):void 0;void 0===p&&(p=o),i(e,c,p)}},c)}},Hxdr:function(t,e){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}},ICSD:function(t,e,r){var n=r("ITwD"),i=r("mTAn");t.exports=function(t,e){var r=i(t,e);return n(r)?r:void 0}},ITwD:function(t,e,r){var n=r("gGqR"),i=r("eFps"),o=r("yCNF"),a=r("Ai/T"),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,f=u.hasOwnProperty,p=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(n(t)?p:s).test(a(t))}},"Ilb/":function(t,e,r){var n=r("Kzd6");t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}},JBvZ:function(t,e,r){var n=r("imBK");t.exports=function(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}},Jqj6:function(t,e,r){var n=r("U7Aq"),i=r("3rZI"),o=r("WFiI"),a=1;t.exports=function(t,e,r){var s=e?r(o(t),a):o(t);return i(s,n,new t.constructor)}},KmWZ:function(t,e,r){var n=r("duB3");t.exports=function(){this.__data__=new n,this.size=0}},Kzd6:function(t,e,r){var n=r("qwTf");t.exports=function(t){var e=new t.constructor(t.byteLength);return new n(e).set(new n(t)),e}},LJry:function(t,e,r){"use strict";var n={functional:!0,props:{code:{type:String},language:{type:String,default:"markup"}},render:function(t,e){var r=e.props.code||e.children[0].text,n=e.props.language,i=Prism.languages[n],o="language-"+n;return t("pre",function(t){for(var e=arguments,r=1;r<arguments.length;r++)for(var n in arguments[r])t[n]=e[r][n];return t}({},e.data,{class:[e.data.class,o]}),[t("code",{class:o,domProps:{innerHTML:Prism.highlight(r,i)}})])}};t.exports=n},Lw7C:function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}",""])},M1c9:function(t,e){t.exports=function(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}},MoMe:function(t,e,r){var n=r("FCuZ"),i=r("l9Lx"),o=r("ktak");t.exports=function(t){return n(t,o,i)}},NGEn:function(t,e){var r=Array.isArray;t.exports=r},NVTU:function(t,e,r){"use strict";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"card collapsibleCard",class:{collapsed:!t.expanded}},[t.$slots.header?r("header",{staticClass:"card-header",on:{click:function(e){e.preventDefault(),t.toggle()}}},[r("p",{staticClass:"card-header-title"},[!t.$slots.headerCollapsed||t.expanded?t._t("header"):t._t("headerCollapsed")],2),r("a",{staticClass:"card-header-icon"},[r("span",{staticClass:"icon"},[r("i",{staticClass:"fa",class:{"fa-angle-down":t.expanded,"fa-angle-up":!t.expanded}})])])]):t._e(),r("transition",{attrs:{name:"rollup","leave-active-class":"collapsing","enter-active-class":"collapsing"},on:{"before-leave":t.beforeleave,leave:t.leave,"after-leave":t.afterleave,"before-enter":t.beforeenter,enter:t.enter,"after-enter":t.afterenter}},[r("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}]},[r("div",{staticClass:"card-content"},[t._t("default")],2)])])],1)};n._withStripped=!0;var i={render:n,staticRenderFns:[]};e.a=i},NkRn:function(t,e,r){var n=r("TQ3y").Symbol;t.exports=n},Nkkh:function(t,e,r){var n=r("tv3T"),i=r("l9Lx");t.exports=function(t,e){return n(t,i(t),e)}},NqZt:function(t,e){t.exports=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}},O1jc:function(t,e,r){var n=r("nw3t"),i=r("22B7");t.exports=function(t,e,r){(void 0===r||i(t[e],r))&&(void 0!==r||e in t)||n(t,e,r)}},Oey6:function(t,e,r){"use strict";var n=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"process-message content"},[this._m(0),e("p",[this._v("The process message is the format to exchange data out of discrete processes. It also allows to transport process information, part information and measurement data for each phase of the process.")]),e("img",{staticClass:"is-center",attrs:{src:"images/specification/v3/processPayload.svg",alt:"Class diagram of the Process message payload",title:"Class diagram of the Process Message payload"}}),e("schemaDetail",{attrs:{type:"v3/process",examples:this.$static.examples}},[e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Minimal message example \n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.message)))])],2),e("card",{attrs:{collapsed:!0}},[e("template",{slot:"header"},[this._v("\n        Process message example \n      ")]),e("prism",{attrs:{language:"json"}},[this._v(this._s(this._f("stringify")(this.$static.complexMessage)))])],2)],1)],1)};n._withStripped=!0;var i={render:n,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",[e("a",{attrs:{id:"Process-Payload",title:"Process Message payload"}}),this._v("\n    Process Payload\n  ")])}]};e.a=i},POb3:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"Map");t.exports=n},PqYH:function(t,e){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}},Q2wK:function(t,e,r){var n=r("8AZL"),i=Math.max;t.exports=function(t,e,r){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,s=i(o.length-e,0),c=Array(s);++a<s;)c[a]=o[e+a];a=-1;for(var u=Array(e+1);++a<e;)u[a]=o[a];return u[e]=r(c),n(t,this,u)}}},Q7hp:function(t,e,r){var n=r("uCi2");t.exports=function(t,e,r){var i=null==t?void 0:n(t,e);return void 0===i?r:i}},Qp3N:function(t,e,r){var n=r("NkRn"),i=r("1Yb9"),o=r("NGEn"),a=n?n.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},RGrk:function(t,e,r){var n=r("dCZQ"),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return n?void 0!==e[t]:i.call(e,t)}},Rh28:function(t,e){var r=9007199254740991;t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}},S7p9:function(t,e){t.exports=function(t){return function(e){return t(e)}}},"T/bE":function(t,e,r){var n=r("94sX"),i=r("ue/d"),o=r("eVIm"),a=r("RGrk"),s=r("Z2pD");function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},T9Hf:function(t,e,r){"use strict";var n=r("77aO"),i=r("NVTU"),o=!1;var a=function(t){o||r("WVEp")},s=r("VU/8")(n.a,i.a,!1,a,null,null);s.options.__file="components\\collapsibleCard.vue",e.a=s.exports},TQ3y:function(t,e,r){var n=r("blYT"),i="object"==typeof self&&self&&self.Object===Object&&self,o=n||i||Function("return this")();t.exports=o},TlPD:function(t,e,r){var n=r("tv3T"),i=r("t8rQ");t.exports=function(t){return n(t,i(t))}},TmV0:function(t,e,r){r("fZOM"),t.exports=r("FeBl").Object.values},U7Aq:function(t,e){t.exports=function(t,e){return t.set(e[0],e[1]),t}},Ubhr:function(t,e,r){var n=r("6MiT"),i=1/0;t.exports=function(t){if("string"==typeof t||n(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}},UfSK:function(t,e){var r=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&r.call(t,"index")&&(n.index=t.index,n.input=t.input),n}},UnEC:function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},UnLw:function(t,e,r){var n=/^\./,i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r("fMqj")(function(t){var e=[];return n.test(t)&&e.push(""),t.replace(i,function(t,r,n,i){e.push(n?i.replace(o,"$1"):r||t)}),e});t.exports=a},VORN:function(t,e,r){var n=r("yCNF"),i=Object.create,o=function(){function t(){}return function(e){if(!n(e))return{};if(i)return i(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();t.exports=o},Vi3P:function(t,e,r){var n=r("bIjD"),i=r("oqL2"),o=r("Cf65"),a=r("Ubhr");t.exports=function(t,e){return e=n(e,t),null==(t=o(t,e))||delete t[a(i(e))]}},W3Iv:function(t,e,r){t.exports={default:r("wEtr"),__esModule:!0}},W529:function(t,e,r){var n=r("f931")(Object.keys,Object);t.exports=n},WFiI:function(t,e){t.exports=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}},WHce:function(t,e,r){var n=r("037f"),i=r("Zk5a")(n);t.exports=i},WQFf:function(t,e,r){var n=r("VORN"),i=r("vi0E"),o=r("HT7L");t.exports=function(t){return"function"!=typeof t.constructor||o(t)?{}:n(i(t))}},WVEp:function(t,e,r){var n=r("a3hs");"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);r("rjj0")("52cedc5e",n,!1)},WxI4:function(t,e){t.exports=function(){this.__data__=[],this.size=0}},WyC4:function(t,e){var r=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,r.exec(t));return e.lastIndex=t.lastIndex,e}},Xd32:function(t,e,r){r("+tPU"),r("zQR9"),t.exports=r("5PlU")},YeCl:function(t,e,r){var n=r("CW5P"),i=r("A9mX"),o=r("v8Dt"),a=r("agim"),s=r("Dv2r");function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},YkxI:function(t,e,r){var n=r("wSKX"),i=r("Q2wK"),o=r("WHce");t.exports=function(t,e){return o(i(t,e,n),t+"")}},YsVG:function(t,e,r){var n=r("z4hc"),i=r("S7p9"),o=r("Dc0G"),a=o&&o.isTypedArray,s=a?i(a):n;t.exports=s},Z2pD:function(t,e,r){var n=r("dCZQ"),i="__lodash_hash_undefined__";t.exports=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=n&&void 0===e?i:e,this}},ZGh9:function(t,e){var r=9007199254740991,n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){return!!(e=null==e?r:e)&&("number"==typeof t||n.test(t))&&t>-1&&t%1==0&&t<e}},ZT2e:function(t,e,r){var n=r("o2mx");t.exports=function(t){return null==t?"":n(t)}},Zk5a:function(t,e){var r=800,n=16,i=Date.now;t.exports=function(t){var e=0,o=0;return function(){var a=i(),s=n-(a-o);if(o=a,s>0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},Zrlr:function(t,e,r){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},a3hs:function(t,e,r){(t.exports=r("YHym")(!1)).push([t.i,"@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}",""])},aCM0:function(t,e,r){var n=r("NkRn"),i=r("uLhX"),o=r("+66z"),a="[object Null]",s="[object Undefined]",c=n?n.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:a:c&&c in Object(t)?i(t):o(t)}},agim:function(t,e,r){var n=r("pTUa");t.exports=function(t){return n(this,t).has(t)}},bGc4:function(t,e,r){var n=r("gGqR"),i=r("Rh28");t.exports=function(t){return null!=t&&i(t.length)&&!n(t)}},bIbi:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"WeakMap");t.exports=n},bIjD:function(t,e,r){var n=r("NGEn"),i=r("hIPy"),o=r("UnLw"),a=r("ZT2e");t.exports=function(t,e){return n(t)?t:i(t,e)?[t]:o(a(t))}},bJWQ:function(t,e,r){var n=r("duB3"),i=r("KmWZ"),o=r("NqZt"),a=r("E4Hj"),s=r("G2xm"),c=r("zpVT");function u(t){var e=this.__data__=new n(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=o,u.prototype.get=a,u.prototype.has=s,u.prototype.set=c,t.exports=u},bO0Y:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"Promise");t.exports=n},"bXX+":function(t,e,r){"use strict";var n=r("jhkR"),i=r("fvMW"),o=r("VU/8")(n.a,i.a,!1,null,null,null);o.options.__file="components\\schemaLink.vue",e.a=o.exports},bklM:function(t,e,r){var n=r("Fkvj"),i=1,o=4;t.exports=function(t){return n(t,i|o)}},blYT:function(t,e,r){(function(e){var r="object"==typeof e&&e&&e.Object===Object&&e;t.exports=r}).call(e,r("DuR2"))},"c/Tr":function(t,e,r){t.exports={default:r("5zde"),__esModule:!0}},cER1:function(t,e,r){"use strict";var n=r("mvHQ"),i=r.n(n),o=r("fZjL"),a=r.n(o),s=r("Gu7T"),c=r.n(s),u=r("gRE1"),l=r.n(u),f=r("d7EF"),p=r.n(f),d=r("W3Iv"),v=r.n(d),h=r("T9Hf"),m=r("rVUV"),y=(r.n(m),r("Q7hp")),b=r.n(y),_=r("HN2V"),g=r.n(_),x=r("LJry"),j=r.n(x),O=r("lOo0"),C=r("bXX+"),w=r("mQxp"),k=r("4yG7"),P=r.n(k);e.a={props:{type:{type:String,required:!0},examples:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{masterSchema:null,loading:!0}},created:function(){var t=this,e={date:{link:"https://tools.ietf.org/html/rfc3339#section-5.6",name:"RFC3339, 5.6"},email:{link:"https://tools.ietf.org/html/rfc5322#section-3.4.1",name:"RFC5322, 3.4.1"}};r("+99L")("./"+this.type+"_schema.json").then(function(e){return t.masterSchema=new O.a("$",null,e),v()(t.examples).forEach(function(e){var r=p()(e,2),n=r[0],i=r[1];b()(t.masterSchema,n)?P()(t.masterSchema,n+".examples",i):console.error("schema path not found in "+t.type+": "+n)}),t.loading=!1,e}).catch(function(t){throw t}),this.$static={formats:{"date-time":e.date,date:e.date,time:e.date,email:e.email}}},methods:{traverse:function(t,e){var r=this;t instanceof O.a?(e(t),v()(t).filter(function(t){var e=p()(t,2),r=e[0];e[1];return"$parent"!==r}).forEach(function(t){var n=p()(t,2),i=(n[0],n[1]);return r.traverse(i,e)})):t instanceof Array?t.forEach(function(t){return r.traverse(t,e)}):t instanceof Object&&l()(t).forEach(function(t){return r.traverse(t,e)})},simplifySchema:function(t){var e=function(t){return t.anyOf&&t.anyOf.indexOf(!0)>=0?[t,!0]:t.allOf&&t.allOf.indexOf(!1)>=0?[t,!1]:t.allOf&&t.allOf.length?[t,new O.a(t.$step,t.$parent,g.a.apply(void 0,[{}].concat(c()(t.allOf.map(function(t){return t.toJSON()})))))]:!0===t.not?[t,!1]:0===a()(t).filter(function(t){return"$"!==t[0]}).length?[t,!0]:null};return this.traverse(t,function(t){!function t(r){if(r){var n=p()(r,2),i=n[0],o=n[1],a=i.$parent;a&&P()(a.schema,a.path,o),i.$parent=null,t(e(a.schema))}}(e(t))}),t}},computed:{schemas:function(){if(!this.masterSchema)return null;var t={};return this.traverse(this.simplifySchema(this.masterSchema),function(e){t[e.$id]=e}),t}},filters:{stringify:function(t){return i()(t," ",2)},capitalize:function(t,e){return t?(t instanceof Array||(t=[t]),t.map(function(t){return""+t[0].toUpperCase()+t.slice(1)}).join(", ")):""}},components:{card:h.a,prism:j.a,schemaToc:w.a,schemaLink:C.a}}},d4US:function(t,e,r){var n=r("ICSD")(r("TQ3y"),"DataView");t.exports=n},d7EF:function(t,e,r){"use strict";e.__esModule=!0;var n=o(r("us/S")),i=o(r("BO1k"));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(){return function(t,e){if(Array.isArray(t))return t;if((0,n.default)(Object(t)))return function(t,e){var r=[],n=!0,o=!1,a=void 0;try{for(var s,c=(0,i.default)(t);!(n=(s=c.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){o=!0,a=t}finally{try{!n&&c.return&&c.return()}finally{if(o)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},dCZQ:function(t,e,r){var n=r("ICSD")(Object,"create");t.exports=n},dFpP:function(t,e,r){var n=r("imBK"),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,r=n(e,t);return!(r<0||(r==e.length-1?e.pop():i.call(e,r,1),--this.size,0))}},dYhQ:function(t,e,r){var n=r("9UkZ");t.exports=function(t){return n(t)?void 0:t}},deUO:function(t,e,r){var n=r("imBK");t.exports=function(t,e){var r=this.__data__,i=n(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}},duB3:function(t,e,r){var n=r("WxI4"),i=r("dFpP"),o=r("JBvZ"),a=r("2Hvv"),s=r("deUO");function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=a,c.prototype.set=s,t.exports=c},eFps:function(t,e,r){var n,i=r("+gg+"),o=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(t){return!!o&&o in t}},eVIm:function(t,e,r){var n=r("dCZQ"),i="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(n){var r=e[t];return r===i?void 0:r}return o.call(e,t)?e[t]:void 0}},f931:function(t,e){t.exports=function(t,e){return function(r){return t(e(r))}}},fBQ2:function(t,e,r){"use strict";var n=r("evD5"),i=r("X8DO");t.exports=function(t,e,r){e in t?n.f(t,e,i(0,r)):t[e]=r}},fMqj:function(t,e,r){var n=r("zGZ6"),i=500;t.exports=function(t){var e=n(t,function(t){return r.size===i&&r.clear(),t}),r=e.cache;return e}},fZOM:function(t,e,r){var n=r("kM2E"),i=r("mbce")(!1);n(n.S,"Object",{values:function(t){return i(t)}})},fvMW:function(t,e,r){"use strict";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",[t._t("default"),!0===t.link?[t._v("\n    yes \n  ")]:!1===t.link?[t._v("\n    no \n  ")]:t.isSchema(t.link)?[r("nuxt-link",{attrs:{to:"#p-"+t.link.$id}},[r("span",{domProps:{innerHTML:t._s(t.link.getPath())}})])]:t.link instanceof Array?r("ul",t._l(t.link,function(e){return r("li",{key:e.$id},[r("nuxt-link",{attrs:{to:"#p-"+e.$id}},[r("span",{domProps:{innerHTML:t._s(e.getPath())}})])],1)})):t.link instanceof Object?r("ul",t._l(t.link,function(e,n){return r("li",[r("nuxt-link",{attrs:{to:"#p-"+e.$id}},[t._v("\n        "+t._s(n)+"\n      ")])],1)})):t._e()],2)};n._withStripped=!0;var i={render:n,staticRenderFns:[]};e.a=i},gGqR:function(t,e,r){var n=r("aCM0"),i=r("yCNF"),o="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",c="[object Proxy]";t.exports=function(t){if(!i(t))return!1;var e=n(t);return e==a||e==s||e==o||e==c}},gHOb:function(t,e,r){var n=r("d4US"),i=r("POb3"),o=r("bO0Y"),a=r("5N57"),s=r("bIbi"),c=r("aCM0"),u=r("Ai/T"),l="[object Promise]",f="[object WeakMap]",p="[object DataView]",d=u(n),v=u(i),h=u(o),m=u(a),y=u(s),b=c;(n&&b(new n(new ArrayBuffer(1)))!=p||i&&"[object Map]"!=b(new i)||o&&b(o.resolve())!=l||a&&"[object Set]"!=b(new a)||s&&b(new s)!=f)&&(b=function(t){var e=c(t),r="[object Object]"==e?t.constructor:void 0,n=r?u(r):"";if(n)switch(n){case d:return p;case v:return"[object Map]";case h:return l;case m:return"[object Set]";case y:return f}return e}),t.exports=b},gRE1:function(t,e,r){t.exports={default:r("TmV0"),__esModule:!0}},gSvA:function(t,e,r){var n=r("kM2E"),i=r("mbce")(!0);n(n.S,"Object",{entries:function(t){return i(t)}})},ggOT:function(t,e,r){(function(t){var n=r("TQ3y"),i=r("gwcX"),o="object"==typeof e&&e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,s=a&&a.exports===o?n.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(e,r("3IRH")(t))},gwcX:function(t,e){t.exports=function(){return!1}},hEik:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r("xG/K"),i=r("Oey6"),o=r("VU/8")(n.a,i.a,!1,null,null,null);o.options.__file="pages\\specification\\v3\\process-message.vue",e.default=o.exports},hIPy:function(t,e,r){var n=r("NGEn"),i=r("6MiT"),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(n(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!i(t))||a.test(t)||!o.test(t)||null!=e&&t in Object(e)}},hrPF:function(t,e){t.exports=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}},hvFG:function(t,e,r){"use strict";var n=function(){var t=this.$createElement,e=this._self._c||t;return e(this.tag,{tag:"component"},[e("nuxt-link",{attrs:{to:"#p-"+this.schema.$id}},[e("span",{domProps:{innerHTML:this._s(this.schema.$step)}})]),this.schema.properties||this.schema.patternProperties||this.schema.items?e("ul",[this._l(this.schema.properties,function(t,r){return e("schemaToc",{key:r,attrs:{schema:t}})}),this._l(this.schema.patternProperties,function(t,r){return e("schemaToc",{key:r,attrs:{schema:t}})}),this.schema.items?[this.schema.items instanceof Array?this._l(this.schema.items,function(t,r){return e("schemaToc",{key:r,attrs:{schema:t}})}):e("schemaToc",{attrs:{schema:this.schema.items}})]:this._e()],2):this._e()],1)};n._withStripped=!0;var i={render:n,staticRenderFns:[]};e.a=i},i4ON:function(t,e,r){var n=r("nw3t"),i=r("22B7"),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){var a=t[e];o.call(t,e)&&i(a,r)&&(void 0!==r||e in t)||n(t,e,r)}},imBK:function(t,e,r){var n=r("22B7");t.exports=function(t,e){for(var r=t.length;r--;)if(n(t[r][0],e))return r;return-1}},jD7S:function(t,e,r){var n=r("tv3T"),i=r("ktak");t.exports=function(t,e){return t&&n(e,i(e),t)}},jMi8:function(t,e,r){var n=r("O1jc"),i=r("mKB/"),o=r("Ilb/"),a=r("hrPF"),s=r("WQFf"),c=r("1Yb9"),u=r("NGEn"),l=r("Fp5l"),f=r("ggOT"),p=r("gGqR"),d=r("yCNF"),v=r("9UkZ"),h=r("YsVG"),m=r("TlPD");t.exports=function(t,e,r,y,b,_,g){var x=t[r],j=e[r],O=g.get(j);if(O)n(t,r,O);else{var C=_?_(x,j,r+"",t,e,g):void 0,w=void 0===C;if(w){var k=u(j),P=!k&&f(j),E=!k&&!P&&h(j);C=j,k||P||E?u(x)?C=x:l(x)?C=a(x):P?(w=!1,C=i(j,!0)):E?(w=!1,C=o(j,!0)):C=[]:v(j)||c(j)?(C=x,c(x)?C=m(x):(!d(x)||y&&p(x))&&(C=s(j))):w=!1}w&&(g.set(j,C),b(C,j,y,_,g),g.delete(j)),n(t,r,C)}}},jhkR:function(t,e,r){"use strict";var n=r("lOo0");e.a={props:{link:{required:!0}},methods:{isSchema:function(t){return t instanceof n.a}}}},ktak:function(t,e,r){var n=r("7e4z"),i=r("/GnY"),o=r("bGc4");t.exports=function(t){return o(t)?n(t):i(t)}},l9Lx:function(t,e,r){var n=r("lb6C"),i=r("C0hh"),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),n(a(t),function(e){return o.call(t,e)}))}:i;t.exports=s},lOo0:function(t,e,r){"use strict";var n=r("woOf"),i=r.n(n),o=r("d7EF"),a=r.n(o),s=r("W3Iv"),c=r.n(s),u=r("Zrlr"),l=r.n(u),f=r("wxAW"),p=r.n(f),d=r("bklM"),v=r.n(d),h=r("rVUV"),m=r.n(h),y=r("Dc7M"),b=r.n(y),_=function(){function t(e,r,n){l()(this,t),this.$id=t.idx++,this.$step=e+"&#8203",this.$parent=r,n&&this.parseFrom(n)}return p()(t,[{key:"toJSON",value:function(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;return m()(r,function(r,n,i,o){if(r instanceof t)return c()(r).filter(function(t){var e=a()(t,2),r=e[0];e[1];return["$id","$step","$parent"].indexOf(r)<0}).reduce(function(t,r){var n=a()(r,2),i=n[0],o=n[1];return t[i]=e.toJSON(o),t},{})})}},{key:"getPath",value:function(){var t="";return this.$parent&&(t+=this.$parent.schema.getPath(),"object"===this.$parent.schema.type&&(t+=".")),t+=this.$step,this.getPath=function(){return t},t}},{key:"parseFrom",value:function(e){var r=this;return!0===e?e={}:!1===e&&(e={not:!0}),i()(this,b()(v()(e),["$step","$id","$parent","items","properties","patternProperties","additionalItems","additionalProperties","contains","propertyNames","not","allOf","anyOf","oneOf"])),e.items&&(e.items instanceof Array?this.items=e.items.map(function(n,i){return new t("["+i+"]",{schema:r,path:"items["+i+"]"},e.items[i])}):this.items=new t("[*]",{schema:this,path:"items"},e.items)),["properties","patternProperties"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(n){return c()(e[n]).forEach(function(e,i){var o=a()(e,2),s=o[0],c=o[1];r[n]=r[n]||{},r[n][s]=new t("patternProperties"===n?"&lt;field&gt;":s,{schema:r,path:n+'["'+s+'"]'},c)})}),["additionalItems","additionalProperties","contains","propertyNames","not"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(n){r[n]=new t("+",{schema:r,path:n},e[n])}),["allOf","anyOf","oneOf"].filter(function(t){return e.hasOwnProperty(t)}).forEach(function(n){return e[n].forEach(function(e,i){r[n]=r[n]||[],r[n].push(new t("("+i+")"+("anyOf"===n?"?":"+"),{schema:r,path:n+"["+i+"]"},e))})}),this}}]),t}();_.idx=0,e.a=_},lb6C:function(t,e){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var a=t[r];e(a,r,t)&&(o[i++]=a)}return o}},"mKB/":function(t,e,r){(function(t){var n=r("TQ3y"),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i?n.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=s?s(r):new t.constructor(r);return t.copy(n),n}}).call(e,r("3IRH")(t))},mQxp:function(t,e,r){"use strict";var n=r("Gs0Q"),i=r("hvFG"),o=!1;var a=function(t){o||r("AxiT")},s=r("VU/8")(n.a,i.a,!1,a,null,null);s.options.__file="components\\schemaToc.vue",e.a=s.exports},mTAn:function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},mbce:function(t,e,r){var n=r("lktj"),i=r("TcQ7"),o=r("NpIQ").f;t.exports=function(t){return function(e){for(var r,a=i(e),s=n(a),c=s.length,u=0,l=[];c>u;)o.call(a,r=s[u++])&&l.push(t?[r,a[r]]:a[r]);return l}}},mgnk:function(t,e,r){var n=r("aCM0"),i=r("UnEC"),o="[object Arguments]";t.exports=function(t){return i(t)&&n(t)==o}},nWuj:function(t,e){t.exports=function(t,e){return t.add(e),t}},nw3t:function(t,e,r){var n=r("p0bc");t.exports=function(t,e,r){"__proto__"==e&&n?n(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}},o2mx:function(t,e,r){var n=r("NkRn"),i=r("Hxdr"),o=r("NGEn"),a=r("6MiT"),s=1/0,c=n?n.prototype:void 0,u=c?c.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(o(e))return i(e,t)+"";if(a(e))return u?u.call(e):"";var r=e+"";return"0"==r&&1/e==-s?"-0":r}},octw:function(t,e){t.exports=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}},oqL2:function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},p0bc:function(t,e,r){var n=r("ICSD"),i=function(){try{var t=n(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},pTUa:function(t,e,r){var n=r("/I3N");t.exports=function(t,e){var r=t.__data__;return n(e)?r["string"==typeof e?"string":"hash"]:r.map}},py9u:function(t,e,r){var n=r("tv3T"),i=r("t8rQ");t.exports=function(t,e){return t&&n(e,i(e),t)}},qwTf:function(t,e,r){var n=r("TQ3y").Uint8Array;t.exports=n},qyJz:function(t,e,r){"use strict";var n=r("+ZMJ"),i=r("kM2E"),o=r("sB3e"),a=r("msXi"),s=r("Mhyx"),c=r("QRG4"),u=r("fBQ2"),l=r("3fs2");i(i.S+i.F*!r("dY0y")(function(t){Array.from(t)}),"Array",{from:function(t){var e,r,i,f,p=o(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,y=0,b=l(p);if(m&&(h=n(h,v>2?arguments[2]:void 0,2)),void 0==b||d==Array&&s(b))for(r=new d(e=c(p.length));e>y;y++)u(r,y,m?h(p[y],y):p[y]);else for(f=b.call(p),r=new d;!(i=f.next()).done;y++)u(r,y,m?a(f,h,[i.value,y],!0):i.value);return r.length=y,r}})},rCVp:function(t,e,r){var n=r("1C79");t.exports=function(t){return null!=t&&t.length?n(t,1):[]}},rVUV:function(t,e,r){var n=r("Fkvj"),i=1,o=4;t.exports=function(t,e){return n(t,i|o,e="function"==typeof e?e:void 0)}},rpnb:function(t,e,r){var n=r("tHks")();t.exports=n},s8mu:function(t,e,r){"use strict";var n=r("cER1"),i=r("D9sP"),o=!1;var a=function(t){o||r("A51D")},s=r("VU/8")(n.a,i.a,!1,a,null,null);s.options.__file="components\\schemaDetail.vue",e.a=s.exports},t8rQ:function(t,e,r){var n=r("7e4z"),i=r("G0Wc"),o=r("bGc4");t.exports=function(t){return o(t)?n(t,!0):i(t)}},tHks:function(t,e){t.exports=function(t){return function(e,r,n){for(var i=-1,o=Object(e),a=n(e),s=a.length;s--;){var c=a[t?s:++i];if(!1===r(o[c],c,o))break}return e}}},tv3T:function(t,e,r){var n=r("i4ON"),i=r("nw3t");t.exports=function(t,e,r,o){var a=!r;r||(r={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=o?o(r[u],t[u],u,r,t):void 0;void 0===l&&(l=t[u]),a?i(r,u,l):n(r,u,l)}return r}},uCi2:function(t,e,r){var n=r("bIjD"),i=r("Ubhr");t.exports=function(t,e){for(var r=0,o=(e=n(e,t)).length;null!=t&&r<o;)t=t[i(e[r++])];return r&&r==o?t:void 0}},uIr7:function(t,e){t.exports=function(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}},uLhX:function(t,e,r){var n=r("NkRn"),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=n?n.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),r=t[s];try{t[s]=void 0;var n=!0}catch(t){}var i=a.call(t);return n&&(e?t[s]=r:delete t[s]),i}},"ue/d":function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},uieL:function(t,e){t.exports=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}},"us/S":function(t,e,r){t.exports={default:r("Xd32"),__esModule:!0}},v8Dt:function(t,e,r){var n=r("pTUa");t.exports=function(t){return n(this,t).get(t)}},vi0E:function(t,e,r){var n=r("f931")(Object.getPrototypeOf,Object);t.exports=n},wEtr:function(t,e,r){r("gSvA"),t.exports=r("FeBl").Object.entries},wSKX:function(t,e){t.exports=function(t){return t}},wxAW:function(t,e,r){"use strict";e.__esModule=!0;var n,i=r("C4MV"),o=(n=i)&&n.__esModule?n:{default:n};e.default=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),(0,o.default)(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}()},"xG/K":function(t,e,r){"use strict";var n=r("mvHQ"),i=r.n(n),o=r("d7EF"),a=r.n(o),s=r("Dd8w"),c=r.n(s),u=r("W3Iv"),l=r.n(u),f=r("LJry"),p=r.n(f),d=r("T9Hf"),v=r("Q7hp"),h=r.n(v),m=r("s8mu");e.a={head:function(){return{title:"Specification for process messages"}},created:function(){var t=this,e=new Date,r="a4927dad-58d4-4580-b460-79cefd56775b";this.$static={message:{"content-spec":"urn:spec://eclipse.org/unide/process-message#v2",device:{id:r},process:{ts:e.toISOString()},measurements:[{ts:new Date(e.valueOf()+100).toISOString(),series:{time:[0,23,24],force:[26,23,24],pressure:[52.4,46.32,44.2432]}}]},complexMessage:{"content-spec":"urn:spec://eclipse.org/unide/process-message#v2",device:{id:r,mode:"auto",state:"OK",swVersion:"2.0.3.13",swBuildId:"41535"},part:{code:"HUH289",id:"420003844",result:"NOK",toolId:"32324-432143",type:"SINGLE",typeId:"F00VH07328"},process:{externalId:"b4927dad-58d4-4580-b460-79cefd56775b",program:{id:"1",lastChangedDate:"2002-05-30T09:30:10.123+02:00",name:"Programm 1"},result:"NOK",shutoffPhase:"phase 2",ts:e.toISOString(),escalation:"shift leader",maxDuration:"30min"},measurements:[{code:"0000 EE01",name:"heating up",phase:"phase 1",result:"OK",ts:new Date(e.valueOf()+100).toISOString(),context:{pressure:{limits:{upperError:4444,lowerError:44,upperWarn:2222,lowerWarn:46,target:35}},force:{limits:{upperError:[29,27,26],lowerError:[23,21,20],upperWarn:[28.5,26.5,25.5],lowerWarn:[23.5,21.5,20.5],target:[26,24,23]}}},specialValues:[{time:12,name:"turning point",value:{pressure:24,force:50}},{time:50,name:"shutoffForce",value:{force:24,upperError:26,lowerError:22,upperWarn:25,lowerWarn:23,target:24}},{time:50,name:"shutoffPressure",value:{pressure:50,upperError:52,lowerError:48}}],series:{time:[30,36,42],force:[26,23,24],pressure:[52.4,46.32,44.2432],temperature:[45.4243,46.42342,44.2432]}},{ts:new Date(e.valueOf()+430).toISOString(),phase:"phase 2",name:"processing",result:"OK",series:{time:[0,23,24],temperature:[49.2,48.8,50]}}]}},this.$static.examples=l()(c()({},["content-spec","device","device.id","device.mode","measurements","part","part.code","part.id","part.result","part.type","part.typeId","process","process.externalId","process.program","process.program.id","process.program.lastChangedDate","process.program.name","process.result","process.shutoffPhase","process.ts"].reduce(function(e,r){return e[t.schemafy(r)]=r,e},{'properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[0]':"measurements[0].context.pressure.limits",'properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[1]':"measurements[0].context.force.limits",'properties.measurements.allOf[0].items.properties.series.patternProperties["^[^$]+"]':"measurements[0].series.force"}),["code","result","series","series.time","ts"].reduce(function(e,r){return e["properties.measurements.allOf[0].items."+t.schemafy(r)]="measurements[0]."+r,e},{}),["name","phase","specialValues","specialValues[1].time","specialValues[1].name","specialValues[1].value"].reduce(function(e,r){return e["properties.measurements.allOf[1].items."+t.schemafy(r)]="measurements[0]."+r,e},{}),["lowerError","lowerWarn","target","upperError","upperWarn"].reduce(function(t,e){return t['properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[0].properties.'+e]="measurements[0].context.pressure.limits."+e,t['properties.measurements.allOf[0].items.properties.context.patternProperties["^[^$]+"].properties.limits.oneOf[1].properties.'+e]="measurements[0].context.force.limits."+e,t},{}))).reduce(function(e,r){var n=a()(r,2),i=n[0],o=n[1],s=h()(t.$static.message,o)||h()(t.$static.complexMessage,o);return s?e[i]=[s]:console.error('no example provided in process-message for:\n"'+i+'": "'+o+'"'),e},{})},filters:{stringify:function(t){return i()(t," ",2)}},methods:{schemafy:function(t){return t.replace(/(^|\.)/g,"$1properties.").replace(/\[[^]]*]/g,".items")}},components:{card:d.a,prism:p.a,schemaDetail:m.a}}},xond:function(t,e,r){var n=r("FCuZ"),i=r("09Qt"),o=r("t8rQ");t.exports=function(t){return n(t,o,i)}},yCNF:function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},z4hc:function(t,e,r){var n=r("aCM0"),i=r("Rh28"),o=r("UnEC"),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[n(t)]}},zBOP:function(t,e,r){var n=r("22B7"),i=r("bGc4"),o=r("ZGh9"),a=r("yCNF");t.exports=function(t,e,r){if(!a(r))return!1;var s=typeof e;return!!("number"==s?i(r)&&o(e,r.length):"string"==s&&e in r)&&n(r[e],t)}},zGZ6:function(t,e,r){var n=r("YeCl"),i="Expected a function";function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(i);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=t.apply(this,n);return r.cache=o.set(i,a)||o,a};return r.cache=new(o.Cache||n),r}o.Cache=n,t.exports=o},zpVT:function(t,e,r){var n=r("duB3"),i=r("POb3"),o=r("YeCl"),a=200;t.exports=function(t,e){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!i||s.length<a-1)return s.push([t,e]),this.size=++r.size,this;r=this.__data__=new o(s)}return r.set(t,e),this.size=r.size,this}}});
\ No newline at end of file
diff --git a/images/specification/v3/definitions.iuml b/images/specification/v3/definitions.iuml
index 3ba8bf7..d268b40 100644
--- a/images/specification/v3/definitions.iuml
+++ b/images/specification/v3/definitions.iuml
@@ -6,11 +6,18 @@
 	BackgroundColor #f5f5f5
 	ArrowColor black
 }
-skinparam stereotype{
+hide class circle
+
+skinparam stereotype {
 	CBackgroundColor white
 	EBackgroundColor white
 }
 
+skinparam legend {
+	BorderColor white
+	BackgroundColor white
+}
+
 class Device {
 	id: String
 	mode[0..1]: String
@@ -26,9 +33,8 @@
 }
 
 class Context {
-	accuracy[0..1]: Float | [Float]
 	limits[0..1]: Limits
-	offset[0..1]: Float | [Float]
+	namespace[0..1]: String
 	type[0..1]: String
 	unit[0..1]: String
 }
@@ -74,6 +80,17 @@
 }
 
 Measurement "1" *-- "0..1" Context : ContextList
-Context "1" *-- "0..*" Limits
+Context "1" -- "0..*" Limits
+
+
+sprite $aggregation jar:archimate/aggregation
+sprite $composition jar:archimate/composition
+sprite $specialisation jar:archimate/specialisation
+sprite $association jar:archimate/association
+sprite $object      jar:archimate/object
+
+legend right
+<img:legend.svg>
+endlegend
 
 @enduml
\ No newline at end of file
diff --git a/images/specification/v3/legend.svg b/images/specification/v3/legend.svg
new file mode 100644
index 0000000..edfe20e
--- /dev/null
+++ b/images/specification/v3/legend.svg
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="289" height="117.58" contentScriptType="application/ecmascript" contentStyleType="text/css" preserveAspectRatio="none" version="1.1" viewBox="0 0 289 117.5781" xmlns="http://www.w3.org/2000/svg" zoomAndPan="magnify">
+	<rect x=".5" y=".5" width="288" height="116.58" rx="5" ry="5" fill="#f5f5f5" stroke="#50237f"/>
+	<text transform="translate(-504.5 -714.76)" x="514" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="36">Symbol</text>
+	<text transform="translate(-504.5 -714.76)" x="556" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="28">Name</text>
+	<text transform="translate(-504.5 -714.76)" x="637" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56">Description</text>
+	<text transform="translate(-504.5,-713.5)" x="523" y="749.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>
+	<text transform="translate(-504.5 -712.11)" x="556" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="24">Class</text>
+	<text transform="translate(-504.5 -712.11)" x="637" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="86">A complex Object</text>
+	<text transform="translate(-504.5,-713.5)" x="523" y="767.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>
+	<text transform="translate(-504.5 -712.25)" x="556" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="58">Aggregation</text>
+	<text transform="translate(-504.5 -712.09)" x="637" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="107">List of Objects as Array</text>
+	<text transform="translate(-504.5,-713.5)" x="523" y="785.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>
+	<text transform="translate(-504.5 -712.19)" x="556" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="59">Composition</text>
+	<text transform="translate(-504.5 -712.09)" x="637" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="104">List of Objects as Map</text>
+	<text transform="translate(-504.5,-713.5)" x="523" y="803.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>
+	<text transform="translate(-504.5 -712.39)" x="556" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="54">Association</text>
+	<text transform="translate(-504.5 -712.11)" x="637" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="126">A complex Object as child</text>
+	<text transform="translate(-504.5,-713.5)" x="523" y="821.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>
+	<text transform="translate(-504.5 -712.14)" x="556" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="69">Specialization</text>
+	<text transform="translate(-504.5 -712.09)" x="637" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="147">An extension of another Object</text>
+	<line x1="6.5" x2="282.5" y1="20.078" y2="20.078" stroke="#000"/>
+	<line x1="6.5" x2="282.5" y1="38.078" y2="38.078" stroke="#000"/>
+	<line x1="6.5" x2="282.5" y1="56.078" y2="56.078" stroke="#000"/>
+	<line x1="6.5" x2="282.5" y1="74.078" y2="74.078" stroke="#000"/>
+	<line x1="6.5" x2="282.5" y1="92.078" y2="92.078" stroke="#000"/>
+	<line x1="48.5" x2="48.5" y1="7.5" y2="110.08" stroke="#000"/>
+	<line x1="129.5" x2="129.5" y1="7.5" y2="110.08" stroke="#000"/>
+	<path d="m20.871 26.751h12m-11.5-3.1729h11v11h-11z" fill="none" stroke="#000" stroke-width="1px"/>
+	<g transform="translate(0 1.5453)" fill="none" stroke="#000">
+		<path d="m24.935 47.446 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>
+		<rect x="20.869" y="47.512" width="4" height="3.9606" ry="0"/>
+		<rect x="30.774" y="39.593" width="2" height="2" ry="0"/>
+	</g>
+	<path d="m21.038 88.97 11.784-11.784" fill="none" stroke="#000" stroke-linecap="square" stroke-width="1px"/>
+	<g transform="translate(0 .78224)" fill="none" stroke="#000">
+		<path d="m25.986 93.638h6.7885v6.7885z"/>
+		<path d="m19.701 106.75 9.6682-9.6682" stroke-linecap="square" stroke-width="1px"/>
+	</g>
+	<g transform="translate(0 1.3665)" fill="none" stroke="#000">
+		<path d="m24.935 65.602 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>
+		<rect x="20.869" y="65.668" width="4" height="3.9606" ry="0"/>
+		<rect x="30.774" y="57.795" width="2" height="2" ry="0"/>
+	</g>
+</svg>
diff --git a/images/specification/v3/measurementPayload.svg b/images/specification/v3/measurementPayload.svg
index bcece42..799b09c 100644
--- a/images/specification/v3/measurementPayload.svg
+++ b/images/specification/v3/measurementPayload.svg
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="704px" preserveAspectRatio="none" style="width:572px;height:704px;" version="1.1" viewBox="0 0 572 704" width="572px" zoomAndPan="magnify"><defs><filter height="300%" id="f1o0ehwjily0ac" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--class Device--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="89.5078" id="Device" style="stroke: #000000; stroke-width: 1.5;" width="124" x="129.5" y="216.5"/><ellipse cx="169.25" cy="232.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M172.0156,228.375 Q172.1719,228.1563 172.3594,228.0469 Q172.5469,227.9375 172.7656,227.9375 Q173.1406,227.9375 173.375,228.1953 Q173.6094,228.4531 173.6094,229.0625 L173.6094,230.5156 Q173.6094,231.125 173.375,231.3906 Q173.1406,231.6563 172.7656,231.6563 Q172.4219,231.6563 172.2188,231.4531 Q172.0156,231.2656 171.9063,230.75 Q171.8594,230.3906 171.6719,230.2031 Q171.3438,229.8281 170.7344,229.6094 Q170.125,229.3906 169.5,229.3906 Q168.7344,229.3906 168.1016,229.7188 Q167.4688,230.0469 166.9766,230.7969 Q166.4844,231.5469 166.4844,232.5781 L166.4844,233.6719 Q166.4844,234.9063 167.375,235.7266 Q168.2656,236.5469 169.8594,236.5469 Q170.7969,236.5469 171.4531,236.2969 Q171.8438,236.1406 172.2656,235.7031 Q172.5313,235.4375 172.6797,235.3594 Q172.8281,235.2813 173.0313,235.2813 Q173.3594,235.2813 173.6172,235.5391 Q173.875,235.7969 173.875,236.1406 Q173.875,236.4844 173.5313,236.8906 Q173.0313,237.4688 172.2344,237.7969 Q171.1563,238.25 169.8594,238.25 Q168.3438,238.25 167.1406,237.625 Q166.1563,237.125 165.4688,236.0547 Q164.7813,234.9844 164.7813,233.7031 L164.7813,232.5469 Q164.7813,231.2188 165.3984,230.0703 Q166.0156,228.9219 167.1094,228.3047 Q168.2031,227.6875 169.4375,227.6875 Q170.1719,227.6875 170.8203,227.8516 Q171.4688,228.0156 172.0156,228.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="188.75" y="237.4102">Device</text><line style="stroke: #000000; stroke-width: 1.5;" x1="130.5" x2="252.5" y1="248.5" y2="248.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="135.5" y="263.9189">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="135.5" y="277.7549">mode[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="135.5" y="291.5908">state[0..1]: DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="130.5" x2="252.5" y1="298.0078" y2="298.0078"/><!--class Measurement--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="117.1797" id="Measurement" style="stroke: #000000; stroke-width: 1.5;" width="132" x="288.5" y="203"/><ellipse cx="314.3" cy="219" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M317.0656,214.875 Q317.2219,214.6563 317.4094,214.5469 Q317.5969,214.4375 317.8156,214.4375 Q318.1906,214.4375 318.425,214.6953 Q318.6594,214.9531 318.6594,215.5625 L318.6594,217.0156 Q318.6594,217.625 318.425,217.8906 Q318.1906,218.1563 317.8156,218.1563 Q317.4719,218.1563 317.2688,217.9531 Q317.0656,217.7656 316.9563,217.25 Q316.9094,216.8906 316.7219,216.7031 Q316.3938,216.3281 315.7844,216.1094 Q315.175,215.8906 314.55,215.8906 Q313.7844,215.8906 313.1516,216.2188 Q312.5188,216.5469 312.0266,217.2969 Q311.5344,218.0469 311.5344,219.0781 L311.5344,220.1719 Q311.5344,221.4063 312.425,222.2266 Q313.3156,223.0469 314.9094,223.0469 Q315.8469,223.0469 316.5031,222.7969 Q316.8938,222.6406 317.3156,222.2031 Q317.5813,221.9375 317.7297,221.8594 Q317.8781,221.7813 318.0813,221.7813 Q318.4094,221.7813 318.6672,222.0391 Q318.925,222.2969 318.925,222.6406 Q318.925,222.9844 318.5813,223.3906 Q318.0813,223.9688 317.2844,224.2969 Q316.2063,224.75 314.9094,224.75 Q313.3938,224.75 312.1906,224.125 Q311.2063,223.625 310.5188,222.5547 Q309.8313,221.4844 309.8313,220.2031 L309.8313,219.0469 Q309.8313,217.7188 310.4484,216.5703 Q311.0656,215.4219 312.1594,214.8047 Q313.2531,214.1875 314.4875,214.1875 Q315.2219,214.1875 315.8703,214.3516 Q316.5188,214.5156 317.0656,214.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="330.7" y="223.9102">Measurement</text><line style="stroke: #000000; stroke-width: 1.5;" x1="289.5" x2="419.5" y1="235" y2="235"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="294.5" y="250.4189">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="294.5" y="264.2549">context[0..1]: ContextList</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="294.5" y="278.0908">result[0..1]: Result</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="294.5" y="291.9268">series: Series</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="294.5" y="305.7627">ts: Date</text><line style="stroke: #000000; stroke-width: 1.5;" x1="289.5" x2="419.5" y1="312.1797" y2="312.1797"/><!--class Context--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="117.1797" id="Context" style="stroke: #000000; stroke-width: 1.5;" width="148" x="280.5" y="398"/><ellipse cx="329.75" cy="414" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M332.5156,409.875 Q332.6719,409.6563 332.8594,409.5469 Q333.0469,409.4375 333.2656,409.4375 Q333.6406,409.4375 333.875,409.6953 Q334.1094,409.9531 334.1094,410.5625 L334.1094,412.0156 Q334.1094,412.625 333.875,412.8906 Q333.6406,413.1563 333.2656,413.1563 Q332.9219,413.1563 332.7188,412.9531 Q332.5156,412.7656 332.4063,412.25 Q332.3594,411.8906 332.1719,411.7031 Q331.8438,411.3281 331.2344,411.1094 Q330.625,410.8906 330,410.8906 Q329.2344,410.8906 328.6016,411.2188 Q327.9688,411.5469 327.4766,412.2969 Q326.9844,413.0469 326.9844,414.0781 L326.9844,415.1719 Q326.9844,416.4063 327.875,417.2266 Q328.7656,418.0469 330.3594,418.0469 Q331.2969,418.0469 331.9531,417.7969 Q332.3438,417.6406 332.7656,417.2031 Q333.0313,416.9375 333.1797,416.8594 Q333.3281,416.7813 333.5313,416.7813 Q333.8594,416.7813 334.1172,417.0391 Q334.375,417.2969 334.375,417.6406 Q334.375,417.9844 334.0313,418.3906 Q333.5313,418.9688 332.7344,419.2969 Q331.6563,419.75 330.3594,419.75 Q328.8438,419.75 327.6406,419.125 Q326.6563,418.625 325.9688,417.5547 Q325.2813,416.4844 325.2813,415.2031 L325.2813,414.0469 Q325.2813,412.7188 325.8984,411.5703 Q326.5156,410.4219 327.6094,409.8047 Q328.7031,409.1875 329.9375,409.1875 Q330.6719,409.1875 331.3203,409.3516 Q331.9688,409.5156 332.5156,409.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="350.25" y="418.9102">Context</text><line style="stroke: #000000; stroke-width: 1.5;" x1="281.5" x2="427.5" y1="430" y2="430"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="286.5" y="445.4189">accuracy[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="80" x="286.5" y="459.2549">limits[0..1]: Limits</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="286.5" y="473.0908">offset[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="286.5" y="486.9268">type[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="286.5" y="500.7627">unit[0..1]: String</text><line style="stroke: #000000; stroke-width: 1.5;" x1="281.5" x2="427.5" y1="507.1797" y2="507.1797"/><!--class Limits--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="117.1797" id="Limits" style="stroke: #000000; stroke-width: 1.5;" width="156" x="276.5" y="576"/><ellipse cx="333.25" cy="592" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M336.0156,587.875 Q336.1719,587.6563 336.3594,587.5469 Q336.5469,587.4375 336.7656,587.4375 Q337.1406,587.4375 337.375,587.6953 Q337.6094,587.9531 337.6094,588.5625 L337.6094,590.0156 Q337.6094,590.625 337.375,590.8906 Q337.1406,591.1563 336.7656,591.1563 Q336.4219,591.1563 336.2188,590.9531 Q336.0156,590.7656 335.9063,590.25 Q335.8594,589.8906 335.6719,589.7031 Q335.3438,589.3281 334.7344,589.1094 Q334.125,588.8906 333.5,588.8906 Q332.7344,588.8906 332.1016,589.2188 Q331.4688,589.5469 330.9766,590.2969 Q330.4844,591.0469 330.4844,592.0781 L330.4844,593.1719 Q330.4844,594.4063 331.375,595.2266 Q332.2656,596.0469 333.8594,596.0469 Q334.7969,596.0469 335.4531,595.7969 Q335.8438,595.6406 336.2656,595.2031 Q336.5313,594.9375 336.6797,594.8594 Q336.8281,594.7813 337.0313,594.7813 Q337.3594,594.7813 337.6172,595.0391 Q337.875,595.2969 337.875,595.6406 Q337.875,595.9844 337.5313,596.3906 Q337.0313,596.9688 336.2344,597.2969 Q335.1563,597.75 333.8594,597.75 Q332.3438,597.75 331.1406,597.125 Q330.1563,596.625 329.4688,595.5547 Q328.7813,594.4844 328.7813,593.2031 L328.7813,592.0469 Q328.7813,590.7188 329.3984,589.5703 Q330.0156,588.4219 331.1094,587.8047 Q332.2031,587.1875 333.4375,587.1875 Q334.1719,587.1875 334.8203,587.3516 Q335.4688,587.5156 336.0156,587.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="34" x="353.75" y="596.9102">Limits</text><line style="stroke: #000000; stroke-width: 1.5;" x1="277.5" x2="431.5" y1="608" y2="608"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="282.5" y="623.4189">lowerError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="282.5" y="637.2549">lowerWarn[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="282.5" y="651.0908">target[0..1]:  Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="282.5" y="664.9268">upperError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="282.5" y="678.7627">upperWarn[0..1]: Float | [Float]</text><line style="stroke: #000000; stroke-width: 1.5;" x1="277.5" x2="431.5" y1="685.1797" y2="685.1797"/><!--class Part--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="117.1797" id="Part" style="stroke: #000000; stroke-width: 1.5;" width="106" x="455.5" y="203"/><ellipse cx="493.9" cy="219" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M496.6656,214.875 Q496.8219,214.6563 497.0094,214.5469 Q497.1969,214.4375 497.4156,214.4375 Q497.7906,214.4375 498.025,214.6953 Q498.2594,214.9531 498.2594,215.5625 L498.2594,217.0156 Q498.2594,217.625 498.025,217.8906 Q497.7906,218.1563 497.4156,218.1563 Q497.0719,218.1563 496.8688,217.9531 Q496.6656,217.7656 496.5563,217.25 Q496.5094,216.8906 496.3219,216.7031 Q495.9938,216.3281 495.3844,216.1094 Q494.775,215.8906 494.15,215.8906 Q493.3844,215.8906 492.7516,216.2188 Q492.1188,216.5469 491.6266,217.2969 Q491.1344,218.0469 491.1344,219.0781 L491.1344,220.1719 Q491.1344,221.4063 492.025,222.2266 Q492.9156,223.0469 494.5094,223.0469 Q495.4469,223.0469 496.1031,222.7969 Q496.4938,222.6406 496.9156,222.2031 Q497.1813,221.9375 497.3297,221.8594 Q497.4781,221.7813 497.6813,221.7813 Q498.0094,221.7813 498.2672,222.0391 Q498.525,222.2969 498.525,222.6406 Q498.525,222.9844 498.1813,223.3906 Q497.6813,223.9688 496.8844,224.2969 Q495.8063,224.75 494.5094,224.75 Q492.9938,224.75 491.7906,224.125 Q490.8063,223.625 490.1188,222.5547 Q489.4313,221.4844 489.4313,220.2031 L489.4313,219.0469 Q489.4313,217.7188 490.0484,216.5703 Q490.6656,215.4219 491.7594,214.8047 Q492.8531,214.1875 494.0875,214.1875 Q494.8219,214.1875 495.4703,214.3516 Q496.1188,214.5156 496.6656,214.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="22" x="513.1" y="223.9102">Part</text><line style="stroke: #000000; stroke-width: 1.5;" x1="456.5" x2="560.5" y1="235" y2="235"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="461.5" y="250.4189">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="461.5" y="264.2549">id[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="94" x="461.5" y="278.0908">type[0..1]: PartType</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="461.5" y="291.9268">typeId[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="461.5" y="305.7627">result[0..1]: Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="456.5" x2="560.5" y1="312.1797" y2="312.1797"/><!--class DeviceState--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="117.1797" id="DeviceState" style="stroke: #000000; stroke-width: 1.5;" width="97" x="6" y="8"/><ellipse cx="21" cy="24" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M19.8594,24.7969 L19.8594,27.2969 L24.1875,27.2969 L24.1875,26.375 Q24.1875,25.7656 24.4297,25.5 Q24.6719,25.2344 25.0469,25.2344 Q25.4219,25.2344 25.6563,25.5 Q25.8906,25.7656 25.8906,26.375 L25.8906,29 L17.8906,29 Q17.2656,29 17.0078,28.7656 Q16.75,28.5313 16.75,28.1406 Q16.75,27.7656 17.0156,27.5313 Q17.2813,27.2969 17.8906,27.2969 L18.1563,27.2969 L18.1563,20.6406 L17.8906,20.6406 Q17.2656,20.6406 17.0078,20.4063 Q16.75,20.1719 16.75,19.7813 Q16.75,19.4063 17.0078,19.1719 Q17.2656,18.9375 17.8906,18.9375 L25.5156,18.9375 L25.5156,21.5313 Q25.5156,22.1406 25.2891,22.3984 Q25.0625,22.6563 24.6719,22.6563 Q24.2969,22.6563 24.0625,22.3984 Q23.8281,22.1406 23.8281,21.5313 L23.8281,20.6406 L19.8594,20.6406 L19.8594,23.0938 L21.3438,23.0938 Q21.3438,22.4375 21.4688,22.25 Q21.7344,21.8438 22.2031,21.8438 Q22.5781,21.8438 22.8125,22.1016 Q23.0469,22.3594 23.0469,22.9688 L23.0469,24.9375 Q23.0469,25.4844 22.9219,25.6719 Q22.6563,26.0625 22.2031,26.0625 Q21.7344,26.0625 21.4688,25.6563 Q21.3438,25.4688 21.3438,24.7969 L19.8594,24.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="35" y="28.9102">DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="102" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="12" y="55.4189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="12" y="69.2549">INFO</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="12" y="83.0908">WARN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="12" y="96.9268">ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="12" y="110.7627">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="102" y1="117.1797" y2="117.1797"/><!--class Result--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="89.5078" id="Result" style="stroke: #000000; stroke-width: 1.5;" width="68" x="138.5" y="21.5"/><ellipse cx="153.5" cy="37.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M152.3594,38.2969 L152.3594,40.7969 L156.6875,40.7969 L156.6875,39.875 Q156.6875,39.2656 156.9297,39 Q157.1719,38.7344 157.5469,38.7344 Q157.9219,38.7344 158.1563,39 Q158.3906,39.2656 158.3906,39.875 L158.3906,42.5 L150.3906,42.5 Q149.7656,42.5 149.5078,42.2656 Q149.25,42.0313 149.25,41.6406 Q149.25,41.2656 149.5156,41.0313 Q149.7813,40.7969 150.3906,40.7969 L150.6563,40.7969 L150.6563,34.1406 L150.3906,34.1406 Q149.7656,34.1406 149.5078,33.9063 Q149.25,33.6719 149.25,33.2813 Q149.25,32.9063 149.5078,32.6719 Q149.7656,32.4375 150.3906,32.4375 L158.0156,32.4375 L158.0156,35.0313 Q158.0156,35.6406 157.7891,35.8984 Q157.5625,36.1563 157.1719,36.1563 Q156.7969,36.1563 156.5625,35.8984 Q156.3281,35.6406 156.3281,35.0313 L156.3281,34.1406 L152.3594,34.1406 L152.3594,36.5938 L153.8438,36.5938 Q153.8438,35.9375 153.9688,35.75 Q154.2344,35.3438 154.7031,35.3438 Q155.0781,35.3438 155.3125,35.6016 Q155.5469,35.8594 155.5469,36.4688 L155.5469,38.4375 Q155.5469,38.9844 155.4219,39.1719 Q155.1563,39.5625 154.7031,39.5625 Q154.2344,39.5625 153.9688,39.1563 Q153.8438,38.9688 153.8438,38.2969 L152.3594,38.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="167.5" y="42.4102">Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="139.5" x2="205.5" y1="53.5" y2="53.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="144.5" y="68.9189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="144.5" y="82.7549">NOK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="144.5" y="96.5908">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="139.5" x2="205.5" y1="103.0078" y2="103.0078"/><!--class PartType--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="75.6719" id="PartType" style="stroke: #000000; stroke-width: 1.5;" width="80" x="14.5" y="223.5"/><ellipse cx="29.5" cy="239.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M28.3594,240.2969 L28.3594,242.7969 L32.6875,242.7969 L32.6875,241.875 Q32.6875,241.2656 32.9297,241 Q33.1719,240.7344 33.5469,240.7344 Q33.9219,240.7344 34.1563,241 Q34.3906,241.2656 34.3906,241.875 L34.3906,244.5 L26.3906,244.5 Q25.7656,244.5 25.5078,244.2656 Q25.25,244.0313 25.25,243.6406 Q25.25,243.2656 25.5156,243.0313 Q25.7813,242.7969 26.3906,242.7969 L26.6563,242.7969 L26.6563,236.1406 L26.3906,236.1406 Q25.7656,236.1406 25.5078,235.9063 Q25.25,235.6719 25.25,235.2813 Q25.25,234.9063 25.5078,234.6719 Q25.7656,234.4375 26.3906,234.4375 L34.0156,234.4375 L34.0156,237.0313 Q34.0156,237.6406 33.7891,237.8984 Q33.5625,238.1563 33.1719,238.1563 Q32.7969,238.1563 32.5625,237.8984 Q32.3281,237.6406 32.3281,237.0313 L32.3281,236.1406 L28.3594,236.1406 L28.3594,238.5938 L29.8438,238.5938 Q29.8438,237.9375 29.9688,237.75 Q30.2344,237.3438 30.7031,237.3438 Q31.0781,237.3438 31.3125,237.6016 Q31.5469,237.8594 31.5469,238.4688 L31.5469,240.4375 Q31.5469,240.9844 31.4219,241.1719 Q31.1563,241.5625 30.7031,241.5625 Q30.2344,241.5625 29.9688,241.1563 Q29.8438,240.9688 29.8438,240.2969 L28.3594,240.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="43.5" y="244.4102">PartType</text><line style="stroke: #000000; stroke-width: 1.5;" x1="15.5" x2="93.5" y1="255.5" y2="255.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="20.5" y="270.9189">SINGLE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="20.5" y="284.7549">BATCH</text><line style="stroke: #000000; stroke-width: 1.5;" x1="15.5" x2="93.5" y1="291.1719" y2="291.1719"/><!--class MeasurementPayload--><rect fill="#F5F5F5" filter="url(#f1o0ehwjily0ac)" height="103.3438" id="MeasurementPayload" style="stroke: #000000; stroke-width: 1.5;" width="163" x="273" y="15"/><ellipse cx="292.95" cy="31" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M295.7156,26.875 Q295.8719,26.6563 296.0594,26.5469 Q296.2469,26.4375 296.4656,26.4375 Q296.8406,26.4375 297.075,26.6953 Q297.3094,26.9531 297.3094,27.5625 L297.3094,29.0156 Q297.3094,29.625 297.075,29.8906 Q296.8406,30.1563 296.4656,30.1563 Q296.1219,30.1563 295.9188,29.9531 Q295.7156,29.7656 295.6063,29.25 Q295.5594,28.8906 295.3719,28.7031 Q295.0438,28.3281 294.4344,28.1094 Q293.825,27.8906 293.2,27.8906 Q292.4344,27.8906 291.8016,28.2188 Q291.1688,28.5469 290.6766,29.2969 Q290.1844,30.0469 290.1844,31.0781 L290.1844,32.1719 Q290.1844,33.4063 291.075,34.2266 Q291.9656,35.0469 293.5594,35.0469 Q294.4969,35.0469 295.1531,34.7969 Q295.5438,34.6406 295.9656,34.2031 Q296.2313,33.9375 296.3797,33.8594 Q296.5281,33.7813 296.7313,33.7813 Q297.0594,33.7813 297.3172,34.0391 Q297.575,34.2969 297.575,34.6406 Q297.575,34.9844 297.2313,35.3906 Q296.7313,35.9688 295.9344,36.2969 Q294.8563,36.75 293.5594,36.75 Q292.0438,36.75 290.8406,36.125 Q289.8563,35.625 289.1688,34.5547 Q288.4813,33.4844 288.4813,32.2031 L288.4813,31.0469 Q288.4813,29.7188 289.0984,28.5703 Q289.7156,27.4219 290.8094,26.8047 Q291.9031,26.1875 293.1375,26.1875 Q293.8719,26.1875 294.5203,26.3516 Q295.1688,26.5156 295.7156,26.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="308.05" y="35.9102">MeasurementPayload</text><line style="stroke: #000000; stroke-width: 1.5;" x1="274" x2="435" y1="47" y2="47"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="279" y="62.4189">content-spec : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="279" y="76.2549">device : Device</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="279" y="90.0908">measurements : Measurements</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="279" y="103.9268">part[0..1] : Part</text><line style="stroke: #000000; stroke-width: 1.5;" x1="274" x2="435" y1="110.3438" y2="110.3438"/><!--link Measurement to Context--><path d="M354.5,333.42 C354.5,354.614 354.5,377.583 354.5,397.819 " fill="none" id="Measurement-Context" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="354.5,320.145,350.5,326.145,354.5,332.145,358.5,326.145,354.5,320.145" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="355.5" y="364.4951">ContextList</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="347.0734" y="341.773">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="22" x="331.1594" y="387.1978">0..1</text><!--link Context to Limits--><path d="M354.5,528.169 C354.5,543.966 354.5,560.539 354.5,575.742 " fill="none" id="Context-Limits" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="354.5,515.129,350.5,521.129,354.5,527.129,358.5,521.129,354.5,515.129" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="347.0734" y="536.755">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="333.2813" y="565.1115">0..*</text><!--link MeasurementPayload to Device--><path d="M311.674,118.208 C285.923,148.698 253.467,187.128 228.777,216.362 " fill="none" id="MeasurementPayload-Device" style="stroke: #000000; stroke-width: 1.0;"/><!--link MeasurementPayload to Part--><path d="M416.169,118.124 C428.297,129.57 440.384,142.156 450.5,155 C461.946,169.531 472.41,186.624 481.202,202.77 " fill="none" id="MeasurementPayload-Part" style="stroke: #000000; stroke-width: 1.0;"/><!--link MeasurementPayload to Measurement--><path d="M354.5,131.436 C354.5,154.536 354.5,180.456 354.5,202.973 " fill="none" id="MeasurementPayload-Measurement" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="354.5,118.208,350.5,124.208,354.5,130.208,358.5,124.208,354.5,118.208" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="355.5" y="169.4951">Measurements</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="347.0297" y="139.7269">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="333.2188" y="191.9554">1..*</text><!--link DeviceState to Result--><!--link DeviceState to PartType--><!--
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="640px" preserveAspectRatio="none" style="width:750px;height:640px;" version="1.1" viewBox="0 0 750 640" width="750px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hsmin4wg2262" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--class Device--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="82.6016" id="Device" style="stroke: #000000; stroke-width: 1.5;" width="124" x="6" y="216.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="49.5" y="233.957">Device</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="129" y1="241.5938" y2="241.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="12" y="257.0127">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="12" y="270.8486">mode[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="12" y="284.6846">state[0..1]: DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="129" y1="291.1016" y2="291.1016"/><!--class Measurement--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="110.2734" id="Measurement" style="stroke: #000000; stroke-width: 1.5;" width="132" x="362" y="11.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="390" y="28.957">Measurement</text><line style="stroke: #000000; stroke-width: 1.5;" x1="363" x2="493" y1="36.5938" y2="36.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="368" y="52.0127">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="368" y="65.8486">context[0..1]: ContextList</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="368" y="79.6846">result[0..1]: Result</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="368" y="93.5205">series: Series</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="368" y="107.3564">ts: Date</text><line style="stroke: #000000; stroke-width: 1.5;" x1="363" x2="493" y1="113.7734" y2="113.7734"/><!--class Context--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="96.4375" id="Context" style="stroke: #000000; stroke-width: 1.5;" width="126" x="365" y="210"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="407.5" y="227.457">Context</text><line style="stroke: #000000; stroke-width: 1.5;" x1="366" x2="490" y1="235.0938" y2="235.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="80" x="371" y="250.5127">limits[0..1]: Limits</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="371" y="264.3486">namespace[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="371" y="278.1846">type[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="371" y="292.0205">unit[0..1]: String</text><line style="stroke: #000000; stroke-width: 1.5;" x1="366" x2="490" y1="298.4375" y2="298.4375"/><!--class Limits--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="110.2734" id="Limits" style="stroke: #000000; stroke-width: 1.5;" width="156" x="350" y="374"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="34" x="411" y="391.457">Limits</text><line style="stroke: #000000; stroke-width: 1.5;" x1="351" x2="505" y1="399.0938" y2="399.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="356" y="414.5127">lowerError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="356" y="428.3486">lowerWarn[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="356" y="442.1846">target[0..1]:  Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="356" y="456.0205">upperError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="356" y="469.8564">upperWarn[0..1]: Float | [Float]</text><line style="stroke: #000000; stroke-width: 1.5;" x1="351" x2="505" y1="476.2734" y2="476.2734"/><!--class Part--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="110.2734" id="Part" style="stroke: #000000; stroke-width: 1.5;" width="106" x="165" y="203"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="22" x="207" y="220.457">Part</text><line style="stroke: #000000; stroke-width: 1.5;" x1="166" x2="270" y1="228.0938" y2="228.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="171" y="243.5127">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="171" y="257.3486">id[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="94" x="171" y="271.1846">type[0..1]: PartType</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="171" y="285.0205">typeId[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="171" y="298.8564">result[0..1]: Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="166" x2="270" y1="305.2734" y2="305.2734"/><!--class DeviceState--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="117.1797" id="DeviceState" style="stroke: #000000; stroke-width: 1.5;" width="97" x="529.5" y="8"/><ellipse cx="544.5" cy="24" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M543.3594,24.7969 L543.3594,27.2969 L547.6875,27.2969 L547.6875,26.375 Q547.6875,25.7656 547.9297,25.5 Q548.1719,25.2344 548.5469,25.2344 Q548.9219,25.2344 549.1563,25.5 Q549.3906,25.7656 549.3906,26.375 L549.3906,29 L541.3906,29 Q540.7656,29 540.5078,28.7656 Q540.25,28.5313 540.25,28.1406 Q540.25,27.7656 540.5156,27.5313 Q540.7813,27.2969 541.3906,27.2969 L541.6563,27.2969 L541.6563,20.6406 L541.3906,20.6406 Q540.7656,20.6406 540.5078,20.4063 Q540.25,20.1719 540.25,19.7813 Q540.25,19.4063 540.5078,19.1719 Q540.7656,18.9375 541.3906,18.9375 L549.0156,18.9375 L549.0156,21.5313 Q549.0156,22.1406 548.7891,22.3984 Q548.5625,22.6563 548.1719,22.6563 Q547.7969,22.6563 547.5625,22.3984 Q547.3281,22.1406 547.3281,21.5313 L547.3281,20.6406 L543.3594,20.6406 L543.3594,23.0938 L544.8438,23.0938 Q544.8438,22.4375 544.9688,22.25 Q545.2344,21.8438 545.7031,21.8438 Q546.0781,21.8438 546.3125,22.1016 Q546.5469,22.3594 546.5469,22.9688 L546.5469,24.9375 Q546.5469,25.4844 546.4219,25.6719 Q546.1563,26.0625 545.7031,26.0625 Q545.2344,26.0625 544.9688,25.6563 Q544.8438,25.4688 544.8438,24.7969 L543.3594,24.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="558.5" y="28.9102">DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="530.5" x2="625.5" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="535.5" y="55.4189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="535.5" y="69.2549">INFO</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="535.5" y="83.0908">WARN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="535.5" y="96.9268">ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="535.5" y="110.7627">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="530.5" x2="625.5" y1="117.1797" y2="117.1797"/><!--class Result--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="89.5078" id="Result" style="stroke: #000000; stroke-width: 1.5;" width="68" x="662" y="21.5"/><ellipse cx="677" cy="37.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M675.8594,38.2969 L675.8594,40.7969 L680.1875,40.7969 L680.1875,39.875 Q680.1875,39.2656 680.4297,39 Q680.6719,38.7344 681.0469,38.7344 Q681.4219,38.7344 681.6563,39 Q681.8906,39.2656 681.8906,39.875 L681.8906,42.5 L673.8906,42.5 Q673.2656,42.5 673.0078,42.2656 Q672.75,42.0313 672.75,41.6406 Q672.75,41.2656 673.0156,41.0313 Q673.2813,40.7969 673.8906,40.7969 L674.1563,40.7969 L674.1563,34.1406 L673.8906,34.1406 Q673.2656,34.1406 673.0078,33.9063 Q672.75,33.6719 672.75,33.2813 Q672.75,32.9063 673.0078,32.6719 Q673.2656,32.4375 673.8906,32.4375 L681.5156,32.4375 L681.5156,35.0313 Q681.5156,35.6406 681.2891,35.8984 Q681.0625,36.1563 680.6719,36.1563 Q680.2969,36.1563 680.0625,35.8984 Q679.8281,35.6406 679.8281,35.0313 L679.8281,34.1406 L675.8594,34.1406 L675.8594,36.5938 L677.3438,36.5938 Q677.3438,35.9375 677.4688,35.75 Q677.7344,35.3438 678.2031,35.3438 Q678.5781,35.3438 678.8125,35.6016 Q679.0469,35.8594 679.0469,36.4688 L679.0469,38.4375 Q679.0469,38.9844 678.9219,39.1719 Q678.6563,39.5625 678.2031,39.5625 Q677.7344,39.5625 677.4688,39.1563 Q677.3438,38.9688 677.3438,38.2969 L675.8594,38.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="691" y="42.4102">Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="663" x2="729" y1="53.5" y2="53.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="668" y="68.9189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="668" y="82.7549">NOK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="668" y="96.5908">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="663" x2="729" y1="103.0078" y2="103.0078"/><!--class PartType--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="75.6719" id="PartType" style="stroke: #000000; stroke-width: 1.5;" width="80" x="538" y="220"/><ellipse cx="553" cy="236" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M551.8594,236.7969 L551.8594,239.2969 L556.1875,239.2969 L556.1875,238.375 Q556.1875,237.7656 556.4297,237.5 Q556.6719,237.2344 557.0469,237.2344 Q557.4219,237.2344 557.6563,237.5 Q557.8906,237.7656 557.8906,238.375 L557.8906,241 L549.8906,241 Q549.2656,241 549.0078,240.7656 Q548.75,240.5313 548.75,240.1406 Q548.75,239.7656 549.0156,239.5313 Q549.2813,239.2969 549.8906,239.2969 L550.1563,239.2969 L550.1563,232.6406 L549.8906,232.6406 Q549.2656,232.6406 549.0078,232.4063 Q548.75,232.1719 548.75,231.7813 Q548.75,231.4063 549.0078,231.1719 Q549.2656,230.9375 549.8906,230.9375 L557.5156,230.9375 L557.5156,233.5313 Q557.5156,234.1406 557.2891,234.3984 Q557.0625,234.6563 556.6719,234.6563 Q556.2969,234.6563 556.0625,234.3984 Q555.8281,234.1406 555.8281,233.5313 L555.8281,232.6406 L551.8594,232.6406 L551.8594,235.0938 L553.3438,235.0938 Q553.3438,234.4375 553.4688,234.25 Q553.7344,233.8438 554.2031,233.8438 Q554.5781,233.8438 554.8125,234.1016 Q555.0469,234.3594 555.0469,234.9688 L555.0469,236.9375 Q555.0469,237.4844 554.9219,237.6719 Q554.6563,238.0625 554.2031,238.0625 Q553.7344,238.0625 553.4688,237.6563 Q553.3438,237.4688 553.3438,236.7969 L551.8594,236.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="567" y="240.9102">PartType</text><line style="stroke: #000000; stroke-width: 1.5;" x1="539" x2="617" y1="252" y2="252"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="544" y="267.4189">SINGLE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="544" y="281.2549">BATCH</text><line style="stroke: #000000; stroke-width: 1.5;" x1="539" x2="617" y1="287.6719" y2="287.6719"/><!--class MeasurementPayload--><rect fill="#F5F5F5" filter="url(#f1hsmin4wg2262)" height="96.4375" id="MeasurementPayload" style="stroke: #000000; stroke-width: 1.5;" width="163" x="76.5" y="18.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="98" y="35.957">MeasurementPayload</text><line style="stroke: #000000; stroke-width: 1.5;" x1="77.5" x2="238.5" y1="43.5938" y2="43.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="82.5" y="59.0127">content-spec : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="82.5" y="72.8486">device : Device</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="82.5" y="86.6846">measurements : Measurements</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="82.5" y="100.5205">part[0..1] : Part</text><line style="stroke: #000000; stroke-width: 1.5;" x1="77.5" x2="238.5" y1="106.9375" y2="106.9375"/><!--link Measurement to Context--><path d="M428,134.659 C428,159.556 428,187.238 428,209.964 " fill="none" id="Measurement-Context" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="428,121.549,424,127.549,428,133.549,432,127.549,428,121.549" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="429" y="169.4951">ContextList</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="420.5516" y="143.1273">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="22" x="404.3844" y="199.2225">0..1</text><!--link Context to Limits--><path d="M428,306.076 C428,327.074 428,351.937 428,373.715 " fill="none" id="Context-Limits" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="420.4859" y="327.801">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="406.7188" y="363.1067">0..*</text><!--link MeasurementPayload to Device--><path d="M135.521,114.83 C120.683,146.073 101.4423,186.585 87.2982,216.367 " fill="none" id="MeasurementPayload-Device" style="stroke: #000000; stroke-width: 1.0;"/><!--link MeasurementPayload to Part--><path d="M172.986,114.83 C181.455,141.579 192.075,175.121 200.873,202.907 " fill="none" id="MeasurementPayload-Part" style="stroke: #000000; stroke-width: 1.0;"/><!--link MeasurementPayload to Measurement--><path d="M252.809,66.5 C288.853,66.5 329.102,66.5 361.924,66.5 " fill="none" id="MeasurementPayload-Measurement" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="239.742,66.5,245.742,70.5,251.742,66.5,245.742,62.5,239.742,66.5" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="257.75" y="59.9951">Measurements</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="247.6002" y="63.2537">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="334.0787" y="80.8241">1..*</text><!--link DeviceState to Result--><!--link DeviceState to PartType--><rect fill="#FFFFFF" height="127" rx="5" ry="5" style="stroke: #FFFFFF; stroke-width: 1.0;" width="301" x="438" y="502"/><svg x="444" y="507">	<rect x=".5" y=".5" width="288" height="116.58" rx="5" ry="5" fill="#f5f5f5" stroke="#50237f"/>	<text transform="translate(-504.5 -714.76)" x="514" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="36">Symbol</text>	<text transform="translate(-504.5 -714.76)" x="556" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="28">Name</text>	<text transform="translate(-504.5 -714.76)" x="637" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56">Description</text>	<text transform="translate(-504.5,-713.5)" x="523" y="749.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.11)" x="556" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="24">Class</text>	<text transform="translate(-504.5 -712.11)" x="637" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="86">A complex Object</text>	<text transform="translate(-504.5,-713.5)" x="523" y="767.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.25)" x="556" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="58">Aggregation</text>	<text transform="translate(-504.5 -712.09)" x="637" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="107">List of Objects as Array</text>	<text transform="translate(-504.5,-713.5)" x="523" y="785.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.19)" x="556" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="59">Composition</text>	<text transform="translate(-504.5 -712.09)" x="637" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="104">List of Objects as Map</text>	<text transform="translate(-504.5,-713.5)" x="523" y="803.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.39)" x="556" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="54">Association</text>	<text transform="translate(-504.5 -712.11)" x="637" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="126">A complex Object as child</text>	<text transform="translate(-504.5,-713.5)" x="523" y="821.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.14)" x="556" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="69">Specialization</text>	<text transform="translate(-504.5 -712.09)" x="637" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="147">An extension of another Object</text>	<line x1="6.5" x2="282.5" y1="20.078" y2="20.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="38.078" y2="38.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="56.078" y2="56.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="74.078" y2="74.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="92.078" y2="92.078" stroke="#000"/>	<line x1="48.5" x2="48.5" y1="7.5" y2="110.08" stroke="#000"/>	<line x1="129.5" x2="129.5" y1="7.5" y2="110.08" stroke="#000"/>	<path d="m20.871 26.751h12m-11.5-3.1729h11v11h-11z" fill="none" stroke="#000" stroke-width="1px"/>	<g transform="translate(0 1.5453)" fill="none" stroke="#000">		<path d="m24.935 47.446 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>		<rect x="20.869" y="47.512" width="4" height="3.9606" ry="0"/>		<rect x="30.774" y="39.593" width="2" height="2" ry="0"/>	</g>	<path d="m21.038 88.97 11.784-11.784" fill="none" stroke="#000" stroke-linecap="square" stroke-width="1px"/>	<g transform="translate(0 .78224)" fill="none" stroke="#000">		<path d="m25.986 93.638h6.7885v6.7885z"/>		<path d="m19.701 106.75 9.6682-9.6682" stroke-linecap="square" stroke-width="1px"/>	</g>	<g transform="translate(0 1.3665)" fill="none" stroke="#000">		<path d="m24.935 65.602 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>		<rect x="20.869" y="65.668" width="4" height="3.9606" ry="0"/>		<rect x="30.774" y="57.795" width="2" height="2" ry="0"/>	</g></svg><!--
 @startuml
 
 skinparam class {
@@ -7,11 +7,18 @@
 	BackgroundColor #f5f5f5
 	ArrowColor black
 }
-skinparam stereotype{
+hide class circle
+
+skinparam stereotype {
 	CBackgroundColor white
 	EBackgroundColor white
 }
 
+skinparam legend {
+	BorderColor white
+	BackgroundColor white
+}
+
 class Device {
 	id: String
 	mode[0..1]: String
@@ -27,9 +34,8 @@
 }
 
 class Context {
-	accuracy[0..1]: Float | [Float]
 	limits[0..1]: Limits
-	offset[0..1]: Float | [Float]
+	namespace[0..1]: String
 	type[0..1]: String
 	unit[0..1]: String
 }
@@ -75,20 +81,19 @@
 }
 
 Measurement "1" *- - "0..1" Context : ContextList
-Context "1" *- - "0..*" Limits
+Context "1" - - "0..*" Limits
 
 
-skinparam class {
-	BorderColor black
-	FontColor #50237f
-	BackgroundColor #f5f5f5
-	ArrowColor black
-}
+sprite $aggregation jar:archimate/aggregation
+sprite $composition jar:archimate/composition
+sprite $specialisation jar:archimate/specialisation
+sprite $association jar:archimate/association
+sprite $object      jar:archimate/object
 
-skinparam stereotype {
-	CBackgroundColor white
-	EBackgroundColor white
-}
+legend right
+<img:legend.svg>
+endlegend
+
 
 class MeasurementPayload {
 	content-spec : String
@@ -99,7 +104,7 @@
 
 MeasurementPayload - - Device
 MeasurementPayload - - Part
-MeasurementPayload "1" o- - "1..*" Measurement : Measurements
+MeasurementPayload "1" o-right- "1..*" Measurement : Measurements
 
 Measurement - - Series
 
diff --git a/images/specification/v3/measurementPayload.uml b/images/specification/v3/measurementPayload.uml
index 07982f7..300523e 100644
--- a/images/specification/v3/measurementPayload.uml
+++ b/images/specification/v3/measurementPayload.uml
@@ -1,18 +1,6 @@
 @startuml
 !include definitions.iuml
 
-skinparam class {
-	BorderColor black
-	FontColor #50237f
-	BackgroundColor #f5f5f5
-	ArrowColor black
-}
-
-skinparam stereotype {
-	CBackgroundColor white
-	EBackgroundColor white
-}
-
 class MeasurementPayload {
 	content-spec : String
 	device : Device
@@ -22,7 +10,7 @@
 
 MeasurementPayload -- Device
 MeasurementPayload -- Part
-MeasurementPayload "1" o-- "1..*" Measurement : Measurements
+MeasurementPayload "1" o-right- "1..*" Measurement : Measurements
 
 Measurement -- Series
 
diff --git a/images/specification/v3/messagePayload.svg b/images/specification/v3/messagePayload.svg
index eec6612..3284b76 100644
--- a/images/specification/v3/messagePayload.svg
+++ b/images/specification/v3/messagePayload.svg
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="372px" preserveAspectRatio="none" style="width:596px;height:372px;" version="1.1" viewBox="0 0 596 372" width="596px" zoomAndPan="magnify"><defs><filter height="300%" id="f1g37sq2ndqul2" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--class Device--><rect fill="#F5F5F5" filter="url(#f1g37sq2ndqul2)" height="89.5078" id="Device" style="stroke: #000000; stroke-width: 1.5;" width="124" x="6" y="237.5"/><ellipse cx="45.75" cy="253.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M48.5156,249.375 Q48.6719,249.1563 48.8594,249.0469 Q49.0469,248.9375 49.2656,248.9375 Q49.6406,248.9375 49.875,249.1953 Q50.1094,249.4531 50.1094,250.0625 L50.1094,251.5156 Q50.1094,252.125 49.875,252.3906 Q49.6406,252.6563 49.2656,252.6563 Q48.9219,252.6563 48.7188,252.4531 Q48.5156,252.2656 48.4063,251.75 Q48.3594,251.3906 48.1719,251.2031 Q47.8438,250.8281 47.2344,250.6094 Q46.625,250.3906 46,250.3906 Q45.2344,250.3906 44.6016,250.7188 Q43.9688,251.0469 43.4766,251.7969 Q42.9844,252.5469 42.9844,253.5781 L42.9844,254.6719 Q42.9844,255.9063 43.875,256.7266 Q44.7656,257.5469 46.3594,257.5469 Q47.2969,257.5469 47.9531,257.2969 Q48.3438,257.1406 48.7656,256.7031 Q49.0313,256.4375 49.1797,256.3594 Q49.3281,256.2813 49.5313,256.2813 Q49.8594,256.2813 50.1172,256.5391 Q50.375,256.7969 50.375,257.1406 Q50.375,257.4844 50.0313,257.8906 Q49.5313,258.4688 48.7344,258.7969 Q47.6563,259.25 46.3594,259.25 Q44.8438,259.25 43.6406,258.625 Q42.6563,258.125 41.9688,257.0547 Q41.2813,255.9844 41.2813,254.7031 L41.2813,253.5469 Q41.2813,252.2188 41.8984,251.0703 Q42.5156,249.9219 43.6094,249.3047 Q44.7031,248.6875 45.9375,248.6875 Q46.6719,248.6875 47.3203,248.8516 Q47.9688,249.0156 48.5156,249.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="65.25" y="258.4102">Device</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="129" y1="269.5" y2="269.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="12" y="284.9189">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="12" y="298.7549">mode[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="12" y="312.5908">state[0..1]: DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="129" y1="319.0078" y2="319.0078"/><!--class DeviceState--><rect fill="#F5F5F5" filter="url(#f1g37sq2ndqul2)" height="117.1797" id="DeviceState" style="stroke: #000000; stroke-width: 1.5;" width="97" x="246.5" y="8"/><ellipse cx="261.5" cy="24" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M260.3594,24.7969 L260.3594,27.2969 L264.6875,27.2969 L264.6875,26.375 Q264.6875,25.7656 264.9297,25.5 Q265.1719,25.2344 265.5469,25.2344 Q265.9219,25.2344 266.1563,25.5 Q266.3906,25.7656 266.3906,26.375 L266.3906,29 L258.3906,29 Q257.7656,29 257.5078,28.7656 Q257.25,28.5313 257.25,28.1406 Q257.25,27.7656 257.5156,27.5313 Q257.7813,27.2969 258.3906,27.2969 L258.6563,27.2969 L258.6563,20.6406 L258.3906,20.6406 Q257.7656,20.6406 257.5078,20.4063 Q257.25,20.1719 257.25,19.7813 Q257.25,19.4063 257.5078,19.1719 Q257.7656,18.9375 258.3906,18.9375 L266.0156,18.9375 L266.0156,21.5313 Q266.0156,22.1406 265.7891,22.3984 Q265.5625,22.6563 265.1719,22.6563 Q264.7969,22.6563 264.5625,22.3984 Q264.3281,22.1406 264.3281,21.5313 L264.3281,20.6406 L260.3594,20.6406 L260.3594,23.0938 L261.8438,23.0938 Q261.8438,22.4375 261.9688,22.25 Q262.2344,21.8438 262.7031,21.8438 Q263.0781,21.8438 263.3125,22.1016 Q263.5469,22.3594 263.5469,22.9688 L263.5469,24.9375 Q263.5469,25.4844 263.4219,25.6719 Q263.1563,26.0625 262.7031,26.0625 Q262.2344,26.0625 261.9688,25.6563 Q261.8438,25.4688 261.8438,24.7969 L260.3594,24.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="275.5" y="28.9102">DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="247.5" x2="342.5" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="252.5" y="55.4189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="252.5" y="69.2549">INFO</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="252.5" y="83.0908">WARN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="252.5" y="96.9268">ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="252.5" y="110.7627">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="247.5" x2="342.5" y1="117.1797" y2="117.1797"/><!--class MessagePayload--><rect fill="#F5F5F5" filter="url(#f1g37sq2ndqul2)" height="89.5078" id="MessagePayload" style="stroke: #000000; stroke-width: 1.5;" width="127" x="84.5" y="21.5"/><ellipse cx="99.5" cy="37.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M102.2656,33.375 Q102.4219,33.1563 102.6094,33.0469 Q102.7969,32.9375 103.0156,32.9375 Q103.3906,32.9375 103.625,33.1953 Q103.8594,33.4531 103.8594,34.0625 L103.8594,35.5156 Q103.8594,36.125 103.625,36.3906 Q103.3906,36.6563 103.0156,36.6563 Q102.6719,36.6563 102.4688,36.4531 Q102.2656,36.2656 102.1563,35.75 Q102.1094,35.3906 101.9219,35.2031 Q101.5938,34.8281 100.9844,34.6094 Q100.375,34.3906 99.75,34.3906 Q98.9844,34.3906 98.3516,34.7188 Q97.7188,35.0469 97.2266,35.7969 Q96.7344,36.5469 96.7344,37.5781 L96.7344,38.6719 Q96.7344,39.9063 97.625,40.7266 Q98.5156,41.5469 100.1094,41.5469 Q101.0469,41.5469 101.7031,41.2969 Q102.0938,41.1406 102.5156,40.7031 Q102.7813,40.4375 102.9297,40.3594 Q103.0781,40.2813 103.2813,40.2813 Q103.6094,40.2813 103.8672,40.5391 Q104.125,40.7969 104.125,41.1406 Q104.125,41.4844 103.7813,41.8906 Q103.2813,42.4688 102.4844,42.7969 Q101.4063,43.25 100.1094,43.25 Q98.5938,43.25 97.3906,42.625 Q96.4063,42.125 95.7188,41.0547 Q95.0313,39.9844 95.0313,38.7031 L95.0313,37.5469 Q95.0313,36.2188 95.6484,35.0703 Q96.2656,33.9219 97.3594,33.3047 Q98.4531,32.6875 99.6875,32.6875 Q100.4219,32.6875 101.0703,32.8516 Q101.7188,33.0156 102.2656,33.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="113.5" y="42.4102">MessagePayload</text><line style="stroke: #000000; stroke-width: 1.5;" x1="85.5" x2="210.5" y1="53.5" y2="53.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="90.5" y="68.9189">content-spec : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="90.5" y="82.7549">device : Device</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="90.5" y="96.5908">messages : Messages</text><line style="stroke: #000000; stroke-width: 1.5;" x1="85.5" x2="210.5" y1="103.0078" y2="103.0078"/><!--class Message--><rect fill="#F5F5F5" filter="url(#f1g37sq2ndqul2)" height="158.6875" id="Message" style="stroke: #000000; stroke-width: 1.5;" width="126" x="165" y="203"/><ellipse cx="199.35" cy="219" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M202.1156,214.875 Q202.2719,214.6563 202.4594,214.5469 Q202.6469,214.4375 202.8656,214.4375 Q203.2406,214.4375 203.475,214.6953 Q203.7094,214.9531 203.7094,215.5625 L203.7094,217.0156 Q203.7094,217.625 203.475,217.8906 Q203.2406,218.1563 202.8656,218.1563 Q202.5219,218.1563 202.3188,217.9531 Q202.1156,217.7656 202.0063,217.25 Q201.9594,216.8906 201.7719,216.7031 Q201.4438,216.3281 200.8344,216.1094 Q200.225,215.8906 199.6,215.8906 Q198.8344,215.8906 198.2016,216.2188 Q197.5688,216.5469 197.0766,217.2969 Q196.5844,218.0469 196.5844,219.0781 L196.5844,220.1719 Q196.5844,221.4063 197.475,222.2266 Q198.3656,223.0469 199.9594,223.0469 Q200.8969,223.0469 201.5531,222.7969 Q201.9438,222.6406 202.3656,222.2031 Q202.6313,221.9375 202.7797,221.8594 Q202.9281,221.7813 203.1313,221.7813 Q203.4594,221.7813 203.7172,222.0391 Q203.975,222.2969 203.975,222.6406 Q203.975,222.9844 203.6313,223.3906 Q203.1313,223.9688 202.3344,224.2969 Q201.2563,224.75 199.9594,224.75 Q198.4438,224.75 197.2406,224.125 Q196.2563,223.625 195.5688,222.5547 Q194.8813,221.4844 194.8813,220.2031 L194.8813,219.0469 Q194.8813,217.7188 195.4984,216.5703 Q196.1156,215.4219 197.2094,214.8047 Q198.3031,214.1875 199.5375,214.1875 Q200.2719,214.1875 200.9203,214.3516 Q201.5688,214.5156 202.1156,214.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="217.65" y="223.9102">Message</text><line style="stroke: #000000; stroke-width: 1.5;" x1="166" x2="290" y1="235" y2="235"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="171" y="250.4189">code : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="171" y="264.2549">description[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="171" y="278.0908">hint[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="171" y="291.9268">origin[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="171" y="305.7627">severity[0..1] : Severity</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="171" y="319.5986">title[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="171" y="333.4346">ts : Date</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="171" y="347.2705">type[0..1] : Type</text><line style="stroke: #000000; stroke-width: 1.5;" x1="166" x2="290" y1="353.6875" y2="353.6875"/><!--class Type--><rect fill="#F5F5F5" filter="url(#f1g37sq2ndqul2)" height="75.6719" id="Type" style="stroke: #000000; stroke-width: 1.5;" width="97" x="378.5" y="28.5"/><ellipse cx="411.05" cy="44.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M409.9094,45.2969 L409.9094,47.7969 L414.2375,47.7969 L414.2375,46.875 Q414.2375,46.2656 414.4797,46 Q414.7219,45.7344 415.0969,45.7344 Q415.4719,45.7344 415.7063,46 Q415.9406,46.2656 415.9406,46.875 L415.9406,49.5 L407.9406,49.5 Q407.3156,49.5 407.0578,49.2656 Q406.8,49.0313 406.8,48.6406 Q406.8,48.2656 407.0656,48.0313 Q407.3313,47.7969 407.9406,47.7969 L408.2063,47.7969 L408.2063,41.1406 L407.9406,41.1406 Q407.3156,41.1406 407.0578,40.9063 Q406.8,40.6719 406.8,40.2813 Q406.8,39.9063 407.0578,39.6719 Q407.3156,39.4375 407.9406,39.4375 L415.5656,39.4375 L415.5656,42.0313 Q415.5656,42.6406 415.3391,42.8984 Q415.1125,43.1563 414.7219,43.1563 Q414.3469,43.1563 414.1125,42.8984 Q413.8781,42.6406 413.8781,42.0313 L413.8781,41.1406 L409.9094,41.1406 L409.9094,43.5938 L411.3938,43.5938 Q411.3938,42.9375 411.5188,42.75 Q411.7844,42.3438 412.2531,42.3438 Q412.6281,42.3438 412.8625,42.6016 Q413.0969,42.8594 413.0969,43.4688 L413.0969,45.4375 Q413.0969,45.9844 412.9719,46.1719 Q412.7063,46.5625 412.2531,46.5625 Q411.7844,46.5625 411.5188,46.1563 Q411.3938,45.9688 411.3938,45.2969 L409.9094,45.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="428.95" y="49.4102">Type</text><line style="stroke: #000000; stroke-width: 1.5;" x1="379.5" x2="474.5" y1="60.5" y2="60.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="384.5" y="75.9189">DEVICE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="384.5" y="89.7549">TECHNICAL_INFO</text><line style="stroke: #000000; stroke-width: 1.5;" x1="379.5" x2="474.5" y1="96.1719" y2="96.1719"/><!--class Severity--><rect fill="#F5F5F5" filter="url(#f1g37sq2ndqul2)" height="103.3438" id="Severity" style="stroke: #000000; stroke-width: 1.5;" width="74" x="511" y="15"/><ellipse cx="526" cy="31" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M524.8594,31.7969 L524.8594,34.2969 L529.1875,34.2969 L529.1875,33.375 Q529.1875,32.7656 529.4297,32.5 Q529.6719,32.2344 530.0469,32.2344 Q530.4219,32.2344 530.6563,32.5 Q530.8906,32.7656 530.8906,33.375 L530.8906,36 L522.8906,36 Q522.2656,36 522.0078,35.7656 Q521.75,35.5313 521.75,35.1406 Q521.75,34.7656 522.0156,34.5313 Q522.2813,34.2969 522.8906,34.2969 L523.1563,34.2969 L523.1563,27.6406 L522.8906,27.6406 Q522.2656,27.6406 522.0078,27.4063 Q521.75,27.1719 521.75,26.7813 Q521.75,26.4063 522.0078,26.1719 Q522.2656,25.9375 522.8906,25.9375 L530.5156,25.9375 L530.5156,28.5313 Q530.5156,29.1406 530.2891,29.3984 Q530.0625,29.6563 529.6719,29.6563 Q529.2969,29.6563 529.0625,29.3984 Q528.8281,29.1406 528.8281,28.5313 L528.8281,27.6406 L524.8594,27.6406 L524.8594,30.0938 L526.3438,30.0938 Q526.3438,29.4375 526.4688,29.25 Q526.7344,28.8438 527.2031,28.8438 Q527.5781,28.8438 527.8125,29.1016 Q528.0469,29.3594 528.0469,29.9688 L528.0469,31.9375 Q528.0469,32.4844 527.9219,32.6719 Q527.6563,33.0625 527.2031,33.0625 Q526.7344,33.0625 526.4688,32.6563 Q526.3438,32.4688 526.3438,31.7969 L524.8594,31.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="42" x="540" y="35.9102">Severity</text><line style="stroke: #000000; stroke-width: 1.5;" x1="512" x2="584" y1="47" y2="47"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="517" y="62.4189">HIGH</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="517" y="76.2549">MEDIUM</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="517" y="90.0908">LOW</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="517" y="103.9268">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="512" x2="584" y1="110.3438" y2="110.3438"/><!--link MessagePayload to Device--><path d="M131.521,111.581 C117.753,148.41 98.2195,200.663 84.4577,237.476 " fill="none" id="MessagePayload-Device" style="stroke: #000000; stroke-width: 1.0;"/><!--link MessagePayload to Message--><path d="M169.039,123.779 C178.078,147.959 188.798,176.635 198.602,202.861 " fill="none" id="MessagePayload-Message" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="164.479,111.581,162.8336,118.6019,168.6815,122.8211,170.3269,115.8002,164.479,111.581" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="60" x="187" y="169.4951">Messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="159.3042" y="132.6">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="174.8469" y="192.0347">1..*</text><!--
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="511px" preserveAspectRatio="none" style="width:602px;height:511px;" version="1.1" viewBox="0 0 602 511" width="602px" zoomAndPan="magnify"><defs><filter height="300%" id="frjmetyvyhx92" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--class Device--><rect fill="#F5F5F5" filter="url(#frjmetyvyhx92)" height="82.6016" id="Device" style="stroke: #000000; stroke-width: 1.5;" width="124" x="6" y="237.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="49.5" y="254.957">Device</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="129" y1="262.5938" y2="262.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="12" y="278.0127">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="12" y="291.8486">mode[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="12" y="305.6846">state[0..1]: DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="129" y1="312.1016" y2="312.1016"/><!--class DeviceState--><rect fill="#F5F5F5" filter="url(#frjmetyvyhx92)" height="117.1797" id="DeviceState" style="stroke: #000000; stroke-width: 1.5;" width="97" x="243.5" y="8"/><ellipse cx="258.5" cy="24" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M257.3594,24.7969 L257.3594,27.2969 L261.6875,27.2969 L261.6875,26.375 Q261.6875,25.7656 261.9297,25.5 Q262.1719,25.2344 262.5469,25.2344 Q262.9219,25.2344 263.1563,25.5 Q263.3906,25.7656 263.3906,26.375 L263.3906,29 L255.3906,29 Q254.7656,29 254.5078,28.7656 Q254.25,28.5313 254.25,28.1406 Q254.25,27.7656 254.5156,27.5313 Q254.7813,27.2969 255.3906,27.2969 L255.6563,27.2969 L255.6563,20.6406 L255.3906,20.6406 Q254.7656,20.6406 254.5078,20.4063 Q254.25,20.1719 254.25,19.7813 Q254.25,19.4063 254.5078,19.1719 Q254.7656,18.9375 255.3906,18.9375 L263.0156,18.9375 L263.0156,21.5313 Q263.0156,22.1406 262.7891,22.3984 Q262.5625,22.6563 262.1719,22.6563 Q261.7969,22.6563 261.5625,22.3984 Q261.3281,22.1406 261.3281,21.5313 L261.3281,20.6406 L257.3594,20.6406 L257.3594,23.0938 L258.8438,23.0938 Q258.8438,22.4375 258.9688,22.25 Q259.2344,21.8438 259.7031,21.8438 Q260.0781,21.8438 260.3125,22.1016 Q260.5469,22.3594 260.5469,22.9688 L260.5469,24.9375 Q260.5469,25.4844 260.4219,25.6719 Q260.1563,26.0625 259.7031,26.0625 Q259.2344,26.0625 258.9688,25.6563 Q258.8438,25.4688 258.8438,24.7969 L257.3594,24.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="272.5" y="28.9102">DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="244.5" x2="339.5" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="249.5" y="55.4189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="249.5" y="69.2549">INFO</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="249.5" y="83.0908">WARN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="249.5" y="96.9268">ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="249.5" y="110.7627">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="244.5" x2="339.5" y1="117.1797" y2="117.1797"/><!--class MessagePayload--><rect fill="#F5F5F5" filter="url(#frjmetyvyhx92)" height="82.6016" id="MessagePayload" style="stroke: #000000; stroke-width: 1.5;" width="121" x="87.5" y="25"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="100.5" y="42.457">MessagePayload</text><line style="stroke: #000000; stroke-width: 1.5;" x1="88.5" x2="207.5" y1="50.0938" y2="50.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="93.5" y="65.5127">content-spec : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="93.5" y="79.3486">device : Device</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="93.5" y="93.1846">messages : Messages</text><line style="stroke: #000000; stroke-width: 1.5;" x1="88.5" x2="207.5" y1="99.6016" y2="99.6016"/><!--class Message--><rect fill="#F5F5F5" filter="url(#frjmetyvyhx92)" height="151.7813" id="Message" style="stroke: #000000; stroke-width: 1.5;" width="126" x="165" y="203"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="202.5" y="220.457">Message</text><line style="stroke: #000000; stroke-width: 1.5;" x1="166" x2="290" y1="228.0938" y2="228.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="61" x="171" y="243.5127">code : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="171" y="257.3486">description[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="171" y="271.1846">hint[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="171" y="285.0205">origin[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="171" y="298.8564">severity[0..1] : Severity</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="171" y="312.6924">title[0..1] : String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="40" x="171" y="326.5283">ts : Date</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="171" y="340.3643">type[0..1] : Type</text><line style="stroke: #000000; stroke-width: 1.5;" x1="166" x2="290" y1="346.7813" y2="346.7813"/><!--class Type--><rect fill="#F5F5F5" filter="url(#frjmetyvyhx92)" height="75.6719" id="Type" style="stroke: #000000; stroke-width: 1.5;" width="97" x="375.5" y="28.5"/><ellipse cx="408.05" cy="44.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M406.9094,45.2969 L406.9094,47.7969 L411.2375,47.7969 L411.2375,46.875 Q411.2375,46.2656 411.4797,46 Q411.7219,45.7344 412.0969,45.7344 Q412.4719,45.7344 412.7063,46 Q412.9406,46.2656 412.9406,46.875 L412.9406,49.5 L404.9406,49.5 Q404.3156,49.5 404.0578,49.2656 Q403.8,49.0313 403.8,48.6406 Q403.8,48.2656 404.0656,48.0313 Q404.3313,47.7969 404.9406,47.7969 L405.2063,47.7969 L405.2063,41.1406 L404.9406,41.1406 Q404.3156,41.1406 404.0578,40.9063 Q403.8,40.6719 403.8,40.2813 Q403.8,39.9063 404.0578,39.6719 Q404.3156,39.4375 404.9406,39.4375 L412.5656,39.4375 L412.5656,42.0313 Q412.5656,42.6406 412.3391,42.8984 Q412.1125,43.1563 411.7219,43.1563 Q411.3469,43.1563 411.1125,42.8984 Q410.8781,42.6406 410.8781,42.0313 L410.8781,41.1406 L406.9094,41.1406 L406.9094,43.5938 L408.3938,43.5938 Q408.3938,42.9375 408.5188,42.75 Q408.7844,42.3438 409.2531,42.3438 Q409.6281,42.3438 409.8625,42.6016 Q410.0969,42.8594 410.0969,43.4688 L410.0969,45.4375 Q410.0969,45.9844 409.9719,46.1719 Q409.7063,46.5625 409.2531,46.5625 Q408.7844,46.5625 408.5188,46.1563 Q408.3938,45.9688 408.3938,45.2969 L406.9094,45.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="26" x="425.95" y="49.4102">Type</text><line style="stroke: #000000; stroke-width: 1.5;" x1="376.5" x2="471.5" y1="60.5" y2="60.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="381.5" y="75.9189">DEVICE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="381.5" y="89.7549">TECHNICAL_INFO</text><line style="stroke: #000000; stroke-width: 1.5;" x1="376.5" x2="471.5" y1="96.1719" y2="96.1719"/><!--class Severity--><rect fill="#F5F5F5" filter="url(#frjmetyvyhx92)" height="103.3438" id="Severity" style="stroke: #000000; stroke-width: 1.5;" width="74" x="508" y="15"/><ellipse cx="523" cy="31" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M521.8594,31.7969 L521.8594,34.2969 L526.1875,34.2969 L526.1875,33.375 Q526.1875,32.7656 526.4297,32.5 Q526.6719,32.2344 527.0469,32.2344 Q527.4219,32.2344 527.6563,32.5 Q527.8906,32.7656 527.8906,33.375 L527.8906,36 L519.8906,36 Q519.2656,36 519.0078,35.7656 Q518.75,35.5313 518.75,35.1406 Q518.75,34.7656 519.0156,34.5313 Q519.2813,34.2969 519.8906,34.2969 L520.1563,34.2969 L520.1563,27.6406 L519.8906,27.6406 Q519.2656,27.6406 519.0078,27.4063 Q518.75,27.1719 518.75,26.7813 Q518.75,26.4063 519.0078,26.1719 Q519.2656,25.9375 519.8906,25.9375 L527.5156,25.9375 L527.5156,28.5313 Q527.5156,29.1406 527.2891,29.3984 Q527.0625,29.6563 526.6719,29.6563 Q526.2969,29.6563 526.0625,29.3984 Q525.8281,29.1406 525.8281,28.5313 L525.8281,27.6406 L521.8594,27.6406 L521.8594,30.0938 L523.3438,30.0938 Q523.3438,29.4375 523.4688,29.25 Q523.7344,28.8438 524.2031,28.8438 Q524.5781,28.8438 524.8125,29.1016 Q525.0469,29.3594 525.0469,29.9688 L525.0469,31.9375 Q525.0469,32.4844 524.9219,32.6719 Q524.6563,33.0625 524.2031,33.0625 Q523.7344,33.0625 523.4688,32.6563 Q523.3438,32.4688 523.3438,31.7969 L521.8594,31.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="42" x="537" y="35.9102">Severity</text><line style="stroke: #000000; stroke-width: 1.5;" x1="509" x2="581" y1="47" y2="47"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="514" y="62.4189">HIGH</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="514" y="76.2549">MEDIUM</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="514" y="90.0908">LOW</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="514" y="103.9268">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="509" x2="581" y1="110.3438" y2="110.3438"/><!--link MessagePayload to Device--><path d="M132.575,108.087 C118.454,145.242 97.6624,199.951 83.5137,237.18 " fill="none" id="MessagePayload-Device" style="stroke: #000000; stroke-width: 1.0;"/><!--link MessagePayload to Message--><path d="M168.166,120.563 C177.609,145.408 189.025,175.448 199.344,202.599 " fill="none" id="MessagePayload-Message" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="163.425,108.087,161.8177,115.1167,167.6884,119.3041,169.2958,112.2744,163.425,108.087" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="60" x="189" y="169.4951">Messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="158.251" y="129.2325">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="175.6596" y="192.0768">1..*</text><rect fill="#FFFFFF" height="127" rx="5" ry="5" style="stroke: #FFFFFF; stroke-width: 1.0;" width="301" x="290" y="373"/><svg x="296" y="378">	<rect x=".5" y=".5" width="288" height="116.58" rx="5" ry="5" fill="#f5f5f5" stroke="#50237f"/>	<text transform="translate(-504.5 -714.76)" x="514" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="36">Symbol</text>	<text transform="translate(-504.5 -714.76)" x="556" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="28">Name</text>	<text transform="translate(-504.5 -714.76)" x="637" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56">Description</text>	<text transform="translate(-504.5,-713.5)" x="523" y="749.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.11)" x="556" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="24">Class</text>	<text transform="translate(-504.5 -712.11)" x="637" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="86">A complex Object</text>	<text transform="translate(-504.5,-713.5)" x="523" y="767.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.25)" x="556" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="58">Aggregation</text>	<text transform="translate(-504.5 -712.09)" x="637" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="107">List of Objects as Array</text>	<text transform="translate(-504.5,-713.5)" x="523" y="785.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.19)" x="556" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="59">Composition</text>	<text transform="translate(-504.5 -712.09)" x="637" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="104">List of Objects as Map</text>	<text transform="translate(-504.5,-713.5)" x="523" y="803.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.39)" x="556" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="54">Association</text>	<text transform="translate(-504.5 -712.11)" x="637" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="126">A complex Object as child</text>	<text transform="translate(-504.5,-713.5)" x="523" y="821.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.14)" x="556" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="69">Specialization</text>	<text transform="translate(-504.5 -712.09)" x="637" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="147">An extension of another Object</text>	<line x1="6.5" x2="282.5" y1="20.078" y2="20.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="38.078" y2="38.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="56.078" y2="56.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="74.078" y2="74.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="92.078" y2="92.078" stroke="#000"/>	<line x1="48.5" x2="48.5" y1="7.5" y2="110.08" stroke="#000"/>	<line x1="129.5" x2="129.5" y1="7.5" y2="110.08" stroke="#000"/>	<path d="m20.871 26.751h12m-11.5-3.1729h11v11h-11z" fill="none" stroke="#000" stroke-width="1px"/>	<g transform="translate(0 1.5453)" fill="none" stroke="#000">		<path d="m24.935 47.446 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>		<rect x="20.869" y="47.512" width="4" height="3.9606" ry="0"/>		<rect x="30.774" y="39.593" width="2" height="2" ry="0"/>	</g>	<path d="m21.038 88.97 11.784-11.784" fill="none" stroke="#000" stroke-linecap="square" stroke-width="1px"/>	<g transform="translate(0 .78224)" fill="none" stroke="#000">		<path d="m25.986 93.638h6.7885v6.7885z"/>		<path d="m19.701 106.75 9.6682-9.6682" stroke-linecap="square" stroke-width="1px"/>	</g>	<g transform="translate(0 1.3665)" fill="none" stroke="#000">		<path d="m24.935 65.602 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>		<rect x="20.869" y="65.668" width="4" height="3.9606" ry="0"/>		<rect x="30.774" y="57.795" width="2" height="2" ry="0"/>	</g></svg><!--
 @startuml
 
 skinparam class {
@@ -7,11 +7,18 @@
 	BackgroundColor #f5f5f5
 	ArrowColor black
 }
-skinparam stereotype{
+hide class circle
+
+skinparam stereotype {
 	CBackgroundColor white
 	EBackgroundColor white
 }
 
+skinparam legend {
+	BorderColor white
+	BackgroundColor white
+}
+
 class Device {
 	id: String
 	mode[0..1]: String
@@ -27,9 +34,8 @@
 }
 
 class Context {
-	accuracy[0..1]: Float | [Float]
 	limits[0..1]: Limits
-	offset[0..1]: Float | [Float]
+	namespace[0..1]: String
 	type[0..1]: String
 	unit[0..1]: String
 }
@@ -75,19 +81,19 @@
 }
 
 Measurement "1" *- - "0..1" Context : ContextList
-Context "1" *- - "0..*" Limits
+Context "1" - - "0..*" Limits
 
 
-skinparam class {
-	BorderColor black
-	FontColor #50237f
-	BackgroundColor #f5f5f5
-	ArrowColor black
-}
-skinparam stereotype{
-	CBackgroundColor white
-	EBackgroundColor white
-}
+sprite $aggregation jar:archimate/aggregation
+sprite $composition jar:archimate/composition
+sprite $specialisation jar:archimate/specialisation
+sprite $association jar:archimate/association
+sprite $object      jar:archimate/object
+
+legend right
+<img:legend.svg>
+endlegend
+
 
 class MessagePayload {
 	content-spec : String
@@ -129,6 +135,8 @@
 hide Result
 hide Series
 
+Context "1" -left- "0..*" Limits
+
 @enduml
 
 PlantUML version 1.2018.01(Sun Jan 28 19:08:22 CET 2018)
diff --git a/images/specification/v3/messagePayload.uml b/images/specification/v3/messagePayload.uml
index 55c055f..1bc7526 100644
--- a/images/specification/v3/messagePayload.uml
+++ b/images/specification/v3/messagePayload.uml
@@ -1,17 +1,6 @@
 @startuml
 !include definitions.iuml
 
-skinparam class {
-	BorderColor black
-	FontColor #50237f
-	BackgroundColor #f5f5f5
-	ArrowColor black
-}
-skinparam stereotype{
-	CBackgroundColor white
-	EBackgroundColor white
-}
-
 class MessagePayload {
 	content-spec : String
 	device : Device
@@ -52,4 +41,6 @@
 hide Result
 hide Series
 
+Context "1" -left- "0..*" Limits
+
 @enduml
\ No newline at end of file
diff --git a/images/specification/v3/processPayload.svg b/images/specification/v3/processPayload.svg
index b8e6115..0858ca1 100644
--- a/images/specification/v3/processPayload.svg
+++ b/images/specification/v3/processPayload.svg
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="704px" preserveAspectRatio="none" style="width:855px;height:704px;" version="1.1" viewBox="0 0 855 704" width="855px" zoomAndPan="magnify"><defs><filter height="300%" id="fzi1h3odwm3pk" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--class Device--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="89.5078" id="Device" style="stroke: #000000; stroke-width: 1.5;" width="124" x="206" y="216.5"/><ellipse cx="245.75" cy="232.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M248.5156,228.375 Q248.6719,228.1563 248.8594,228.0469 Q249.0469,227.9375 249.2656,227.9375 Q249.6406,227.9375 249.875,228.1953 Q250.1094,228.4531 250.1094,229.0625 L250.1094,230.5156 Q250.1094,231.125 249.875,231.3906 Q249.6406,231.6563 249.2656,231.6563 Q248.9219,231.6563 248.7188,231.4531 Q248.5156,231.2656 248.4063,230.75 Q248.3594,230.3906 248.1719,230.2031 Q247.8438,229.8281 247.2344,229.6094 Q246.625,229.3906 246,229.3906 Q245.2344,229.3906 244.6016,229.7188 Q243.9688,230.0469 243.4766,230.7969 Q242.9844,231.5469 242.9844,232.5781 L242.9844,233.6719 Q242.9844,234.9063 243.875,235.7266 Q244.7656,236.5469 246.3594,236.5469 Q247.2969,236.5469 247.9531,236.2969 Q248.3438,236.1406 248.7656,235.7031 Q249.0313,235.4375 249.1797,235.3594 Q249.3281,235.2813 249.5313,235.2813 Q249.8594,235.2813 250.1172,235.5391 Q250.375,235.7969 250.375,236.1406 Q250.375,236.4844 250.0313,236.8906 Q249.5313,237.4688 248.7344,237.7969 Q247.6563,238.25 246.3594,238.25 Q244.8438,238.25 243.6406,237.625 Q242.6563,237.125 241.9688,236.0547 Q241.2813,234.9844 241.2813,233.7031 L241.2813,232.5469 Q241.2813,231.2188 241.8984,230.0703 Q242.5156,228.9219 243.6094,228.3047 Q244.7031,227.6875 245.9375,227.6875 Q246.6719,227.6875 247.3203,227.8516 Q247.9688,228.0156 248.5156,228.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="265.25" y="237.4102">Device</text><line style="stroke: #000000; stroke-width: 1.5;" x1="207" x2="329" y1="248.5" y2="248.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="212" y="263.9189">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="212" y="277.7549">mode[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="212" y="291.5908">state[0..1]: DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="207" x2="329" y1="298.0078" y2="298.0078"/><!--class Measurement--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="117.1797" id="Measurement" style="stroke: #000000; stroke-width: 1.5;" width="132" x="365" y="203"/><ellipse cx="390.8" cy="219" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M393.5656,214.875 Q393.7219,214.6563 393.9094,214.5469 Q394.0969,214.4375 394.3156,214.4375 Q394.6906,214.4375 394.925,214.6953 Q395.1594,214.9531 395.1594,215.5625 L395.1594,217.0156 Q395.1594,217.625 394.925,217.8906 Q394.6906,218.1563 394.3156,218.1563 Q393.9719,218.1563 393.7688,217.9531 Q393.5656,217.7656 393.4563,217.25 Q393.4094,216.8906 393.2219,216.7031 Q392.8938,216.3281 392.2844,216.1094 Q391.675,215.8906 391.05,215.8906 Q390.2844,215.8906 389.6516,216.2188 Q389.0188,216.5469 388.5266,217.2969 Q388.0344,218.0469 388.0344,219.0781 L388.0344,220.1719 Q388.0344,221.4063 388.925,222.2266 Q389.8156,223.0469 391.4094,223.0469 Q392.3469,223.0469 393.0031,222.7969 Q393.3938,222.6406 393.8156,222.2031 Q394.0813,221.9375 394.2297,221.8594 Q394.3781,221.7813 394.5813,221.7813 Q394.9094,221.7813 395.1672,222.0391 Q395.425,222.2969 395.425,222.6406 Q395.425,222.9844 395.0813,223.3906 Q394.5813,223.9688 393.7844,224.2969 Q392.7063,224.75 391.4094,224.75 Q389.8938,224.75 388.6906,224.125 Q387.7063,223.625 387.0188,222.5547 Q386.3313,221.4844 386.3313,220.2031 L386.3313,219.0469 Q386.3313,217.7188 386.9484,216.5703 Q387.5656,215.4219 388.6594,214.8047 Q389.7531,214.1875 390.9875,214.1875 Q391.7219,214.1875 392.3703,214.3516 Q393.0188,214.5156 393.5656,214.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="407.2" y="223.9102">Measurement</text><line style="stroke: #000000; stroke-width: 1.5;" x1="366" x2="496" y1="235" y2="235"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="371" y="250.4189">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="371" y="264.2549">context[0..1]: ContextList</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="371" y="278.0908">result[0..1]: Result</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="371" y="291.9268">series: Series</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="371" y="305.7627">ts: Date</text><line style="stroke: #000000; stroke-width: 1.5;" x1="366" x2="496" y1="312.1797" y2="312.1797"/><!--class Context--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="117.1797" id="Context" style="stroke: #000000; stroke-width: 1.5;" width="148" x="10" y="398"/><ellipse cx="59.25" cy="414" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M62.0156,409.875 Q62.1719,409.6563 62.3594,409.5469 Q62.5469,409.4375 62.7656,409.4375 Q63.1406,409.4375 63.375,409.6953 Q63.6094,409.9531 63.6094,410.5625 L63.6094,412.0156 Q63.6094,412.625 63.375,412.8906 Q63.1406,413.1563 62.7656,413.1563 Q62.4219,413.1563 62.2188,412.9531 Q62.0156,412.7656 61.9063,412.25 Q61.8594,411.8906 61.6719,411.7031 Q61.3438,411.3281 60.7344,411.1094 Q60.125,410.8906 59.5,410.8906 Q58.7344,410.8906 58.1016,411.2188 Q57.4688,411.5469 56.9766,412.2969 Q56.4844,413.0469 56.4844,414.0781 L56.4844,415.1719 Q56.4844,416.4063 57.375,417.2266 Q58.2656,418.0469 59.8594,418.0469 Q60.7969,418.0469 61.4531,417.7969 Q61.8438,417.6406 62.2656,417.2031 Q62.5313,416.9375 62.6797,416.8594 Q62.8281,416.7813 63.0313,416.7813 Q63.3594,416.7813 63.6172,417.0391 Q63.875,417.2969 63.875,417.6406 Q63.875,417.9844 63.5313,418.3906 Q63.0313,418.9688 62.2344,419.2969 Q61.1563,419.75 59.8594,419.75 Q58.3438,419.75 57.1406,419.125 Q56.1563,418.625 55.4688,417.5547 Q54.7813,416.4844 54.7813,415.2031 L54.7813,414.0469 Q54.7813,412.7188 55.3984,411.5703 Q56.0156,410.4219 57.1094,409.8047 Q58.2031,409.1875 59.4375,409.1875 Q60.1719,409.1875 60.8203,409.3516 Q61.4688,409.5156 62.0156,409.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="79.75" y="418.9102">Context</text><line style="stroke: #000000; stroke-width: 1.5;" x1="11" x2="157" y1="430" y2="430"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="16" y="445.4189">accuracy[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="80" x="16" y="459.2549">limits[0..1]: Limits</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="16" y="473.0908">offset[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="16" y="486.9268">type[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="16" y="500.7627">unit[0..1]: String</text><line style="stroke: #000000; stroke-width: 1.5;" x1="11" x2="157" y1="507.1797" y2="507.1797"/><!--class Limits--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="117.1797" id="Limits" style="stroke: #000000; stroke-width: 1.5;" width="156" x="6" y="576"/><ellipse cx="62.75" cy="592" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M65.5156,587.875 Q65.6719,587.6563 65.8594,587.5469 Q66.0469,587.4375 66.2656,587.4375 Q66.6406,587.4375 66.875,587.6953 Q67.1094,587.9531 67.1094,588.5625 L67.1094,590.0156 Q67.1094,590.625 66.875,590.8906 Q66.6406,591.1563 66.2656,591.1563 Q65.9219,591.1563 65.7188,590.9531 Q65.5156,590.7656 65.4063,590.25 Q65.3594,589.8906 65.1719,589.7031 Q64.8438,589.3281 64.2344,589.1094 Q63.625,588.8906 63,588.8906 Q62.2344,588.8906 61.6016,589.2188 Q60.9688,589.5469 60.4766,590.2969 Q59.9844,591.0469 59.9844,592.0781 L59.9844,593.1719 Q59.9844,594.4063 60.875,595.2266 Q61.7656,596.0469 63.3594,596.0469 Q64.2969,596.0469 64.9531,595.7969 Q65.3438,595.6406 65.7656,595.2031 Q66.0313,594.9375 66.1797,594.8594 Q66.3281,594.7813 66.5313,594.7813 Q66.8594,594.7813 67.1172,595.0391 Q67.375,595.2969 67.375,595.6406 Q67.375,595.9844 67.0313,596.3906 Q66.5313,596.9688 65.7344,597.2969 Q64.6563,597.75 63.3594,597.75 Q61.8438,597.75 60.6406,597.125 Q59.6563,596.625 58.9688,595.5547 Q58.2813,594.4844 58.2813,593.2031 L58.2813,592.0469 Q58.2813,590.7188 58.8984,589.5703 Q59.5156,588.4219 60.6094,587.8047 Q61.7031,587.1875 62.9375,587.1875 Q63.6719,587.1875 64.3203,587.3516 Q64.9688,587.5156 65.5156,587.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="34" x="83.25" y="596.9102">Limits</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="161" y1="608" y2="608"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="12" y="623.4189">lowerError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="637.2549">lowerWarn[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="12" y="651.0908">target[0..1]:  Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="12" y="664.9268">upperError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="678.7627">upperWarn[0..1]: Float | [Float]</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="161" y1="685.1797" y2="685.1797"/><!--class Series--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="75.6719" id="Series" style="stroke: #000000; stroke-width: 1.5;" width="113" x="193.5" y="418.5"/><ellipse cx="228.75" cy="434.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M231.5156,430.375 Q231.6719,430.1563 231.8594,430.0469 Q232.0469,429.9375 232.2656,429.9375 Q232.6406,429.9375 232.875,430.1953 Q233.1094,430.4531 233.1094,431.0625 L233.1094,432.5156 Q233.1094,433.125 232.875,433.3906 Q232.6406,433.6563 232.2656,433.6563 Q231.9219,433.6563 231.7188,433.4531 Q231.5156,433.2656 231.4063,432.75 Q231.3594,432.3906 231.1719,432.2031 Q230.8438,431.8281 230.2344,431.6094 Q229.625,431.3906 229,431.3906 Q228.2344,431.3906 227.6016,431.7188 Q226.9688,432.0469 226.4766,432.7969 Q225.9844,433.5469 225.9844,434.5781 L225.9844,435.6719 Q225.9844,436.9063 226.875,437.7266 Q227.7656,438.5469 229.3594,438.5469 Q230.2969,438.5469 230.9531,438.2969 Q231.3438,438.1406 231.7656,437.7031 Q232.0313,437.4375 232.1797,437.3594 Q232.3281,437.2813 232.5313,437.2813 Q232.8594,437.2813 233.1172,437.5391 Q233.375,437.7969 233.375,438.1406 Q233.375,438.4844 233.0313,438.8906 Q232.5313,439.4688 231.7344,439.7969 Q230.6563,440.25 229.3594,440.25 Q227.8438,440.25 226.6406,439.625 Q225.6563,439.125 224.9688,438.0547 Q224.2813,436.9844 224.2813,435.7031 L224.2813,434.5469 Q224.2813,433.2188 224.8984,432.0703 Q225.5156,430.9219 226.6094,430.3047 Q227.7031,429.6875 228.9375,429.6875 Q229.6719,429.6875 230.3203,429.8516 Q230.9688,430.0156 231.5156,430.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="247.25" y="439.4102">Series</text><line style="stroke: #000000; stroke-width: 1.5;" x1="194.5" x2="305.5" y1="450.5" y2="450.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="64" x="199.5" y="465.9189">time: [Integer]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="199.5" y="479.7549">&lt;values&gt;[1..*]: [Float]</text><line style="stroke: #000000; stroke-width: 1.5;" x1="194.5" x2="305.5" y1="486.1719" y2="486.1719"/><!--class Part--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="117.1797" id="Part" style="stroke: #000000; stroke-width: 1.5;" width="106" x="532" y="203"/><ellipse cx="570.4" cy="219" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M573.1656,214.875 Q573.3219,214.6563 573.5094,214.5469 Q573.6969,214.4375 573.9156,214.4375 Q574.2906,214.4375 574.525,214.6953 Q574.7594,214.9531 574.7594,215.5625 L574.7594,217.0156 Q574.7594,217.625 574.525,217.8906 Q574.2906,218.1563 573.9156,218.1563 Q573.5719,218.1563 573.3688,217.9531 Q573.1656,217.7656 573.0563,217.25 Q573.0094,216.8906 572.8219,216.7031 Q572.4938,216.3281 571.8844,216.1094 Q571.275,215.8906 570.65,215.8906 Q569.8844,215.8906 569.2516,216.2188 Q568.6188,216.5469 568.1266,217.2969 Q567.6344,218.0469 567.6344,219.0781 L567.6344,220.1719 Q567.6344,221.4063 568.525,222.2266 Q569.4156,223.0469 571.0094,223.0469 Q571.9469,223.0469 572.6031,222.7969 Q572.9938,222.6406 573.4156,222.2031 Q573.6813,221.9375 573.8297,221.8594 Q573.9781,221.7813 574.1813,221.7813 Q574.5094,221.7813 574.7672,222.0391 Q575.025,222.2969 575.025,222.6406 Q575.025,222.9844 574.6813,223.3906 Q574.1813,223.9688 573.3844,224.2969 Q572.3063,224.75 571.0094,224.75 Q569.4938,224.75 568.2906,224.125 Q567.3063,223.625 566.6188,222.5547 Q565.9313,221.4844 565.9313,220.2031 L565.9313,219.0469 Q565.9313,217.7188 566.5484,216.5703 Q567.1656,215.4219 568.2594,214.8047 Q569.3531,214.1875 570.5875,214.1875 Q571.3219,214.1875 571.9703,214.3516 Q572.6188,214.5156 573.1656,214.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="22" x="589.6" y="223.9102">Part</text><line style="stroke: #000000; stroke-width: 1.5;" x1="533" x2="637" y1="235" y2="235"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="538" y="250.4189">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="538" y="264.2549">id[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="94" x="538" y="278.0908">type[0..1]: PartType</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="538" y="291.9268">typeId[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="538" y="305.7627">result[0..1]: Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="533" x2="637" y1="312.1797" y2="312.1797"/><!--class DeviceState--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="117.1797" id="DeviceState" style="stroke: #000000; stroke-width: 1.5;" width="97" x="82.5" y="8"/><ellipse cx="97.5" cy="24" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M96.3594,24.7969 L96.3594,27.2969 L100.6875,27.2969 L100.6875,26.375 Q100.6875,25.7656 100.9297,25.5 Q101.1719,25.2344 101.5469,25.2344 Q101.9219,25.2344 102.1563,25.5 Q102.3906,25.7656 102.3906,26.375 L102.3906,29 L94.3906,29 Q93.7656,29 93.5078,28.7656 Q93.25,28.5313 93.25,28.1406 Q93.25,27.7656 93.5156,27.5313 Q93.7813,27.2969 94.3906,27.2969 L94.6563,27.2969 L94.6563,20.6406 L94.3906,20.6406 Q93.7656,20.6406 93.5078,20.4063 Q93.25,20.1719 93.25,19.7813 Q93.25,19.4063 93.5078,19.1719 Q93.7656,18.9375 94.3906,18.9375 L102.0156,18.9375 L102.0156,21.5313 Q102.0156,22.1406 101.7891,22.3984 Q101.5625,22.6563 101.1719,22.6563 Q100.7969,22.6563 100.5625,22.3984 Q100.3281,22.1406 100.3281,21.5313 L100.3281,20.6406 L96.3594,20.6406 L96.3594,23.0938 L97.8438,23.0938 Q97.8438,22.4375 97.9688,22.25 Q98.2344,21.8438 98.7031,21.8438 Q99.0781,21.8438 99.3125,22.1016 Q99.5469,22.3594 99.5469,22.9688 L99.5469,24.9375 Q99.5469,25.4844 99.4219,25.6719 Q99.1563,26.0625 98.7031,26.0625 Q98.2344,26.0625 97.9688,25.6563 Q97.8438,25.4688 97.8438,24.7969 L96.3594,24.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="111.5" y="28.9102">DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="83.5" x2="178.5" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="88.5" y="55.4189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="88.5" y="69.2549">INFO</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="88.5" y="83.0908">WARN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="88.5" y="96.9268">ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="88.5" y="110.7627">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="83.5" x2="178.5" y1="117.1797" y2="117.1797"/><!--class Result--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="89.5078" id="Result" style="stroke: #000000; stroke-width: 1.5;" width="68" x="215" y="21.5"/><ellipse cx="230" cy="37.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M228.8594,38.2969 L228.8594,40.7969 L233.1875,40.7969 L233.1875,39.875 Q233.1875,39.2656 233.4297,39 Q233.6719,38.7344 234.0469,38.7344 Q234.4219,38.7344 234.6563,39 Q234.8906,39.2656 234.8906,39.875 L234.8906,42.5 L226.8906,42.5 Q226.2656,42.5 226.0078,42.2656 Q225.75,42.0313 225.75,41.6406 Q225.75,41.2656 226.0156,41.0313 Q226.2813,40.7969 226.8906,40.7969 L227.1563,40.7969 L227.1563,34.1406 L226.8906,34.1406 Q226.2656,34.1406 226.0078,33.9063 Q225.75,33.6719 225.75,33.2813 Q225.75,32.9063 226.0078,32.6719 Q226.2656,32.4375 226.8906,32.4375 L234.5156,32.4375 L234.5156,35.0313 Q234.5156,35.6406 234.2891,35.8984 Q234.0625,36.1563 233.6719,36.1563 Q233.2969,36.1563 233.0625,35.8984 Q232.8281,35.6406 232.8281,35.0313 L232.8281,34.1406 L228.8594,34.1406 L228.8594,36.5938 L230.3438,36.5938 Q230.3438,35.9375 230.4688,35.75 Q230.7344,35.3438 231.2031,35.3438 Q231.5781,35.3438 231.8125,35.6016 Q232.0469,35.8594 232.0469,36.4688 L232.0469,38.4375 Q232.0469,38.9844 231.9219,39.1719 Q231.6563,39.5625 231.2031,39.5625 Q230.7344,39.5625 230.4688,39.1563 Q230.3438,38.9688 230.3438,38.2969 L228.8594,38.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="244" y="42.4102">Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="216" x2="282" y1="53.5" y2="53.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="221" y="68.9189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="221" y="82.7549">NOK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="221" y="96.5908">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="216" x2="282" y1="103.0078" y2="103.0078"/><!--class PartType--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="75.6719" id="PartType" style="stroke: #000000; stroke-width: 1.5;" width="80" x="91" y="223.5"/><ellipse cx="106" cy="239.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M104.8594,240.2969 L104.8594,242.7969 L109.1875,242.7969 L109.1875,241.875 Q109.1875,241.2656 109.4297,241 Q109.6719,240.7344 110.0469,240.7344 Q110.4219,240.7344 110.6563,241 Q110.8906,241.2656 110.8906,241.875 L110.8906,244.5 L102.8906,244.5 Q102.2656,244.5 102.0078,244.2656 Q101.75,244.0313 101.75,243.6406 Q101.75,243.2656 102.0156,243.0313 Q102.2813,242.7969 102.8906,242.7969 L103.1563,242.7969 L103.1563,236.1406 L102.8906,236.1406 Q102.2656,236.1406 102.0078,235.9063 Q101.75,235.6719 101.75,235.2813 Q101.75,234.9063 102.0078,234.6719 Q102.2656,234.4375 102.8906,234.4375 L110.5156,234.4375 L110.5156,237.0313 Q110.5156,237.6406 110.2891,237.8984 Q110.0625,238.1563 109.6719,238.1563 Q109.2969,238.1563 109.0625,237.8984 Q108.8281,237.6406 108.8281,237.0313 L108.8281,236.1406 L104.8594,236.1406 L104.8594,238.5938 L106.3438,238.5938 Q106.3438,237.9375 106.4688,237.75 Q106.7344,237.3438 107.2031,237.3438 Q107.5781,237.3438 107.8125,237.6016 Q108.0469,237.8594 108.0469,238.4688 L108.0469,240.4375 Q108.0469,240.9844 107.9219,241.1719 Q107.6563,241.5625 107.2031,241.5625 Q106.7344,241.5625 106.4688,241.1563 Q106.3438,240.9688 106.3438,240.2969 L104.8594,240.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="120" y="244.4102">PartType</text><line style="stroke: #000000; stroke-width: 1.5;" x1="92" x2="170" y1="255.5" y2="255.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="97" y="270.9189">SINGLE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="97" y="284.7549">BATCH</text><line style="stroke: #000000; stroke-width: 1.5;" x1="92" x2="170" y1="291.1719" y2="291.1719"/><!--class ProcessPayload--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="117.1797" id="ProcessPayload" style="stroke: #000000; stroke-width: 1.5;" width="160" x="449" y="8"/><ellipse cx="481.1" cy="24" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M483.8656,19.875 Q484.0219,19.6563 484.2094,19.5469 Q484.3969,19.4375 484.6156,19.4375 Q484.9906,19.4375 485.225,19.6953 Q485.4594,19.9531 485.4594,20.5625 L485.4594,22.0156 Q485.4594,22.625 485.225,22.8906 Q484.9906,23.1563 484.6156,23.1563 Q484.2719,23.1563 484.0688,22.9531 Q483.8656,22.7656 483.7563,22.25 Q483.7094,21.8906 483.5219,21.7031 Q483.1938,21.3281 482.5844,21.1094 Q481.975,20.8906 481.35,20.8906 Q480.5844,20.8906 479.9516,21.2188 Q479.3188,21.5469 478.8266,22.2969 Q478.3344,23.0469 478.3344,24.0781 L478.3344,25.1719 Q478.3344,26.4063 479.225,27.2266 Q480.1156,28.0469 481.7094,28.0469 Q482.6469,28.0469 483.3031,27.7969 Q483.6938,27.6406 484.1156,27.2031 Q484.3813,26.9375 484.5297,26.8594 Q484.6781,26.7813 484.8813,26.7813 Q485.2094,26.7813 485.4672,27.0391 Q485.725,27.2969 485.725,27.6406 Q485.725,27.9844 485.3813,28.3906 Q484.8813,28.9688 484.0844,29.2969 Q483.0063,29.75 481.7094,29.75 Q480.1938,29.75 478.9906,29.125 Q478.0063,28.625 477.3188,27.5547 Q476.6313,26.4844 476.6313,25.2031 L476.6313,24.0469 Q476.6313,22.7188 477.2484,21.5703 Q477.8656,20.4219 478.9594,19.8047 Q480.0531,19.1875 481.2875,19.1875 Q482.0219,19.1875 482.6703,19.3516 Q483.3188,19.5156 483.8656,19.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="498.9" y="28.9102">ProcessPayload</text><line style="stroke: #000000; stroke-width: 1.5;" x1="450" x2="608" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="455" y="55.4189">content-spec: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="455" y="69.2549">device: Device</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="455" y="83.0908">measurements: Measurements</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="68" x="455" y="96.9268">part[0..1]: Part</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="455" y="110.7627">process: Process</text><line style="stroke: #000000; stroke-width: 1.5;" x1="450" x2="608" y1="117.1797" y2="117.1797"/><!--class Process--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="117.1797" id="Process" style="stroke: #000000; stroke-width: 1.5;" width="135" x="690.5" y="203"/><ellipse cx="731.15" cy="219" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M733.9156,214.875 Q734.0719,214.6563 734.2594,214.5469 Q734.4469,214.4375 734.6656,214.4375 Q735.0406,214.4375 735.275,214.6953 Q735.5094,214.9531 735.5094,215.5625 L735.5094,217.0156 Q735.5094,217.625 735.275,217.8906 Q735.0406,218.1563 734.6656,218.1563 Q734.3219,218.1563 734.1188,217.9531 Q733.9156,217.7656 733.8063,217.25 Q733.7594,216.8906 733.5719,216.7031 Q733.2438,216.3281 732.6344,216.1094 Q732.025,215.8906 731.4,215.8906 Q730.6344,215.8906 730.0016,216.2188 Q729.3688,216.5469 728.8766,217.2969 Q728.3844,218.0469 728.3844,219.0781 L728.3844,220.1719 Q728.3844,221.4063 729.275,222.2266 Q730.1656,223.0469 731.7594,223.0469 Q732.6969,223.0469 733.3531,222.7969 Q733.7438,222.6406 734.1656,222.2031 Q734.4313,221.9375 734.5797,221.8594 Q734.7281,221.7813 734.9313,221.7813 Q735.2594,221.7813 735.5172,222.0391 Q735.775,222.2969 735.775,222.6406 Q735.775,222.9844 735.4313,223.3906 Q734.9313,223.9688 734.1344,224.2969 Q733.0563,224.75 731.7594,224.75 Q730.2438,224.75 729.0406,224.125 Q728.0563,223.625 727.3688,222.5547 Q726.6813,221.4844 726.6813,220.2031 L726.6813,219.0469 Q726.6813,217.7188 727.2984,216.5703 Q727.9156,215.4219 729.0094,214.8047 Q730.1031,214.1875 731.3375,214.1875 Q732.0719,214.1875 732.7203,214.3516 Q733.3688,214.5156 733.9156,214.875 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="46" x="750.85" y="223.9102">Process</text><line style="stroke: #000000; stroke-width: 1.5;" x1="691.5" x2="824.5" y1="235" y2="235"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="696.5" y="250.4189">externalId[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="696.5" y="264.2549">program[0..1]: Program</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="696.5" y="278.0908">result[0..1]: Result</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="696.5" y="291.9268">shutoffPhase[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="696.5" y="305.7627">ts: Date</text><line style="stroke: #000000; stroke-width: 1.5;" x1="691.5" x2="824.5" y1="312.1797" y2="312.1797"/><!--class ProcessMeasurement--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="89.5078" id="ProcessMeasurement" style="stroke: #000000; stroke-width: 1.5;" width="179" x="341.5" y="411.5"/><ellipse cx="367.75" cy="427.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M370.5156,423.375 Q370.6719,423.1563 370.8594,423.0469 Q371.0469,422.9375 371.2656,422.9375 Q371.6406,422.9375 371.875,423.1953 Q372.1094,423.4531 372.1094,424.0625 L372.1094,425.5156 Q372.1094,426.125 371.875,426.3906 Q371.6406,426.6563 371.2656,426.6563 Q370.9219,426.6563 370.7188,426.4531 Q370.5156,426.2656 370.4063,425.75 Q370.3594,425.3906 370.1719,425.2031 Q369.8438,424.8281 369.2344,424.6094 Q368.625,424.3906 368,424.3906 Q367.2344,424.3906 366.6016,424.7188 Q365.9688,425.0469 365.4766,425.7969 Q364.9844,426.5469 364.9844,427.5781 L364.9844,428.6719 Q364.9844,429.9063 365.875,430.7266 Q366.7656,431.5469 368.3594,431.5469 Q369.2969,431.5469 369.9531,431.2969 Q370.3438,431.1406 370.7656,430.7031 Q371.0313,430.4375 371.1797,430.3594 Q371.3281,430.2813 371.5313,430.2813 Q371.8594,430.2813 372.1172,430.5391 Q372.375,430.7969 372.375,431.1406 Q372.375,431.4844 372.0313,431.8906 Q371.5313,432.4688 370.7344,432.7969 Q369.6563,433.25 368.3594,433.25 Q366.8438,433.25 365.6406,432.625 Q364.6563,432.125 363.9688,431.0547 Q363.2813,429.9844 363.2813,428.7031 L363.2813,427.5469 Q363.2813,426.2188 363.8984,425.0703 Q364.5156,423.9219 365.6094,423.3047 Q366.7031,422.6875 367.9375,422.6875 Q368.6719,422.6875 369.3203,422.8516 Q369.9688,423.0156 370.5156,423.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="384.25" y="432.4102">ProcessMeasurement</text><line style="stroke: #000000; stroke-width: 1.5;" x1="342.5" x2="519.5" y1="443.5" y2="443.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="347.5" y="458.9189">name[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="347.5" y="472.7549">phase[0..1] ; String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="347.5" y="486.5908">specialValues[0..1]: SpecialValues</text><line style="stroke: #000000; stroke-width: 1.5;" x1="342.5" x2="519.5" y1="493.0078" y2="493.0078"/><!--class Program--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="89.5078" id="Program" style="stroke: #000000; stroke-width: 1.5;" width="140" x="704" y="411.5"/><ellipse cx="746" cy="427.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M748.7656,423.375 Q748.9219,423.1563 749.1094,423.0469 Q749.2969,422.9375 749.5156,422.9375 Q749.8906,422.9375 750.125,423.1953 Q750.3594,423.4531 750.3594,424.0625 L750.3594,425.5156 Q750.3594,426.125 750.125,426.3906 Q749.8906,426.6563 749.5156,426.6563 Q749.1719,426.6563 748.9688,426.4531 Q748.7656,426.2656 748.6563,425.75 Q748.6094,425.3906 748.4219,425.2031 Q748.0938,424.8281 747.4844,424.6094 Q746.875,424.3906 746.25,424.3906 Q745.4844,424.3906 744.8516,424.7188 Q744.2188,425.0469 743.7266,425.7969 Q743.2344,426.5469 743.2344,427.5781 L743.2344,428.6719 Q743.2344,429.9063 744.125,430.7266 Q745.0156,431.5469 746.6094,431.5469 Q747.5469,431.5469 748.2031,431.2969 Q748.5938,431.1406 749.0156,430.7031 Q749.2813,430.4375 749.4297,430.3594 Q749.5781,430.2813 749.7813,430.2813 Q750.1094,430.2813 750.3672,430.5391 Q750.625,430.7969 750.625,431.1406 Q750.625,431.4844 750.2813,431.8906 Q749.7813,432.4688 748.9844,432.7969 Q747.9063,433.25 746.6094,433.25 Q745.0938,433.25 743.8906,432.625 Q742.9063,432.125 742.2188,431.0547 Q741.5313,429.9844 741.5313,428.7031 L741.5313,427.5469 Q741.5313,426.2188 742.1484,425.0703 Q742.7656,423.9219 743.8594,423.3047 Q744.9531,422.6875 746.1875,422.6875 Q746.9219,422.6875 747.5703,422.8516 Q748.2188,423.0156 748.7656,423.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="766" y="432.4102">Program</text><line style="stroke: #000000; stroke-width: 1.5;" x1="705" x2="843" y1="443.5" y2="443.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="710" y="458.9189">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="128" x="710" y="472.7549">lastChangeDate[0..1]: Date</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="710" y="486.5908">name[0..1]: String</text><line style="stroke: #000000; stroke-width: 1.5;" x1="705" x2="843" y1="493.0078" y2="493.0078"/><!--class SpecialValue--><rect fill="#F5F5F5" filter="url(#fzi1h3odwm3pk)" height="89.5078" id="SpecialValue" style="stroke: #000000; stroke-width: 1.5;" width="113" x="555.5" y="411.5"/><ellipse cx="574.55" cy="427.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M577.3156,423.375 Q577.4719,423.1563 577.6594,423.0469 Q577.8469,422.9375 578.0656,422.9375 Q578.4406,422.9375 578.675,423.1953 Q578.9094,423.4531 578.9094,424.0625 L578.9094,425.5156 Q578.9094,426.125 578.675,426.3906 Q578.4406,426.6563 578.0656,426.6563 Q577.7219,426.6563 577.5188,426.4531 Q577.3156,426.2656 577.2063,425.75 Q577.1594,425.3906 576.9719,425.2031 Q576.6438,424.8281 576.0344,424.6094 Q575.425,424.3906 574.8,424.3906 Q574.0344,424.3906 573.4016,424.7188 Q572.7688,425.0469 572.2766,425.7969 Q571.7844,426.5469 571.7844,427.5781 L571.7844,428.6719 Q571.7844,429.9063 572.675,430.7266 Q573.5656,431.5469 575.1594,431.5469 Q576.0969,431.5469 576.7531,431.2969 Q577.1438,431.1406 577.5656,430.7031 Q577.8313,430.4375 577.9797,430.3594 Q578.1281,430.2813 578.3313,430.2813 Q578.6594,430.2813 578.9172,430.5391 Q579.175,430.7969 579.175,431.1406 Q579.175,431.4844 578.8313,431.8906 Q578.3313,432.4688 577.5344,432.7969 Q576.4563,433.25 575.1594,433.25 Q573.6438,433.25 572.4406,432.625 Q571.4563,432.125 570.7688,431.0547 Q570.0813,429.9844 570.0813,428.7031 L570.0813,427.5469 Q570.0813,426.2188 570.6984,425.0703 Q571.3156,423.9219 572.4094,423.3047 Q573.5031,422.6875 574.7375,422.6875 Q575.4719,422.6875 576.1203,422.8516 Q576.7688,423.0156 577.3156,423.375 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="72" x="589.45" y="432.4102">SpecialValue</text><line style="stroke: #000000; stroke-width: 1.5;" x1="556.5" x2="667.5" y1="443.5" y2="443.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="561.5" y="458.9189">time[0..1]: Integer</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="561.5" y="472.7549">name[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="561.5" y="486.5908">value: &lt;String, Float&gt;</text><line style="stroke: #000000; stroke-width: 1.5;" x1="556.5" x2="667.5" y1="493.0078" y2="493.0078"/><!--link Measurement to Context--><path d="M353.042,316.851 C351.024,317.938 349.008,318.99 347,320 C310.463,338.383 297.252,333.113 260,350 C220.837,367.753 212.905,375.934 176,398 C170.18,401.48 164.178,405.118 158.16,408.801 " fill="none" id="Measurement-Context" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="364.581,310.291,357.3881,309.7787,354.1487,316.2212,361.3416,316.7335,364.581,310.291" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="261" y="364.4951">ContextList</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="349.9336" y="312.257">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="22" x="166.0107" y="401.1693">0..1</text><!--link Context to Limits--><path d="M84,528.169 C84,543.966 84,560.539 84,575.742 " fill="none" id="Context-Limits" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="84,515.129,80,521.129,84,527.129,88,521.129,84,515.129" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="76.5734" y="536.755">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="62.7813" y="565.1115">0..*</text><!--link ProcessPayload to Device--><path d="M451.045,125.145 C411.54,154.358 364.322,189.274 327.739,216.325 " fill="none" id="ProcessPayload-Device" style="stroke: #000000; stroke-width: 1.0;"/><!--link ProcessPayload to Part--><path d="M545.726,125.145 C552.849,149.693 561.14,178.267 568.263,202.819 " fill="none" id="ProcessPayload-Part" style="stroke: #000000; stroke-width: 1.0;"/><!--link ProcessPayload to Process--><path d="M597.397,125.145 C626.787,149.915 661.043,178.785 690.349,203.484 " fill="none" id="ProcessPayload-Process" style="stroke: #000000; stroke-width: 1.0;"/><!--link ProcessPayload to Measurement--><path d="M470.956,136.083 C466.941,142.285 463.218,148.633 460,155 C452.502,169.834 446.742,186.852 442.408,202.829 " fill="none" id="ProcessPayload-Measurement" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="478.453,125.102,471.7663,127.8017,471.6865,135.0123,478.3732,132.3127,478.453,125.102" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="461" y="169.4951">Measurements</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="464.866" y="146.7247">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="422.5796" y="192.2091">0..*</text><!--link Process to Program--><path d="M762.779,320.145 C765.201,349.358 768.095,384.274 770.338,411.325 " fill="none" id="Process-Program" style="stroke: #000000; stroke-width: 1.0;"/><!--link Measurement to Series--><path d="M376.939,320.145 C347.147,351.912 311.03,390.424 284.95,418.233 " fill="none" id="Measurement-Series" style="stroke: #000000; stroke-width: 1.0;"/><!--link Measurement to SpecialValue--><path d="M494.226,329.917 C519.532,356.902 547.977,387.232 570.572,411.325 " fill="none" id="Measurement-SpecialValue" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="485.061,320.145,486.2476,327.2578,493.2696,328.8982,492.083,321.7854,485.061,320.145" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="528" y="364.4951">SpecialValues</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="484.2231" y="341.773">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="542.6971" y="400.7423">0..*</text><!--link Measurement to ProcessMeasurement--><path d="M431,340.357 C431,364.516 431,390.297 431,411.325 " fill="none" id="Measurement-ProcessMeasurement" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="none" points="424,340.145,431,320.145,438,340.145,424,340.145" style="stroke: #000000; stroke-width: 1.0;"/><!--link DeviceState to Result--><!--link DeviceState to PartType--><!--
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="831px" preserveAspectRatio="none" style="width:804px;height:831px;" version="1.1" viewBox="0 0 804 831" width="804px" zoomAndPan="magnify"><defs><filter height="300%" id="fadou8kvsw00n" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--class Device--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="82.6016" id="Device" style="stroke: #000000; stroke-width: 1.5;" width="124" x="129.5" y="216.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="37" x="173" y="233.957">Device</text><line style="stroke: #000000; stroke-width: 1.5;" x1="130.5" x2="252.5" y1="241.5938" y2="241.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="135.5" y="257.0127">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="135.5" y="270.8486">mode[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="135.5" y="284.6846">state[0..1]: DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="130.5" x2="252.5" y1="291.1016" y2="291.1016"/><!--class Measurement--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="110.2734" id="Measurement" style="stroke: #000000; stroke-width: 1.5;" width="132" x="288.5" y="203"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="316.5" y="220.457">Measurement</text><line style="stroke: #000000; stroke-width: 1.5;" x1="289.5" x2="419.5" y1="228.0938" y2="228.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="294.5" y="243.5127">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="294.5" y="257.3486">context[0..1]: ContextList</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="294.5" y="271.1846">result[0..1]: Result</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="294.5" y="285.0205">series: Series</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="294.5" y="298.8564">ts: Date</text><line style="stroke: #000000; stroke-width: 1.5;" x1="289.5" x2="419.5" y1="305.2734" y2="305.2734"/><!--class Context--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="96.4375" id="Context" style="stroke: #000000; stroke-width: 1.5;" width="126" x="119.5" y="391"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="41" x="162" y="408.457">Context</text><line style="stroke: #000000; stroke-width: 1.5;" x1="120.5" x2="244.5" y1="416.0938" y2="416.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="80" x="125.5" y="431.5127">limits[0..1]: Limits</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="125.5" y="445.3486">namespace[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="125.5" y="459.1846">type[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="125.5" y="473.0205">unit[0..1]: String</text><line style="stroke: #000000; stroke-width: 1.5;" x1="120.5" x2="244.5" y1="479.4375" y2="479.4375"/><!--class Limits--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="110.2734" id="Limits" style="stroke: #000000; stroke-width: 1.5;" width="156" x="104.5" y="565"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="34" x="165.5" y="582.457">Limits</text><line style="stroke: #000000; stroke-width: 1.5;" x1="105.5" x2="259.5" y1="590.0938" y2="590.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="110.5" y="605.5127">lowerError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="110.5" y="619.3486">lowerWarn[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="110.5" y="633.1846">target[0..1]:  Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="110.5" y="647.0205">upperError[0..1]: Float | [Float]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="110.5" y="660.8564">upperWarn[0..1]: Float | [Float]</text><line style="stroke: #000000; stroke-width: 1.5;" x1="105.5" x2="259.5" y1="667.2734" y2="667.2734"/><!--class Series--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="68.7656" id="Series" style="stroke: #000000; stroke-width: 1.5;" width="113" x="281" y="404.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="319.5" y="421.957">Series</text><line style="stroke: #000000; stroke-width: 1.5;" x1="282" x2="393" y1="429.5938" y2="429.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="64" x="287" y="445.0127">time: [Integer]</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="287" y="458.8486">&lt;values&gt;[1..*]: [Float]</text><line style="stroke: #000000; stroke-width: 1.5;" x1="282" x2="393" y1="465.2656" y2="465.2656"/><!--class Part--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="110.2734" id="Part" style="stroke: #000000; stroke-width: 1.5;" width="106" x="455.5" y="203"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="22" x="497.5" y="220.457">Part</text><line style="stroke: #000000; stroke-width: 1.5;" x1="456.5" x2="560.5" y1="228.0938" y2="228.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="461.5" y="243.5127">code[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="461.5" y="257.3486">id[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="94" x="461.5" y="271.1846">type[0..1]: PartType</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="461.5" y="285.0205">typeId[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="461.5" y="298.8564">result[0..1]: Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="456.5" x2="560.5" y1="305.2734" y2="305.2734"/><!--class DeviceState--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="117.1797" id="DeviceState" style="stroke: #000000; stroke-width: 1.5;" width="97" x="6" y="8"/><ellipse cx="21" cy="24" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M19.8594,24.7969 L19.8594,27.2969 L24.1875,27.2969 L24.1875,26.375 Q24.1875,25.7656 24.4297,25.5 Q24.6719,25.2344 25.0469,25.2344 Q25.4219,25.2344 25.6563,25.5 Q25.8906,25.7656 25.8906,26.375 L25.8906,29 L17.8906,29 Q17.2656,29 17.0078,28.7656 Q16.75,28.5313 16.75,28.1406 Q16.75,27.7656 17.0156,27.5313 Q17.2813,27.2969 17.8906,27.2969 L18.1563,27.2969 L18.1563,20.6406 L17.8906,20.6406 Q17.2656,20.6406 17.0078,20.4063 Q16.75,20.1719 16.75,19.7813 Q16.75,19.4063 17.0078,19.1719 Q17.2656,18.9375 17.8906,18.9375 L25.5156,18.9375 L25.5156,21.5313 Q25.5156,22.1406 25.2891,22.3984 Q25.0625,22.6563 24.6719,22.6563 Q24.2969,22.6563 24.0625,22.3984 Q23.8281,22.1406 23.8281,21.5313 L23.8281,20.6406 L19.8594,20.6406 L19.8594,23.0938 L21.3438,23.0938 Q21.3438,22.4375 21.4688,22.25 Q21.7344,21.8438 22.2031,21.8438 Q22.5781,21.8438 22.8125,22.1016 Q23.0469,22.3594 23.0469,22.9688 L23.0469,24.9375 Q23.0469,25.4844 22.9219,25.6719 Q22.6563,26.0625 22.2031,26.0625 Q21.7344,26.0625 21.4688,25.6563 Q21.3438,25.4688 21.3438,24.7969 L19.8594,24.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="35" y="28.9102">DeviceState</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="102" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="12" y="55.4189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="12" y="69.2549">INFO</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="12" y="83.0908">WARN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="12" y="96.9268">ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="12" y="110.7627">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="7" x2="102" y1="117.1797" y2="117.1797"/><!--class Result--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="89.5078" id="Result" style="stroke: #000000; stroke-width: 1.5;" width="68" x="138.5" y="21.5"/><ellipse cx="153.5" cy="37.5" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M152.3594,38.2969 L152.3594,40.7969 L156.6875,40.7969 L156.6875,39.875 Q156.6875,39.2656 156.9297,39 Q157.1719,38.7344 157.5469,38.7344 Q157.9219,38.7344 158.1563,39 Q158.3906,39.2656 158.3906,39.875 L158.3906,42.5 L150.3906,42.5 Q149.7656,42.5 149.5078,42.2656 Q149.25,42.0313 149.25,41.6406 Q149.25,41.2656 149.5156,41.0313 Q149.7813,40.7969 150.3906,40.7969 L150.6563,40.7969 L150.6563,34.1406 L150.3906,34.1406 Q149.7656,34.1406 149.5078,33.9063 Q149.25,33.6719 149.25,33.2813 Q149.25,32.9063 149.5078,32.6719 Q149.7656,32.4375 150.3906,32.4375 L158.0156,32.4375 L158.0156,35.0313 Q158.0156,35.6406 157.7891,35.8984 Q157.5625,36.1563 157.1719,36.1563 Q156.7969,36.1563 156.5625,35.8984 Q156.3281,35.6406 156.3281,35.0313 L156.3281,34.1406 L152.3594,34.1406 L152.3594,36.5938 L153.8438,36.5938 Q153.8438,35.9375 153.9688,35.75 Q154.2344,35.3438 154.7031,35.3438 Q155.0781,35.3438 155.3125,35.6016 Q155.5469,35.8594 155.5469,36.4688 L155.5469,38.4375 Q155.5469,38.9844 155.4219,39.1719 Q155.1563,39.5625 154.7031,39.5625 Q154.2344,39.5625 153.9688,39.1563 Q153.8438,38.9688 153.8438,38.2969 L152.3594,38.2969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="167.5" y="42.4102">Result</text><line style="stroke: #000000; stroke-width: 1.5;" x1="139.5" x2="205.5" y1="53.5" y2="53.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="144.5" y="68.9189">OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="144.5" y="82.7549">NOK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="144.5" y="96.5908">UNKNOWN</text><line style="stroke: #000000; stroke-width: 1.5;" x1="139.5" x2="205.5" y1="103.0078" y2="103.0078"/><!--class PartType--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="75.6719" id="PartType" style="stroke: #000000; stroke-width: 1.5;" width="80" x="14.5" y="220"/><ellipse cx="29.5" cy="236" fill="#FFFFFF" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><path d="M28.3594,236.7969 L28.3594,239.2969 L32.6875,239.2969 L32.6875,238.375 Q32.6875,237.7656 32.9297,237.5 Q33.1719,237.2344 33.5469,237.2344 Q33.9219,237.2344 34.1563,237.5 Q34.3906,237.7656 34.3906,238.375 L34.3906,241 L26.3906,241 Q25.7656,241 25.5078,240.7656 Q25.25,240.5313 25.25,240.1406 Q25.25,239.7656 25.5156,239.5313 Q25.7813,239.2969 26.3906,239.2969 L26.6563,239.2969 L26.6563,232.6406 L26.3906,232.6406 Q25.7656,232.6406 25.5078,232.4063 Q25.25,232.1719 25.25,231.7813 Q25.25,231.4063 25.5078,231.1719 Q25.7656,230.9375 26.3906,230.9375 L34.0156,230.9375 L34.0156,233.5313 Q34.0156,234.1406 33.7891,234.3984 Q33.5625,234.6563 33.1719,234.6563 Q32.7969,234.6563 32.5625,234.3984 Q32.3281,234.1406 32.3281,233.5313 L32.3281,232.6406 L28.3594,232.6406 L28.3594,235.0938 L29.8438,235.0938 Q29.8438,234.4375 29.9688,234.25 Q30.2344,233.8438 30.7031,233.8438 Q31.0781,233.8438 31.3125,234.1016 Q31.5469,234.3594 31.5469,234.9688 L31.5469,236.9375 Q31.5469,237.4844 31.4219,237.6719 Q31.1563,238.0625 30.7031,238.0625 Q30.2344,238.0625 29.9688,237.6563 Q29.8438,237.4688 29.8438,236.7969 L28.3594,236.7969 Z "/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="43.5" y="240.9102">PartType</text><line style="stroke: #000000; stroke-width: 1.5;" x1="15.5" x2="93.5" y1="252" y2="252"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="20.5" y="267.4189">SINGLE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="20.5" y="281.2549">BATCH</text><line style="stroke: #000000; stroke-width: 1.5;" x1="15.5" x2="93.5" y1="287.6719" y2="287.6719"/><!--class ProcessPayload--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="110.2734" id="ProcessPayload" style="stroke: #000000; stroke-width: 1.5;" width="160" x="372.5" y="11.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="407.5" y="28.957">ProcessPayload</text><line style="stroke: #000000; stroke-width: 1.5;" x1="373.5" x2="531.5" y1="36.5938" y2="36.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="378.5" y="52.0127">content-spec: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="378.5" y="65.8486">device: Device</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="378.5" y="79.6846">measurements: Measurements</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="68" x="378.5" y="93.5205">part[0..1]: Part</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="378.5" y="107.3564">process: Process</text><line style="stroke: #000000; stroke-width: 1.5;" x1="373.5" x2="531.5" y1="113.7734" y2="113.7734"/><!--class Process--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="110.2734" id="Process" style="stroke: #000000; stroke-width: 1.5;" width="135" x="630" y="203"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="46" x="674.5" y="220.457">Process</text><line style="stroke: #000000; stroke-width: 1.5;" x1="631" x2="764" y1="228.0938" y2="228.0938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="636" y="243.5127">externalId[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="636" y="257.3486">program[0..1]: Program</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="636" y="271.1846">result[0..1]: Result</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="636" y="285.0205">shutoffPhase[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37" x="636" y="298.8564">ts: Date</text><line style="stroke: #000000; stroke-width: 1.5;" x1="631" x2="764" y1="305.2734" y2="305.2734"/><!--class ProcessMeasurement--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="82.6016" id="ProcessMeasurement" style="stroke: #000000; stroke-width: 1.5;" width="179" x="429" y="397.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="457.5" y="414.957">ProcessMeasurement</text><line style="stroke: #000000; stroke-width: 1.5;" x1="430" x2="607" y1="422.5938" y2="422.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="435" y="438.0127">name[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="435" y="451.8486">phase[0..1] ; String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="435" y="465.6846">specialValues[0..1]: SpecialValues</text><line style="stroke: #000000; stroke-width: 1.5;" x1="430" x2="607" y1="472.1016" y2="472.1016"/><!--class Program--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="82.6016" id="Program" style="stroke: #000000; stroke-width: 1.5;" width="140" x="643.5" y="397.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="689.5" y="414.957">Program</text><line style="stroke: #000000; stroke-width: 1.5;" x1="644.5" x2="782.5" y1="422.5938" y2="422.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="649.5" y="438.0127">id: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="128" x="649.5" y="451.8486">lastChangeDate[0..1]: Date</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="649.5" y="465.6846">name[0..1]: String</text><line style="stroke: #000000; stroke-width: 1.5;" x1="644.5" x2="782.5" y1="472.1016" y2="472.1016"/><!--class SpecialValue--><rect fill="#F5F5F5" filter="url(#fadou8kvsw00n)" height="82.6016" id="SpecialValue" style="stroke: #000000; stroke-width: 1.5;" width="113" x="462" y="578.5"/><text fill="#50237F" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="72" x="482.5" y="595.957">SpecialValue</text><line style="stroke: #000000; stroke-width: 1.5;" x1="463" x2="574" y1="603.5938" y2="603.5938"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="468" y="619.0127">time[0..1]: Integer</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="468" y="632.8486">name[0..1]: String</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="468" y="646.6846">value: &lt;String, Float&gt;</text><line style="stroke: #000000; stroke-width: 1.5;" x1="463" x2="574" y1="653.1016" y2="653.1016"/><!--link Measurement to Context--><path d="M289.509,322.562 C282.705,329.414 275.93,336.321 269.5,343 C254.765,358.306 238.985,375.335 224.966,390.699 " fill="none" id="Measurement-Context" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#000000" points="298.776,313.28,291.7061,314.7003,290.298,321.7725,297.3678,320.3523,298.776,313.28" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="270.5" y="357.4951">ContextList</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="284.1879" y="334.8879">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="22" x="207.3909" y="380.2707">0..1</text><!--link Context to Limits--><path d="M182.5,487.03 C182.5,510.854 182.5,539.905 182.5,564.679 " fill="none" id="Context-Limits" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="174.9641" y="509.0981">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="161.2188" y="554.0661">0..*</text><!--link ProcessPayload to Device--><path d="M378.057,121.549 C336.471,151.743 285.509,188.744 247.363,216.44 " fill="none" id="ProcessPayload-Device" style="stroke: #000000; stroke-width: 1.0;"/><!--link ProcessPayload to Part--><path d="M468.472,121.549 C476.005,147.039 484.971,177.38 492.506,202.879 " fill="none" id="ProcessPayload-Part" style="stroke: #000000; stroke-width: 1.0;"/><!--link ProcessPayload to Process--><path d="M522.379,121.549 C556.041,147.586 596.248,178.685 629.641,204.513 " fill="none" id="ProcessPayload-Process" style="stroke: #000000; stroke-width: 1.0;"/><!--link ProcessPayload to Measurement--><path d="M396.825,132.625 C391.917,139.92 387.358,147.45 383.5,155 C375.919,169.837 370.074,186.931 365.685,202.832 " fill="none" id="ProcessPayload-Measurement" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="404.494,121.762,397.7655,124.3558,397.5719,131.5643,404.3004,128.9705,404.494,121.762" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="384.5" y="169.4951">Measurements</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="390.8948" y="143.3676">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="345.8368" y="192.2387">0..*</text><!--link Process to Program--><path d="M702.344,313.192 C704.763,340.254 707.64,372.446 709.867,397.357 " fill="none" id="Process-Program" style="stroke: #000000; stroke-width: 1.0;"/><!--link Measurement to Series--><path d="M349.353,313.192 C346.539,342.827 343.14,378.612 340.705,404.253 " fill="none" id="Measurement-Series" style="stroke: #000000; stroke-width: 1.0;"/><!--link Measurement to ProcessMeasurement--><path d="M417.906,328.205 C439.329,351.588 462.54,376.922 481.263,397.357 " fill="none" id="Measurement-ProcessMeasurement" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="none" points="412.5,332.667,404.15,313.192,422.823,323.209,412.5,332.667" style="stroke: #000000; stroke-width: 1.0;"/><!--link ProcessMeasurement to SpecialValue--><path d="M518.5,493.842 C518.5,520.932 518.5,553.232 518.5,578.2334 " fill="none" id="ProcessMeasurement-SpecialValue" style="stroke: #000000; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="518.5,480.618,514.5,486.618,518.5,492.618,522.5,486.618,518.5,480.618" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="519.5" y="531.4951">SpecialValues</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="7" x="510.9859" y="501.4558">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="496.8438" y="567.5476">0..*</text><!--link DeviceState to Result--><!--link DeviceState to PartType--><rect fill="#FFFFFF" height="127" rx="5" ry="5" style="stroke: #FFFFFF; stroke-width: 1.0;" width="301" x="492" y="693"/><svg x="498" y="698">	<rect x=".5" y=".5" width="288" height="116.58" rx="5" ry="5" fill="#f5f5f5" stroke="#50237f"/>	<text transform="translate(-504.5 -714.76)" x="514" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="36">Symbol</text>	<text transform="translate(-504.5 -714.76)" x="556" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="28">Name</text>	<text transform="translate(-504.5 -714.76)" x="637" y="731.38092" fill="#000000" font-family="sans-serif" font-size="10px" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56">Description</text>	<text transform="translate(-504.5,-713.5)" x="523" y="749.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.11)" x="556" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="24">Class</text>	<text transform="translate(-504.5 -712.11)" x="637" y="743.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="86">A complex Object</text>	<text transform="translate(-504.5,-713.5)" x="523" y="767.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.25)" x="556" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="58">Aggregation</text>	<text transform="translate(-504.5 -712.09)" x="637" y="761.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="107">List of Objects as Array</text>	<text transform="translate(-504.5,-713.5)" x="523" y="785.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.19)" x="556" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="59">Composition</text>	<text transform="translate(-504.5 -712.09)" x="637" y="779.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="104">List of Objects as Map</text>	<text transform="translate(-504.5,-713.5)" x="523" y="803.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.39)" x="556" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="54">Association</text>	<text transform="translate(-504.5 -712.11)" x="637" y="797.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="126">A complex Object as child</text>	<text transform="translate(-504.5,-713.5)" x="523" y="821.38092" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="0"/>	<text transform="translate(-504.5 -712.14)" x="556" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="69">Specialization</text>	<text transform="translate(-504.5 -712.09)" x="637" y="815.95898" fill="#000000" font-family="sans-serif" font-size="10px" lengthAdjust="spacingAndGlyphs" textLength="147">An extension of another Object</text>	<line x1="6.5" x2="282.5" y1="20.078" y2="20.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="38.078" y2="38.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="56.078" y2="56.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="74.078" y2="74.078" stroke="#000"/>	<line x1="6.5" x2="282.5" y1="92.078" y2="92.078" stroke="#000"/>	<line x1="48.5" x2="48.5" y1="7.5" y2="110.08" stroke="#000"/>	<line x1="129.5" x2="129.5" y1="7.5" y2="110.08" stroke="#000"/>	<path d="m20.871 26.751h12m-11.5-3.1729h11v11h-11z" fill="none" stroke="#000" stroke-width="1px"/>	<g transform="translate(0 1.5453)" fill="none" stroke="#000">		<path d="m24.935 47.446 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>		<rect x="20.869" y="47.512" width="4" height="3.9606" ry="0"/>		<rect x="30.774" y="39.593" width="2" height="2" ry="0"/>	</g>	<path d="m21.038 88.97 11.784-11.784" fill="none" stroke="#000" stroke-linecap="square" stroke-width="1px"/>	<g transform="translate(0 .78224)" fill="none" stroke="#000">		<path d="m25.986 93.638h6.7885v6.7885z"/>		<path d="m19.701 106.75 9.6682-9.6682" stroke-linecap="square" stroke-width="1px"/>	</g>	<g transform="translate(0 1.3665)" fill="none" stroke="#000">		<path d="m24.935 65.602 5.6592-5.6592" stroke-linecap="square" stroke-width="1px"/>		<rect x="20.869" y="65.668" width="4" height="3.9606" ry="0"/>		<rect x="30.774" y="57.795" width="2" height="2" ry="0"/>	</g></svg><!--
 @startuml
 
 skinparam class {
@@ -7,11 +7,18 @@
 	BackgroundColor #f5f5f5
 	ArrowColor black
 }
-skinparam stereotype{
+hide class circle
+
+skinparam stereotype {
 	CBackgroundColor white
 	EBackgroundColor white
 }
 
+skinparam legend {
+	BorderColor white
+	BackgroundColor white
+}
+
 class Device {
 	id: String
 	mode[0..1]: String
@@ -27,9 +34,8 @@
 }
 
 class Context {
-	accuracy[0..1]: Float | [Float]
 	limits[0..1]: Limits
-	offset[0..1]: Float | [Float]
+	namespace[0..1]: String
 	type[0..1]: String
 	unit[0..1]: String
 }
@@ -75,19 +81,19 @@
 }
 
 Measurement "1" *- - "0..1" Context : ContextList
-Context "1" *- - "0..*" Limits
+Context "1" - - "0..*" Limits
 
 
-skinparam class {
-	BorderColor black
-	FontColor #50237f
-	BackgroundColor #f5f5f5
-	ArrowColor black
-}
-skinparam stereotype {
-	CBackgroundColor white
-	EBackgroundColor white
-}
+sprite $aggregation jar:archimate/aggregation
+sprite $composition jar:archimate/composition
+sprite $specialisation jar:archimate/specialisation
+sprite $association jar:archimate/association
+sprite $object      jar:archimate/object
+
+legend right
+<img:legend.svg>
+endlegend
+
 
 class ProcessPayload {
 	content-spec: String
@@ -131,10 +137,9 @@
 Process - - Program
 
 Measurement - - Series
-Measurement "1" o- - "0..*" SpecialValue: SpecialValues
 
 Measurement <|- - ProcessMeasurement
-
+ProcessMeasurement "1" o- - "0..*" SpecialValue: SpecialValues
 @enduml
 
 PlantUML version 1.2018.01(Sun Jan 28 19:08:22 CET 2018)
diff --git a/images/specification/v3/processPayload.uml b/images/specification/v3/processPayload.uml
index 0f12596..bf9433a 100644
--- a/images/specification/v3/processPayload.uml
+++ b/images/specification/v3/processPayload.uml
@@ -1,17 +1,6 @@
 @startuml
 !include definitions.iuml
 
-skinparam class {
-	BorderColor black
-	FontColor #50237f
-	BackgroundColor #f5f5f5
-	ArrowColor black
-}
-skinparam stereotype {
-	CBackgroundColor white
-	EBackgroundColor white
-}
-
 class ProcessPayload {
 	content-spec: String
 	device: Device
@@ -54,8 +43,7 @@
 Process -- Program
 
 Measurement -- Series
-Measurement "1" o-- "0..*" SpecialValue: SpecialValues
 
 Measurement <|-- ProcessMeasurement
-
-@enduml
\ No newline at end of file
+ProcessMeasurement "1" o-- "0..*" SpecialValue: SpecialValues
+@enduml
diff --git a/index.html b/index.html
index 5f80cff..7df99dd 100644
--- a/index.html
+++ b/index.html
@@ -26,6 +26,6 @@
     We started to capture this information in a simple payload specification and just like in the introducing language example where you can use phrases via phone, letter or in person, the payload is meant to be sent over different protocols (REST, MQTT, AMQP). This payload is the Production Performance Management Protocol (<i>PPMP</i>).
     <div class="card is-pulled-left"><div class="card-image"><figure class="image"><img src="images/eclipse-426x100.png" alt="Eclipse logo" title="Eclipse logo"></figure></div></div><p>
     In order to, first, leverage the Eclipse IoT stack in Industry 4.0 scenarios and, second, build a lively community around the specification, we consider the Eclipse iot working group as the premier place to host Unide. 
-    </div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_index.922f1427ed81a1db7207.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_index.922f1427ed81a1db7207.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/proposal/index.html b/proposal/index.html
index 89ce692..698ec22 100644
--- a/proposal/index.html
+++ b/proposal/index.html
@@ -70,6 +70,6 @@
         October 2016
       </a>
       (4)
-    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_proposal.60a77f13238c99a592be.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+    </ul></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"sidebar",data:[{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_sidebar.d45435715b520199379d.js"></script><script defer src="/unide/files/pages_proposal.60a77f13238c99a592be.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/specification/index.html b/specification/index.html
index aa23c7e..cf647ce 100644
--- a/specification/index.html
+++ b/specification/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -25,7 +25,7 @@
     <p>
     The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
     <p>
-    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
+    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.
     <p>
     The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
     </div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/v2/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/v2/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/v2/process-message#messageDetail">Process Message</a></div></div><div class="content"><h1><a href="#Communicating-Parties" title="Communicating Parties"></a>
@@ -36,6 +36,6 @@
   The receiver waits for messages. It offers a API that allows for sending either measurement payloads or message payloads.
   <p>
   The communication is unidirectional. Only the sender can contact the receiver and send messages. No feedback from receiver to sender is provided.
-  </p><img src="images/collaborators_v2.svg" alt="Overview PPMP" title="Overview PPMP" class="is-centered"></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.019a3d73137721bf46a2.js"></script><script defer src="/unide/files/pages_specification_index.815252d9cf4fccce90f1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+  </p><img src="images/collaborators_v2.svg" alt="Overview PPMP" title="Overview PPMP" class="is-centered"></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.f1734fa9096da7169e8b.js"></script><script defer src="/unide/files/pages_specification_index.815252d9cf4fccce90f1.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/specification/v2/machine-message/index.html b/specification/v2/machine-message/index.html
index 7364b79..93f966b 100644
--- a/specification/v2/machine-message/index.html
+++ b/specification/v2/machine-message/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for machine messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for machine messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -25,7 +25,7 @@
     <p>
     The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
     <p>
-    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
+    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.
     <p>
     The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
     </div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/v2/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/v2/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/v2/process-message#messageDetail">Process Message</a></div></div><div class="machine-message content"><h1><a id="Message-Payload" title="Machine Message payload"></a>
@@ -39,7 +39,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"messages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.324Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.646Z"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span>
     <span class="token punctuation">}</span>
   <span class="token punctuation">]</span>
@@ -58,7 +58,7 @@
   <span class="token property">"messages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
       <span class="token property">"origin"</span><span class="token operator">:</span> <span class="token string">"sensor-id-992.2393.22"</span><span class="token punctuation">,</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.324Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.646Z"</span><span class="token punctuation">,</span>
       <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"DEVICE"</span><span class="token punctuation">,</span>
       <span class="token property">"severity"</span><span class="token operator">:</span> <span class="token string">"HIGH"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span><span class="token punctuation">,</span>
@@ -70,7 +70,7 @@
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.424Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.746Z"</span><span class="token punctuation">,</span>
       <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"TECHNICAL_INFO"</span><span class="token punctuation">,</span>
       <span class="token property">"severity"</span><span class="token operator">:</span> <span class="token string">"HIGH"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"33-02"</span><span class="token punctuation">,</span>
@@ -80,6 +80,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="v2/message-schema-detail" title="v2/message Fields definition"></a>
     Fields definition
-  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.019a3d73137721bf46a2.js"></script><script defer src="/unide/files/pages_specification_v2_machine-message.216cf2e8b13133ec1b51.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.f1734fa9096da7169e8b.js"></script><script defer src="/unide/files/pages_specification_v2_machine-message.216cf2e8b13133ec1b51.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/specification/v2/measurement-message/index.html b/specification/v2/measurement-message/index.html
index dd09013..c03bb41 100644
--- a/specification/v2/measurement-message/index.html
+++ b/specification/v2/measurement-message/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for measurement messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for measurement messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -25,7 +25,7 @@
     <p>
     The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
     <p>
-    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
+    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.
     <p>
     The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
     </div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/v2/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/v2/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/v2/process-message#messageDetail">Process Message</a></div></div><div class="measurement-message content"><h1><a id="Measurement-Payload" title="Measurement Payload"></a>
@@ -39,7 +39,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.309Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.593Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"$_time"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">0</span><span class="token punctuation">,</span>
@@ -78,7 +78,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.309Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.593Z"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
@@ -103,7 +103,7 @@
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:39.309Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:30.593Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"$_time"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">0</span><span class="token punctuation">,</span>
@@ -120,6 +120,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="v2/measurement-schema-detail" title="v2/measurement Fields definition"></a>
     Fields definition
-  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.019a3d73137721bf46a2.js"></script><script defer src="/unide/files/pages_specification_v2_measurement-message.98c76d689faf4e24e515.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.f1734fa9096da7169e8b.js"></script><script defer src="/unide/files/pages_specification_v2_measurement-message.98c76d689faf4e24e515.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/specification/v2/process-message/index.html b/specification/v2/process-message/index.html
index a7e2d52..ca783a1 100644
--- a/specification/v2/process-message/index.html
+++ b/specification/v2/process-message/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for process messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for process messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -25,7 +25,7 @@
     <p>
     The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
     <p>
-    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
+    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.
     <p>
     The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
     </div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/v2/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/v2/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/v2/process-message#messageDetail">Process Message</a></div></div><div class="process-message content"><h1><a id="Process-Payload" title="Process Payload"></a>
@@ -38,11 +38,11 @@
     <span class="token property">"deviceID"</span><span class="token operator">:</span> <span class="token string">"a4927dad-58d4-4580-b460-79cefd56775b"</span>
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"process"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.340Z"</span>
+    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.665Z"</span>
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.440Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.765Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"force"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">26</span><span class="token punctuation">,</span>
@@ -81,7 +81,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"process"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
     <span class="token property">"externalProcessId"</span><span class="token operator">:</span> <span class="token string">"b4927dad-58d4-4580-b460-79cefd56775b"</span><span class="token punctuation">,</span>
-    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.340Z"</span><span class="token punctuation">,</span>
+    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.665Z"</span><span class="token punctuation">,</span>
     <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"NOK"</span><span class="token punctuation">,</span>
     <span class="token property">"shutoffPhase"</span><span class="token operator">:</span> <span class="token string">"phase 2"</span><span class="token punctuation">,</span>
     <span class="token property">"program"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
@@ -91,7 +91,7 @@
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token property">"shutoffValues"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
       <span class="token property">"force"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-        <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:54.340Z"</span><span class="token punctuation">,</span>
+        <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:45.665Z"</span><span class="token punctuation">,</span>
         <span class="token property">"value"</span><span class="token operator">:</span> <span class="token number">24</span><span class="token punctuation">,</span>
         <span class="token property">"upperError"</span><span class="token operator">:</span> <span class="token number">26</span><span class="token punctuation">,</span>
         <span class="token property">"lowerError"</span><span class="token operator">:</span> <span class="token number">22</span><span class="token punctuation">,</span>
@@ -112,7 +112,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.440Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.765Z"</span><span class="token punctuation">,</span>
       <span class="token property">"phase"</span><span class="token operator">:</span> <span class="token string">"phase 1"</span><span class="token punctuation">,</span>
       <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"heating up"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
@@ -172,7 +172,7 @@
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.770Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:36.095Z"</span><span class="token punctuation">,</span>
       <span class="token property">"phase"</span><span class="token operator">:</span> <span class="token string">"phase 2"</span><span class="token punctuation">,</span>
       <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"processing"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
@@ -192,6 +192,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="v2/process-schema-detail" title="v2/process Fields definition"></a>
     Fields definition
-  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.019a3d73137721bf46a2.js"></script><script defer src="/unide/files/pages_specification_v2_process-message.a9d81425fd5d650e08b2.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.f1734fa9096da7169e8b.js"></script><script defer src="/unide/files/pages_specification_v2_process-message.a9d81425fd5d650e08b2.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/specification/v3/machine-message/index.html b/specification/v3/machine-message/index.html
index cb09122..8a54a79 100644
--- a/specification/v3/machine-message/index.html
+++ b/specification/v3/machine-message/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for machine messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for machine messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -25,12 +25,12 @@
     <p>
     The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
     <p>
-    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
+    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.
     <p>
     The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
     </div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/v2/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/v2/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/v2/process-message#messageDetail">Process Message</a></div></div><div class="machine-message content"><h1><a id="Message-Payload" title="Machine Message Payload"></a>
     Machine Message Payload
-  </h1><p>The main purpose of the machine message format is to allow devices and integrators to send messages containing an interpretation of measurement data or status.</p><img src="images/specification/v3/messagePayload.svg" alt="Class diagram of the message payload" title="Class diagram of the message payload" class="is-centered"><div class="schemaDetail is-loading" id="schema-detail"><div class="accordion"><!----><div class="card collapsibleCard collapsed"><header class="card-header"><p class="card-header-title">
+  </h1><p>The main purpose of the machine message format is to allow devices and integrators to send messages containing an interpretation of measurement data or status.<div class="diagram"><img src="images/specification/v3/messagePayload.svg" alt="Class diagram of the message payload" title="Class diagram of the message payload"></div><div class="schemaDetail is-loading" id="schema-detail"><div class="accordion"><!----><div class="card collapsibleCard collapsed"><header class="card-header"><p class="card-header-title">
         Minimal message example
       </p><a class="card-header-icon"><span class="icon"><i class="fa fa-angle-up"></i></span></a></header><div style="display:none"><div class="card-content"><pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>
   <span class="token property">"content-spec"</span><span class="token operator">:</span> <span class="token string">"urn:spec://eclipse.org/unide/machine-message#v3"</span><span class="token punctuation">,</span>
@@ -39,7 +39,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"messages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.249Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.561Z"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span>
     <span class="token punctuation">}</span>
   <span class="token punctuation">]</span>
@@ -57,7 +57,7 @@
   <span class="token property">"messages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
       <span class="token property">"origin"</span><span class="token operator">:</span> <span class="token string">"sensor-id-992.2393.22"</span><span class="token punctuation">,</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.249Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.561Z"</span><span class="token punctuation">,</span>
       <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"DEVICE"</span><span class="token punctuation">,</span>
       <span class="token property">"severity"</span><span class="token operator">:</span> <span class="token string">"HIGH"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"190ABT"</span><span class="token punctuation">,</span>
@@ -67,7 +67,7 @@
       <span class="token property">"firmware"</span><span class="token operator">:</span> <span class="token string">"20130304_22.020"</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.349Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.661Z"</span><span class="token punctuation">,</span>
       <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"TECHNICAL_INFO"</span><span class="token punctuation">,</span>
       <span class="token property">"severity"</span><span class="token operator">:</span> <span class="token string">"HIGH"</span><span class="token punctuation">,</span>
       <span class="token property">"code"</span><span class="token operator">:</span> <span class="token string">"33-02"</span><span class="token punctuation">,</span>
@@ -77,6 +77,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="v3/message-schema-detail" title="v3/message Fields definition"></a>
     Fields definition
-  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.019a3d73137721bf46a2.js"></script><script defer src="/unide/files/pages_specification_v3_machine-message.8a297ed73f94b4d33cf6.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.f1734fa9096da7169e8b.js"></script><script defer src="/unide/files/pages_specification_v3_machine-message.b862ba0cbff6db318d5c.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/specification/v3/measurement-message/index.html b/specification/v3/measurement-message/index.html
index 8dcbc8a..99a0065 100644
--- a/specification/v3/measurement-message/index.html
+++ b/specification/v3/measurement-message/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for measurement messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for measurement messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -25,12 +25,12 @@
     <p>
     The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
     <p>
-    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
+    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.
     <p>
     The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
     </div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/v2/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/v2/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/v2/process-message#messageDetail">Process Message</a></div></div><div class="measurement-message content"><h1><a id="Measurement-Payload" title="Measurement Message payload"></a>
     Measurement Payload
-  </h1><p>The measurement message is the format to exchange simple (non-structured, non-complex ) measurement data. It also allows to transport multiple measurement data (eg. values over time), called 'series'.</p><img src="images/specification/v3/measurementPayload.svg" alt="Class diagram of the Measurement Message payload" title="Class diagram of the Measurement Message payload" class="is-centered"><div class="schemaDetail is-loading" id="schema-detail"><div class="accordion"><!----><div class="card collapsibleCard collapsed"><header class="card-header"><p class="card-header-title">
+  </h1><p>The measurement message is the format to exchange simple (non-structured, non-complex ) measurement data. It also allows to transport multiple measurement data (eg. values over time), called 'series'.<div class="diagram"><img src="images/specification/v3/measurementPayload.svg" alt="Class diagram of the Measurement Message payload" title="Class diagram of the Measurement Message payload"></div><div class="schemaDetail is-loading" id="schema-detail"><div class="accordion"><!----><div class="card collapsibleCard collapsed"><header class="card-header"><p class="card-header-title">
         Minimal message example
       </p><a class="card-header-icon"><span class="icon"><i class="fa fa-angle-up"></i></span></a></header><div style="display:none"><div class="card-content"><pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>
   <span class="token property">"content-spec"</span><span class="token operator">:</span> <span class="token string">"urn:spec://eclipse.org/unide/measurement-message#v3"</span><span class="token punctuation">,</span>
@@ -39,7 +39,7 @@
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.355Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.685Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"time"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">0</span><span class="token punctuation">,</span>
@@ -108,7 +108,7 @@
           <span class="token number">4.2432</span>
         <span class="token punctuation">]</span>
       <span class="token punctuation">}</span><span class="token punctuation">,</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.355Z"</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.685Z"</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
       <span class="token property">"context"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
@@ -123,9 +123,9 @@
           <span class="token number">2633</span>
         <span class="token punctuation">]</span><span class="token punctuation">,</span>
         <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
-          <span class="token number">52.4</span><span class="token punctuation">,</span>
-          <span class="token number">46.32</span><span class="token punctuation">,</span>
-          <span class="token number">44.2432</span>
+          <span class="token number">100952.4</span><span class="token punctuation">,</span>
+          <span class="token number">100946.32</span><span class="token punctuation">,</span>
+          <span class="token number">100944.2432</span>
         <span class="token punctuation">]</span><span class="token punctuation">,</span>
         <span class="token property">"scanData"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token string">"Zm9vCg=="</span><span class="token punctuation">,</span>
@@ -133,11 +133,11 @@
           <span class="token string">"Y2hlZXNlCg=="</span>
         <span class="token punctuation">]</span>
       <span class="token punctuation">}</span><span class="token punctuation">,</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:39.355Z"</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:30.685Z"</span>
     <span class="token punctuation">}</span>
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="v3/measurement-schema-detail" title="v3/measurement Fields definition"></a>
     Fields definition
-  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.019a3d73137721bf46a2.js"></script><script defer src="/unide/files/pages_specification_v3_measurement-message.aa811e804d20a52a29ae.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.f1734fa9096da7169e8b.js"></script><script defer src="/unide/files/pages_specification_v3_measurement-message.4434bf8df3d72126d3b3.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
   
 
diff --git a/specification/v3/process-message/index.html b/specification/v3/process-message/index.html
index 7a03513..505bc0b 100644
--- a/specification/v3/process-message/index.html
+++ b/specification/v3/process-message/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html data-n-head="" data-n-head-ssr>
   <head>
-    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for process messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
+    <meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide - Specification for process messages</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.ce93f25ec8e6cdcb172e2896599524df.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}.specification .diagram{text-align:center}</style><style data-vue-ssr-id="188b52d2:0">.schemaDetail a{text-decoration:none}.schemaDetail .property ul{list-style-type:disc;padding-left:1em;margin-left:0;margin-top:0}</style><style data-vue-ssr-id="52cedc5e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.card.collapsibleCard>header{cursor:pointer;background-color:#f5f5f5;border-bottom:1px solid hsla(0,0%,4%,.1)}.card.collapsibleCard>header .card-header-icon{text-decoration:none}.card.collapsibleCard>header .card-header-title{font-weight:400}.card.collapsibleCard>header p{margin-bottom:0}.card.collapsibleCard.collapsed header{border-bottom:none}.card.collapsibleCard>div.collapsing{position:relative;height:0;overflow:hidden;display:block;transition-property:height;transition-duration:.35s;transition-timing-function:ease}</style><style data-vue-ssr-id="3fcbd066:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.footer{font-size:.875em;border-top:1px solid #dbdbdb;padding-top:1.25rem;margin-top:1rem;padding:2rem 0}</style>
   </head>
   <body data-n-head="">
     <div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
@@ -25,12 +25,12 @@
     <p>
     The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
     <p>
-    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
+    The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding process with all their characterizing data, which are needed to describe and analyze it.
     <p>
     The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
     </div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/v2/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/v2/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/v2/process-message#messageDetail">Process Message</a></div></div><div class="process-message content"><h1><a id="Process-Payload" title="Process Message payload"></a>
     Process Payload
-  </h1><p>The process message is the format to exchange data out of discrete processes. It also allows to transport process information, part information and measurement data for each phase of the process.</p><img src="images/specification/v3/processPayload.svg" alt="Class diagram of the Process message payload" title="Class diagram of the Process Message payload" class="is-center"><div class="schemaDetail is-loading" id="schema-detail"><div class="accordion"><!----><div class="card collapsibleCard collapsed"><header class="card-header"><p class="card-header-title">
+  </h1><p>The process message is the format to exchange data out of discrete processes. It also allows to transport process information, part information and measurement data for each phase of the process.<div class="diagram"><img src="images/specification/v3/processPayload.svg" alt="Class diagram of the Process message payload" title="Class diagram of the Process Message payload"></div><div class="schemaDetail is-loading" id="schema-detail"><div class="accordion"><!----><div class="card collapsibleCard collapsed"><header class="card-header"><p class="card-header-title">
         Minimal message example 
       </p><a class="card-header-icon"><span class="icon"><i class="fa fa-angle-up"></i></span></a></header><div style="display:none"><div class="card-content"><pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>
   <span class="token property">"content-spec"</span><span class="token operator">:</span> <span class="token string">"urn:spec://eclipse.org/unide/process-message#v2"</span><span class="token punctuation">,</span>
@@ -38,11 +38,11 @@
     <span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"a4927dad-58d4-4580-b460-79cefd56775b"</span>
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"process"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.234Z"</span>
+    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.537Z"</span>
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
   <span class="token property">"measurements"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.334Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.637Z"</span><span class="token punctuation">,</span>
       <span class="token property">"series"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"time"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">0</span><span class="token punctuation">,</span>
@@ -55,9 +55,9 @@
           <span class="token number">24</span>
         <span class="token punctuation">]</span><span class="token punctuation">,</span>
         <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
-          <span class="token number">52.4</span><span class="token punctuation">,</span>
-          <span class="token number">46.32</span><span class="token punctuation">,</span>
-          <span class="token number">44.2432</span>
+          <span class="token number">100952.4</span><span class="token punctuation">,</span>
+          <span class="token number">100946.32</span><span class="token punctuation">,</span>
+          <span class="token number">100944.2432</span>
         <span class="token punctuation">]</span>
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span>
@@ -90,7 +90,7 @@
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"NOK"</span><span class="token punctuation">,</span>
     <span class="token property">"shutoffPhase"</span><span class="token operator">:</span> <span class="token string">"phase 2"</span><span class="token punctuation">,</span>
-    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.234Z"</span><span class="token punctuation">,</span>
+    <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.537Z"</span><span class="token punctuation">,</span>
     <span class="token property">"escalation"</span><span class="token operator">:</span> <span class="token string">"shift leader"</span><span class="token punctuation">,</span>
     <span class="token property">"maxDuration"</span><span class="token operator">:</span> <span class="token string">"30min"</span>
   <span class="token punctuation">}</span><span class="token punctuation">,</span>
@@ -100,15 +100,17 @@
       <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"heating up"</span><span class="token punctuation">,</span>
       <span class="token property">"phase"</span><span class="token operator">:</span> <span class="token string">"phase 1"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.334Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.637Z"</span><span class="token punctuation">,</span>
       <span class="token property">"context"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
         <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
+          <span class="token property">"namespace"</span><span class="token operator">:</span> <span class="token string">"https://mycompany.com/productvariants/5986"</span><span class="token punctuation">,</span>
+          <span class="token property">"unit"</span><span class="token operator">:</span> <span class="token string">"Pa"</span><span class="token punctuation">,</span>
           <span class="token property">"limits"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-            <span class="token property">"upperError"</span><span class="token operator">:</span> <span class="token number">4444</span><span class="token punctuation">,</span>
-            <span class="token property">"lowerError"</span><span class="token operator">:</span> <span class="token number">44</span><span class="token punctuation">,</span>
-            <span class="token property">"upperWarn"</span><span class="token operator">:</span> <span class="token number">2222</span><span class="token punctuation">,</span>
-            <span class="token property">"lowerWarn"</span><span class="token operator">:</span> <span class="token number">46</span><span class="token punctuation">,</span>
-            <span class="token property">"target"</span><span class="token operator">:</span> <span class="token number">35</span>
+            <span class="token property">"upperError"</span><span class="token operator">:</span> <span class="token number">103000</span><span class="token punctuation">,</span>
+            <span class="token property">"lowerError"</span><span class="token operator">:</span> <span class="token number">99000</span><span class="token punctuation">,</span>
+            <span class="token property">"upperWarn"</span><span class="token operator">:</span> <span class="token number">102000</span><span class="token punctuation">,</span>
+            <span class="token property">"lowerWarn"</span><span class="token operator">:</span> <span class="token number">100000</span><span class="token punctuation">,</span>
+            <span class="token property">"target"</span><span class="token operator">:</span> <span class="token number">100950</span>
           <span class="token punctuation">}</span>
         <span class="token punctuation">}</span><span class="token punctuation">,</span>
         <span class="token property">"force"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
@@ -146,7 +148,7 @@
           <span class="token property">"time"</span><span class="token operator">:</span> <span class="token number">12</span><span class="token punctuation">,</span>
           <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"turning point"</span><span class="token punctuation">,</span>
           <span class="token property">"value"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-            <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token number">24</span><span class="token punctuation">,</span>
+            <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token number">101530</span><span class="token punctuation">,</span>
             <span class="token property">"force"</span><span class="token operator">:</span> <span class="token number">50</span>
           <span class="token punctuation">}</span>
         <span class="token punctuation">}</span><span class="token punctuation">,</span>
@@ -166,9 +168,9 @@
           <span class="token property">"time"</span><span class="token operator">:</span> <span class="token number">50</span><span class="token punctuation">,</span>
           <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"shutoffPressure"</span><span class="token punctuation">,</span>
           <span class="token property">"value"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
-            <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token number">50</span><span class="token punctuation">,</span>
-            <span class="token property">"upperError"</span><span class="token operator">:</span> <span class="token number">52</span><span class="token punctuation">,</span>
-            <span class="token property">"lowerError"</span><span class="token operator">:</span> <span class="token number">48</span>
+            <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token number">100950</span><span class="token punctuation">,</span>
+            <span class="token property">"upperError"</span><span class="token operator">:</span> <span class="token number">103000</span><span class="token punctuation">,</span>
+            <span class="token property">"lowerError"</span><span class="token operator">:</span> <span class="token number">99000</span>
           <span class="token punctuation">}</span>
         <span class="token punctuation">}</span>
       <span class="token punctuation">]</span><span class="token punctuation">,</span>
@@ -184,9 +186,9 @@
           <span class="token number">24</span>
         <span class="token punctuation">]</span><span class="token punctuation">,</span>
         <span class="token property">"pressure"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
-          <span class="token number">52.4</span><span class="token punctuation">,</span>
-          <span class="token number">46.32</span><span class="token punctuation">,</span>
-          <span class="token number">44.2432</span>
+          <span class="token number">100952.4</span><span class="token punctuation">,</span>
+          <span class="token number">100946.32</span><span class="token punctuation">,</span>
+          <span class="token number">100944.2432</span>
         <span class="token punctuation">]</span><span class="token punctuation">,</span>
         <span class="token property">"temperature"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
           <span class="token number">45.4243</span><span class="token punctuation">,</span>
@@ -196,7 +198,7 @@
       <span class="token punctuation">}</span>
     <span class="token punctuation">}</span><span class="token punctuation">,</span>
     <span class="token punctuation">{</span>
-      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-05-08T10:01:44.664Z"</span><span class="token punctuation">,</span>
+      <span class="token property">"ts"</span><span class="token operator">:</span> <span class="token string">"2018-06-12T16:10:35.967Z"</span><span class="token punctuation">,</span>
       <span class="token property">"phase"</span><span class="token operator">:</span> <span class="token string">"phase 2"</span><span class="token punctuation">,</span>
       <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"processing"</span><span class="token punctuation">,</span>
       <span class="token property">"result"</span><span class="token operator">:</span> <span class="token string">"OK"</span><span class="token punctuation">,</span>
@@ -216,6 +218,6 @@
   <span class="token punctuation">]</span>
 <span class="token punctuation">}</span></code></pre></div></div></div></div><h1><a id="v3/process-schema-detail" title="v3/process Fields definition"></a>
     Fields definition
-  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.057b92078412a6219ce8.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.019a3d73137721bf46a2.js"></script><script defer src="/unide/files/pages_specification_v3_process-message.f340d53e70c3c65a5386.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>
+  </h1></div></div></div></div><footer class="footer"><div class="container"><div class="columns is-mobile is-multiline is-centered"><div class="column is-narrow"><a href="http://www.eclipse.org">Eclipse Foundation</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></div><div class="column is-narrow"><a href="https://eclipse.org/security/">Security reports</a></div><div class="column is-narrow"><a href="http://www.eclipse.org/legal/">Legal</a></div></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.a569480e6555bd9b2666.js"></script><script defer src="/unide/files/layouts_default.abbae1ad205e6f253d03.js"></script><script defer src="/unide/files/pages_specification.f1734fa9096da7169e8b.js"></script><script defer src="/unide/files/pages_specification_v3_process-message.9a79c59e8bcf5e01ba14.js"></script><script defer src="/unide/files/vendor.3960437a749191406982.js"></script><script defer src="/unide/files/app.45b9891348f7e815e8b8.js"></script>