commit 35c9457fb41618bf9aa02bf2eda7ea355bea78bf
Author: Thomas Schöpping <tschoepp@cit-ec.uni-bielefeld.de>
Date:   Mon Oct 22 12:24:27 2018 +0200

    Finalized (hopefully) the documentation/specification.

diff --git a/doc/statediagrams/general/initialization.svg b/doc/statediagrams/general/initialization.svg
index 744c4f4..f9beb43 100644
--- a/doc/statediagrams/general/initialization.svg
+++ b/doc/statediagrams/general/initialization.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="1070px" preserveAspectRatio="none" style="width:1283px;height:1070px;" version="1.1" viewBox="0 0 1283 1070" width="1283px" zoomAndPan="magnify"><defs><filter height="300%" id="f9p8gcqa4s02k" 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><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="596" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="107" x="587" y="47.6611">Initialization</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="643.5" y="68.6143"/><ellipse cx="641" cy="82.8594" fill="#000000" filter="url(#f9p8gcqa4s02k)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f9p8gcqa4s02k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1262" x="10" y="112.8594"/><rect fill="#000000" filter="url(#f9p8gcqa4s02k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="876" x="24" y="138.8594"/><rect fill="#FFFFFF" filter="url(#f9p8gcqa4s02k)" height="116.5625" style="stroke: #000000; stroke-width: 2.0;" width="368" x="38" y="180.1455"/><path d="M117,181.1455 L117,189.4424 L107,199.4424 L38,199.4424 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="69" x="41" y="194.1406">urt_core_t</text><path d="M58,226.4424 L58,266.708 L255,266.708 L255,236.4424 L245,226.4424 L58,226.4424 " fill="#FBFB77" filter="url(#f9p8gcqa4s02k)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M245,226.4424 L245,236.4424 L255,236.4424 L245,226.4424 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="64" y="243.5093">must be initialized statically</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="64" y="258.6421">(in startup thread)</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="265" y="229.5908"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="275" y="250.7295">initialize members</text><rect fill="#FFFFFF" filter="url(#f9p8gcqa4s02k)" height="157.5313" style="stroke: #000000; stroke-width: 2.0;" width="452" x="434" y="155.6611"/><path d="M548,156.6611 L548,164.958 L538,174.958 L434,174.958 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="437" y="169.6563">urt_osThread_t</text><path d="M444,191.958 L444,232.2236 A0,0 0 0 0 444,232.2236 L721,232.2236 A0,0 0 0 0 721,232.2236 L721,216.0908 L741,212.0908 L721,208.0908 L721,201.958 L711,191.958 L444,191.958 A0,0 0 0 0 444,191.958 " fill="#FBFB77" filter="url(#f9p8gcqa4s02k)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M711,191.958 L711,201.958 L721,201.958 L711,191.958 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="450" y="209.0249">must be initialized statically</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="256" x="450" y="224.1577">(in preamble / static memory allocation)</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="741" y="195.1064"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="751" y="216.2451">initialize work area</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="743" y="267.2236"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="753" y="288.3623">initialize members</text><rect fill="#000000" filter="url(#f9p8gcqa4s02k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="876" x="24" y="333.1924"/><rect fill="#000000" filter="url(#f9p8gcqa4s02k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="464" x="230" y="359.1924"/><rect fill="#FFFFFF" filter="url(#f9p8gcqa4s02k)" height="137.0791" style="stroke: #000000; stroke-width: 2.0;" width="176" x="261" y="375.9941"/><path d="M343,376.9941 L343,385.291 L333,395.291 L261,395.291 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="264" y="389.9893">urt_topic_t</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="283.5" y="412.291"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="293.5" y="433.4297">initialize members</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="271" y="466.2598"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="281" y="487.3984">insert self to topic list</text><rect fill="#FFFFFF" filter="url(#f9p8gcqa4s02k)" height="419.7734" style="stroke: #000000; stroke-width: 2.0;" width="231" x="244" y="548.0732"/><path d="M356,549.0732 L356,557.3701 L346,567.3701 L244,567.3701 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="247" y="562.0684">urt_publisher_t</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="283.5" y="584.3701"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="293.5" y="605.5088">initialize members</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="274" y="653.3389"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="130" x="284" y="674.4775">find topic in topic list</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="309" y="769.9404"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="319" y="791.0791">lock topic</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="272.5" y="823.9092"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="133" x="282.5" y="845.0479">contribute messages</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="301" y="877.8779"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="311" y="899.0166">unlock topic</text><polygon fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" points="266,721.5381,432,721.5381,444,733.5381,432,745.5381,266,745.5381,254,733.5381,266,721.5381" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="353" y="755.7485">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="266" y="737.3462">Any messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="444" y="730.9438">no</text><polygon fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" points="349,931.8467,361,943.8467,349,955.8467,337,943.8467,349,931.8467" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FFFFFF" filter="url(#f9p8gcqa4s02k)" height="158.4648" style="stroke: #000000; stroke-width: 2.0;" width="177" x="503" y="602.8115"/><path d="M587,603.8115 L587,612.1084 L577,622.1084 L503,622.1084 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="506" y="616.8066">urt_node_t</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="526" y="639.1084"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="536" y="660.2471">initialize members</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="513" y="707.3076"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="523" y="728.4463">insert self to node list</text><rect fill="#000000" filter="url(#f9p8gcqa4s02k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="464" x="230" y="987.8467"/><rect fill="#FFFFFF" filter="url(#f9p8gcqa4s02k)" height="90.2656" style="stroke: #000000; stroke-width: 2.0;" width="151" x="928" y="511.0303"/><path d="M1049,512.0303 L1049,520.3271 L1039,530.3271 L928,530.3271 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="931" y="525.0254">urt_subscriber_t</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="938" y="547.3271"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="948" y="568.4658">initialize members</text><rect fill="#FFFFFF" filter="url(#f9p8gcqa4s02k)" height="90.2656" style="stroke: #000000; stroke-width: 2.0;" width="151" x="1107" y="511.0303"/><path d="M1219,512.0303 L1219,520.3271 L1209,530.3271 L1107,530.3271 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="1110" y="525.0254">urt_message_t</text><rect fill="#FEFECE" filter="url(#f9p8gcqa4s02k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="1117" y="547.3271"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="1127" y="568.4658">initialize members</text><rect fill="#000000" filter="url(#f9p8gcqa4s02k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1262" x="10" y="1013.8467"/><ellipse cx="641" cy="1049.8467" fill="none" filter="url(#f9p8gcqa4s02k)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="641.5" cy="1050.3467" fill="#000000" filter="url(#f9p8gcqa4s02k)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="808.5" x2="808.5" y1="229.0752" y2="267.2236"/><polygon fill="#A80036" points="804.5,257.2236,808.5,267.2236,812.5,257.2236,808.5,261.2236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="330.5" x2="330.5" y1="144.8594" y2="229.5908"/><polygon fill="#A80036" points="326.5,219.5908,330.5,229.5908,334.5,219.5908,330.5,223.5908" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="808.5" x2="808.5" y1="144.8594" y2="195.1064"/><polygon fill="#A80036" points="804.5,185.1064,808.5,195.1064,812.5,185.1064,808.5,189.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="330.5" x2="330.5" y1="263.5596" y2="333.1924"/><polygon fill="#A80036" points="326.5,323.1924,330.5,333.1924,334.5,323.1924,330.5,327.1924" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="808.5" x2="808.5" y1="301.1924" y2="333.1924"/><polygon fill="#A80036" points="804.5,323.1924,808.5,333.1924,812.5,323.1924,808.5,327.1924" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="446.2598" y2="466.2598"/><polygon fill="#A80036" points="345,456.2598,349,466.2598,353,456.2598,349,460.2598" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="618.3389" y2="653.3389"/><polygon fill="#A80036" points="345,643.3389,349,653.3389,353,643.3389,349,647.3389" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="803.9092" y2="823.9092"/><polygon fill="#A80036" points="345,813.9092,349,823.9092,353,813.9092,349,817.9092" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="857.8779" y2="877.8779"/><polygon fill="#A80036" points="345,867.8779,349,877.8779,353,867.8779,349,871.8779" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="745.5381" y2="769.9404"/><polygon fill="#A80036" points="345,759.9404,349,769.9404,353,759.9404,349,763.9404" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="444" x2="456" y1="733.5381" y2="733.5381"/><polygon fill="#A80036" points="452,830.8936,456,840.8936,460,830.8936,456,834.8936" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="456" x2="456" y1="733.5381" y2="943.8467"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="456" x2="361" y1="943.8467" y2="943.8467"/><polygon fill="#A80036" points="371,939.8467,361,943.8467,371,947.8467,367,943.8467" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="911.8467" y2="931.8467"/><polygon fill="#A80036" points="345,921.8467,349,931.8467,353,921.8467,349,925.8467" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="687.3076" y2="721.5381"/><polygon fill="#A80036" points="345,711.5381,349,721.5381,353,711.5381,349,715.5381" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="500.2285" y2="584.3701"/><polygon fill="#A80036" points="345,574.3701,349,584.3701,353,574.3701,349,578.3701" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="591.5" x2="591.5" y1="673.0771" y2="707.3076"/><polygon fill="#A80036" points="587.5,697.3076,591.5,707.3076,595.5,697.3076,591.5,701.3076" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="365.1924" y2="412.291"/><polygon fill="#A80036" points="345,402.291,349,412.291,353,402.291,349,406.291" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="591.5" x2="591.5" y1="365.1924" y2="639.1084"/><polygon fill="#A80036" points="587.5,629.1084,591.5,639.1084,595.5,629.1084,591.5,633.1084" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="955.8467" y2="987.8467"/><polygon fill="#A80036" points="345,977.8467,349,987.8467,353,977.8467,349,981.8467" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="591.5" x2="591.5" y1="741.2764" y2="987.8467"/><polygon fill="#A80036" points="587.5,977.8467,591.5,987.8467,595.5,977.8467,591.5,981.8467" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="462" x2="462" y1="339.1924" y2="359.1924"/><polygon fill="#A80036" points="458,349.1924,462,359.1924,466,349.1924,462,353.1924" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="462" x2="462" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="458,128.8594,462,138.8594,466,128.8594,462,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1003.5" x2="1003.5" y1="118.8594" y2="547.3271"/><polygon fill="#A80036" points="999.5,537.3271,1003.5,547.3271,1007.5,537.3271,1003.5,541.3271" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1182.5" x2="1182.5" y1="118.8594" y2="547.3271"/><polygon fill="#A80036" points="1178.5,537.3271,1182.5,547.3271,1186.5,537.3271,1182.5,541.3271" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="462" x2="462" y1="993.8467" y2="1013.8467"/><polygon fill="#A80036" points="458,1003.8467,462,1013.8467,466,1003.8467,462,1007.8467" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1003.5" x2="1003.5" y1="581.2959" y2="1013.8467"/><polygon fill="#A80036" points="999.5,1003.8467,1003.5,1013.8467,1007.5,1003.8467,1003.5,1007.8467" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1182.5" x2="1182.5" y1="581.2959" y2="1013.8467"/><polygon fill="#A80036" points="1178.5,1003.8467,1182.5,1013.8467,1186.5,1003.8467,1182.5,1007.8467" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="641" x2="641" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="637,102.8594,641,112.8594,645,102.8594,641,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="641" x2="641" y1="1019.8467" y2="1039.8467"/><polygon fill="#A80036" points="637,1029.8467,641,1039.8467,645,1029.8467,641,1033.8467" style="stroke: #A80036; stroke-width: 1.0;"/><!--
+<?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="470px" preserveAspectRatio="none" style="width:483px;height:470px;" version="1.1" viewBox="0 0 483 470" width="483px" zoomAndPan="magnify"><defs><filter height="300%" id="f197atgdjewduw" 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><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="196" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="107" x="187" y="47.6611">Initialization</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="243.5" y="68.6143"/><ellipse cx="241" cy="82.8594" fill="#000000" filter="url(#f197atgdjewduw)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="462" x="10" y="112.8594"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="48" x="156.5" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="166.5" y="159.998">core</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="313" x="24" y="192.8281"/><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="198" x="38" y="218.8281"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="58" x="52" y="244.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="38" x="62" y="265.9668">topics</text><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="84" x="138" y="244.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="148" y="265.9668">messages</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="198" x="38" y="298.7969"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="94.5" y="333.2813"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="104.5" y="354.4199">publishers</text><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="264" y="279.3125"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="274" y="300.4512">nodes</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="313" x="24" y="387.25"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="365" y="244.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="375" y="265.9668">subscribers</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="462" x="10" y="413.25"/><ellipse cx="241" cy="449.25" fill="none" filter="url(#f197atgdjewduw)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="241.5" cy="449.75" fill="#000000" filter="url(#f197atgdjewduw)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="81" x2="81" y1="224.8281" y2="244.8281"/><polygon fill="#A80036" points="77,234.8281,81,244.8281,85,234.8281,81,238.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180" x2="180" y1="224.8281" y2="244.8281"/><polygon fill="#A80036" points="176,234.8281,180,244.8281,184,234.8281,180,238.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="81" x2="81" y1="278.7969" y2="298.7969"/><polygon fill="#A80036" points="77,288.7969,81,298.7969,85,288.7969,81,292.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180" x2="180" y1="278.7969" y2="298.7969"/><polygon fill="#A80036" points="176,288.7969,180,298.7969,184,288.7969,180,292.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="137" y1="304.7969" y2="333.2813"/><polygon fill="#A80036" points="133,323.2813,137,333.2813,141,323.2813,137,327.2813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="137" y1="198.8281" y2="218.8281"/><polygon fill="#A80036" points="133,208.8281,137,218.8281,141,208.8281,137,212.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="293.5" x2="293.5" y1="198.8281" y2="279.3125"/><polygon fill="#A80036" points="289.5,269.3125,293.5,279.3125,297.5,269.3125,293.5,273.3125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="137" y1="367.25" y2="387.25"/><polygon fill="#A80036" points="133,377.25,137,387.25,141,377.25,137,381.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="293.5" x2="293.5" y1="313.2813" y2="387.25"/><polygon fill="#A80036" points="289.5,377.25,293.5,387.25,297.5,377.25,293.5,381.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180.5" x2="180.5" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="176.5,182.8281,180.5,192.8281,184.5,182.8281,180.5,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180.5" x2="180.5" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="176.5,128.8594,180.5,138.8594,184.5,128.8594,180.5,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="411.5" y1="118.8594" y2="244.8281"/><polygon fill="#A80036" points="407.5,234.8281,411.5,244.8281,415.5,234.8281,411.5,238.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180.5" x2="180.5" y1="393.25" y2="413.25"/><polygon fill="#A80036" points="176.5,403.25,180.5,413.25,184.5,403.25,180.5,407.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="411.5" y1="278.7969" y2="413.25"/><polygon fill="#A80036" points="407.5,403.25,411.5,413.25,415.5,403.25,411.5,407.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241" x2="241" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="237,102.8594,241,112.8594,245,102.8594,241,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241" x2="241" y1="419.25" y2="439.25"/><polygon fill="#A80036" points="237,429.25,241,439.25,245,429.25,241,433.25" style="stroke: #A80036; stroke-width: 1.0;"/><!--
 @startuml
 
 title **µRtWare**\nInitialization\n
@@ -7,53 +7,19 @@ title **µRtWare**\nInitialization\n
 
 start
 fork
+  :core;
   fork
-    partition "urt_core_t" {
-      note
-        must be initialized statically
-        (in startup thread)
-      endnote
-      :initialize members;
-    }
+    fork
+      :topics;
+    fork again
+      :messages;
+    endfork
+    :publishers;
   fork again
-    partition "urt_osThread_t" {
-      :initialize work area;
-      note
-        must be initialized statically
-        (in preamble / static memory allocation)
-      endnote
-      :initialize members;
-    }
+    :nodes;
   endfork
-  fork
-    partition "urt_topic_t" {
-      :initialize members;
-      :insert self to topic list;
-    }
-    partition "urt_publisher_t" {
-      :initialize members;
-      :find topic in topic list;
-      if (Any messages to contribute?) then (yes)
-        :lock topic;
-        :contribute messages;
-        :unlock topic;
-      else (no)
-      endif
-    }
-  fork again
-    partition "urt_node_t" {
-      :initialize members;
-      :insert self to node list;
-    }
-  endfork
-fork again
-  partition "urt_subscriber_t" {
-    :initialize members;
-  }
 fork again
-  partition "urt_message_t" {
-    :initialize members;
-  }
+  :subscribers;
 endfork
 stop
 
