blob: 61bdfb7692e1d72f4d5f45f49fab1c6c264e3b44 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-108745746-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-108745746-1');
</script>
<meta charset="utf-8">
<title>Frequently Asked Questions | Unide</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="icon" href="/unide/images/icon.ico">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" integrity="sha384-XdYbMnZ/QjLh6iI4ogqCTaIjrFk87ip+ekIjefZch0Y+PvJ8CDYtEs1ipDmPorQ+" crossorigin="anonymous">
<link rel="stylesheet" href="/unide/css/styles.css">
</head>
<body>
<nav class="navbar navbar-inverse">
<div class="container">
<div class="navbar-brand navbar-right">
<a href="/unide/"><img src='/unide/images/logo.png'></img></a>
</div>
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#main-menu-navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="main-menu-navbar">
<ul class="nav navbar-nav">
<li><a class=""
href="/unide/index.html">Home</a></li>
<li><a class=""
href="/unide/proposal">Proposal</a></li>
<li><a class=""
href="/unide/specification">Specification</a></li>
<li><a class=""
href="/unide/archives">Blog Archives</a></li>
<li><a class="active"
href="/unide/faq">FAQ</a></li>
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-sm-8 content-main faq_index">
<h1>
Frequently Asked Questions
</h1>
We assembled a few frequently asked questions about the Production Performance Protocol (PPMP) and the Unide project.
You're welcome to raise your questions in <a href="https://www.eclipse.org/forums/index.php/f/348/" target="_blank" rel="external">the Unide forum</a>.
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-1">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-1" aria-expanded="true" aria-controls="collapse-1">
What does "Unide" stand for?
</a>
</h4>
</div>
<div id="collapse-1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-1">
<div class="panel-body">
The projects name is derived from understand industry devices. Other ideas like connect industry machines turned out to have meanings in foreign languages or being trademarked already.<br>Regarding the logo: Unide and PPMP's goal is to enable you to connect machines and receive their measurements / alerts. The logo represents that. It has you ('<i>U</i>') highlighted and connects to rings. As a side note, we found that the words almost look like <i>you-nice</i>.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-2">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-2" aria-expanded="true" aria-controls="collapse-2">
What's the difference between Unide and PPMP?
</a>
</h4>
</div>
<div id="collapse-2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-2">
<div class="panel-body">
The Production Performance Mangement Protocol (PPMP) is the name of the structure of the <a href="../specification/">payload</a> whereas Unide is the project that aims to provide sample implementations and further development of this protocol in and with the Eclipse Open Source community. Nevertheless, PPMP is an open suggestion, and everyone is welcome to using it, even without contributing to the Unide project.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-3">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-3" aria-expanded="true" aria-controls="collapse-3">
Why introducing another industry protocol?
</a>
</h4>
</div>
<div id="collapse-3" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-3">
<div class="panel-body">
There are already plenty of transport protocols (REST, AMQP, etc.) available. PPMP aims to provide the very industry specific semantic structure for their payload. So it aims to complete such IoT transport infrastructure and bridge the gap to the manufacturing domain. OPC-DA/UA on the other hand covers full service oriented architecture, security concerns and information model, which makes it more complex and costly to implement and operate. In some use cases, this is not necessary.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-4">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-4" aria-expanded="true" aria-controls="collapse-4">
Why have you choosen JSON as syntax?
</a>
</h4>
</div>
<div id="collapse-4" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-4">
<div class="panel-body">
JSON is a good fit regarding understandability and size. Having a structured and comprehensible basis is the first step for acceptance in the industry. In the spirit of Donald E. Knuth ("<a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.103.6084" target="_blank" rel="external"><i>premature optimization is the root of all evil</i></a>"), further compacting is possible in a later stage.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-5">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-5" aria-expanded="true" aria-controls="collapse-5">
Why are time and measurement points separated in multiple arrays?
</a>
</h4>
</div>
<div id="collapse-5" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-5">
<div class="panel-body">
We have discussed multiple options for <a href="../specification/#series">series</a>: having an array of<br>tupels (<code>[[0, 23.34],[...],...]</code>),<br>plain objects (<code>[{time: 0, temperature: 23.34}, {...}...]</code>),<br>objects with time as key (<code>{ "0": [23.34,...],...}</code>) and other.<br>When parsing, we had to recognize, that unsigned long int for time and floating point measurements are of different types. Also, all former variants are more verbose due to additional brackets, commas or quotation marks. We believe that the current version is a good compromise between readability and structure.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-6">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-6" aria-expanded="true" aria-controls="collapse-6">
I'm interested in Unide/PPMP. How can I contribute?
</a>
</h4>
</div>
<div id="collapse-6" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-6">
<div class="panel-body">
The first goal of Unide is to provide sample client/server implementations of PPMP. Secondly, we're looking forward to improving PPMP in future versions together with the eclipse community.<br>If you want to contribute with source code, use cases or implementing it in your devices, let us know and discuss in the <a href="https://github.com/eclipse/unide" target="_blank" rel="external">unide forum</a> or by forking / filing an issue on <a href="https://github.com/eclipse/unide" target="_blank" rel="external">github</a>.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-7">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-7" aria-expanded="true" aria-controls="collapse-7">
Why have you included content-spec uri,<br>if that can also be expressed in the a REST url already?
</a>
</h4>
</div>
<div id="collapse-7" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-7">
<div class="panel-body">
<a href="../specification/#content_spec">content-spec</a> is included in the payload, because PPMP does not rely on a specific transport protocol (like REST).
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-3 col-sm-offset-1 blog-sidebar">
<div class="sidebar-module">
<h4>Recent posts</h4>
<ul class="sidebar-module-list">
<li>
<a href="/unide/2017/10/19/i40-testbed-started/">Unide is part of Industry 4.0 Testbed</a>
</li>
<li>
<a href="/unide/2017/10/06/DZone-article-published/">DZone article published</a>
</li>
<li>
<a href="/unide/2017/06/29/Validator-Online/">First PPMP-Validator Online</a>
</li>
<li>
<a href="/unide/2017/06/01/New-process-message-spec/">New PPMP-Specification for processes</a>
</li>
<li>
<a href="/unide/2017/03/23/Unide-at-BCX/">Unide at Bosch Hackaton</a>
</li>
</ul>
</div>
<div class="sidebar-module">
<h4>
<a href="archives/">Blog Archives</a>
</h4>
<ul class="sidebar-module-list"><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/archives/2017/10/">October 2017</a><span class="sidebar-module-list-count">2</span></li><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/archives/2017/06/">June 2017</a><span class="sidebar-module-list-count">2</span></li><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/archives/2017/03/">March 2017</a><span class="sidebar-module-list-count">1</span></li><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/archives/2016/09/">September 2016</a><span class="sidebar-module-list-count">4</span></li></ul>
</div>
<div class="sidebar-module">
<h4>Tags</h4>
<ul class="sidebar-module-list"><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/tags/media/">media</a><span class="sidebar-module-list-count">3</span></li><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/tags/process-message/">process message</a><span class="sidebar-module-list-count">1</span></li><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/tags/project-start/">project start</a><span class="sidebar-module-list-count">3</span></li><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/tags/testbed/">testbed</a><span class="sidebar-module-list-count">1</span></li><li class="sidebar-module-list-item"><a class="sidebar-module-list-link" href="/unide/tags/validator/">validator</a><span class="sidebar-module-list-count">1</span></li></ul>
</div>
<div class="sidebar-module">
<h4>Tag Cloud</h4>
<p class="tagcloud">
<a href="/unide/tags/media/" style="font-size: 20px;">media</a> <a href="/unide/tags/process-message/" style="font-size: 10px;">process message</a> <a href="/unide/tags/project-start/" style="font-size: 20px;">project start</a> <a href="/unide/tags/testbed/" style="font-size: 10px;">testbed</a> <a href="/unide/tags/validator/" style="font-size: 10px;">validator</a>
</p>
</div>
</div>
</div>
</div>
<footer class="blog-footer">
<div class="container">
<div id="footer-info" class="inner">
<ul>
<li>
<a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>
</li>
<li>
<a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>
</li>
<li>
<a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a>
</li>
<li>
<a href="https://eclipse.org/security/ ">Security reports</a>
</li>
<li>
<a href="http://www.eclipse.org/legal/">Legal</a>
</li>
</ul>
</div>
</div>
</footer>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" integrity="sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</body>
</html>