Revision 35c9457f

View differences:

doc/classdiagrams/overview.svg
1
<?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="1800px" preserveAspectRatio="none" style="width:8149px;height:1800px;" version="1.1" viewBox="0 0 8149 1800" width="8149px" zoomAndPan="magnify"><defs><filter height="300%" id="fx5q9amszycal" 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="4002.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="87" x="4003.5" y="37.6611">Overview</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="4050" y="58.6143"/><!--cluster primitives--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="318.921,1463.8594,401.921,1463.8594,408.921,1486.1563,796.921,1486.1563,796.921,1656.8594,318.921,1656.8594,318.921,1463.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="318.921" x2="408.921" y1="1486.1563" y2="1486.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="322.921" y="1478.8545">primitives</text><!--cluster interfaces--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="3543.92,899.8594,3629.92,899.8594,3636.92,922.1563,7980.92,922.1563,7980.92,1788.8594,3543.92,1788.8594,3543.92,899.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="3543.92" x2="3636.92" y1="922.1563" y2="922.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="3547.92" y="914.8545">interfaces</text><!--cluster condition variable--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="4353.92,1123.8594,4499.92,1123.8594,4506.92,1146.1563,5057.92,1146.1563,5057.92,1628.8594,4353.92,1628.8594,4353.92,1123.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4353.92" x2="4506.92" y1="1146.1563" y2="1146.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="4357.92" y="1138.8545">condition variable</text><!--cluster timer--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="3567.92,1123.8594,3614.92,1123.8594,3621.92,1146.1563,4329.92,1146.1563,4329.92,1616.3594,3567.92,1616.3594,3567.92,1123.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="3567.92" x2="3621.92" y1="1146.1563" y2="1146.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="3571.92" y="1138.8545">timer</text><!--cluster thread--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="5081.92,942.8594,5139.92,942.8594,5146.92,965.1563,5827.92,965.1563,5827.92,1622.8594,5081.92,1622.8594,5081.92,942.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5081.92" x2="5146.92" y1="965.1563" y2="965.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="5085.92" y="957.8545">thread</text><!--cluster events--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="5851.92,1130.3594,5911.92,1130.3594,5918.92,1152.6563,7352.92,1152.6563,7352.92,1764.8594,5851.92,1764.8594,5851.92,1130.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5851.92" x2="5918.92" y1="1152.6563" y2="1152.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="5855.92" y="1145.3545">events</text><!--cluster middleware--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="717.921,86.8594,815.921,86.8594,822.921,109.1563,3519.92,109.1563,3519.92,1304.3594,717.921,1304.3594,717.921,86.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="717.921" x2="822.921" y1="109.1563" y2="109.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="92" x="721.921" y="101.8545">middleware</text><!--cluster real-time class--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="741.921,469.3594,862.921,469.3594,869.921,491.6563,1726.92,491.6563,1726.92,1280.3594,741.921,1280.3594,741.921,469.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="741.921" x2="869.921" y1="491.6563" y2="491.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="115" x="745.921" y="484.3545">real-time class</text><!--cluster node--><polygon fill="#FFFFFF" filter="url(#fx5q9amszycal)" points="2366.92,734.8594,2412.92,734.8594,2419.92,757.1563,3427.92,757.1563,3427.92,846.8594,2366.92,846.8594,2366.92,734.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="2366.92" x2="2419.92" y1="757.1563" y2="757.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="2370.92" y="749.8545">node</text><!--class urt_delay_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="680.921" y="1520.3594"/><ellipse cx="695.921" cy="1536.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M696.7648,1543.1094 L694.3116,1543.1094 L694.3116,1532.8594 L691.171,1532.8594 L691.171,1530.7188 L699.9054,1530.7188 L699.9054,1532.8594 L696.7648,1532.8594 L696.7648,1543.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="709.921" y="1540.5137">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="681.921" x2="779.921" y1="1552.3594" y2="1552.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="686.921" y="1583.3745">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="681.921" x2="714.421" y1="1566.7617" y2="1566.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="714.421" y="1570.0698">either</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="747.421" x2="779.921" y1="1566.7617" y2="1566.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="686.921" y="1612.9839">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="681.921" x2="724.921" y1="1596.3711" y2="1596.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="724.921" y="1599.6792">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="736.921" x2="779.921" y1="1596.3711" y2="1596.3711"/><!--class urt_status_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="86.4141" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="166" x="479.921" y="1526.8594"/><ellipse cx="521.471" cy="1542.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M525.5804,1548.8594 L517.8616,1548.8594 L517.8616,1536.4688 L525.5804,1536.4688 L525.5804,1538.625 L520.3148,1538.625 L520.3148,1541.2969 L525.0804,1541.2969 L525.0804,1543.4531 L520.3148,1543.4531 L520.3148,1546.7031 L525.5804,1546.7031 L525.5804,1548.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="541.371" y="1547.0137">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="480.921" x2="644.921" y1="1558.8594" y2="1558.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="485.921" y="1573.0698">URT_STATUS_OK = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="154" x="485.921" y="1585.8745">URT_STATUS_WARNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="485.921" y="1598.6792">URT_STATUS_ERROR = -1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="480.921" x2="644.921" y1="1605.2734" y2="1605.2734"/><!--class urt_topicid_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="141.6328" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="335.421" y="1498.8594"/><ellipse cx="350.421" cy="1514.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M351.2648,1521.6094 L348.8116,1521.6094 L348.8116,1511.3594 L345.671,1511.3594 L345.671,1509.2188 L354.4054,1509.2188 L354.4054,1511.3594 L351.2648,1511.3594 L351.2648,1521.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="364.421" y="1519.0137">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="336.421" x2="443.421" y1="1530.8594" y2="1530.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="341.421" y="1545.0698">uin8_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="341.421" y="1574.6792">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="336.421" x2="383.921" y1="1558.0664" y2="1558.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="383.921" y="1561.3745">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="395.921" x2="443.421" y1="1558.0664" y2="1558.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="341.421" y="1604.2886">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="336.421" x2="383.921" y1="1587.6758" y2="1587.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="383.921" y="1590.9839">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="395.921" x2="443.421" y1="1587.6758" y2="1587.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="341.421" y="1633.8979">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="336.421" x2="383.921" y1="1617.2852" y2="1617.2852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="383.921" y="1620.5933">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="395.921" x2="443.421" y1="1617.2852" y2="1617.2852"/><!--class urt_osTime_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="73.6094" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="7707.42" y="1532.8594"/><ellipse cx="7792.17" cy="1548.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7793.0138,1555.6094 L7790.5606,1555.6094 L7790.5606,1545.3594 L7787.42,1545.3594 L7787.42,1543.2188 L7796.1544,1543.2188 L7796.1544,1545.3594 L7793.0138,1545.3594 L7793.0138,1555.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="7812.67" y="1553.0137">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7708.42" x2="7963.42" y1="1564.8594" y2="1564.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7708.42" x2="7963.42" y1="1572.8594" y2="1572.8594"/><ellipse cx="7718.42" cy="1584.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="231" x="7727.42" y="1587.0698">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="7718.42" cy="1597.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="7727.42" y="1599.8745">urtTimeNow (void) : urt_osTime_t</text><!--class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="300" x="7371.92" y="1520.3594"/><ellipse cx="7474.17" cy="1536.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7475.0138,1543.1094 L7472.5606,1543.1094 L7472.5606,1532.8594 L7469.42,1532.8594 L7469.42,1530.7188 L7478.1544,1530.7188 L7478.1544,1532.8594 L7475.0138,1532.8594 L7475.0138,1543.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="7494.67" y="1540.5137">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7372.92" x2="7670.92" y1="1552.3594" y2="1552.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7372.92" x2="7670.92" y1="1560.3594" y2="1560.3594"/><ellipse cx="7382.92" cy="1572.2617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="247" x="7391.92" y="1574.5698">urtMutexInit (mutex : urt_osmutex_t*) : void</text><ellipse cx="7382.92" cy="1585.0664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="255" x="7391.92" y="1587.3745">urtMutexLock (mutex : urt_osmutex_t*) : void</text><ellipse cx="7382.92" cy="1597.8711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="7391.92" y="1600.1792">urtMutexTryLock (mutex : urt_osmutex_t*) : bool</text><ellipse cx="7382.92" cy="1610.6758" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="267" x="7391.92" y="1612.9839">urtMutexUnlock (mutex : urt_osmutex_t*) : void</text><!--class urt_condvarStatus_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="86.4141" id="urt_condvarStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="4576.92" y="1526.8594"/><ellipse cx="4638.67" cy="1542.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4642.7794,1548.8594 L4635.0606,1548.8594 L4635.0606,1536.4688 L4642.7794,1536.4688 L4642.7794,1538.625 L4637.5138,1538.625 L4637.5138,1541.2969 L4642.2794,1541.2969 L4642.2794,1543.4531 L4637.5138,1543.4531 L4637.5138,1546.7031 L4642.7794,1546.7031 L4642.7794,1548.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="4659.17" y="1547.0137">urt_condvarStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4577.92" x2="4833.92" y1="1558.8594" y2="1558.8594"/><ellipse cx="4587.92" cy="1570.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="4596.92" y="1573.0698">URT_CONDVAR_STATUS_SIGNAL = 0</text><ellipse cx="4587.92" cy="1583.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="232" x="4596.92" y="1585.8745">URT_CONDVAR_STATUS_BROADCAST = 1</text><ellipse cx="4587.92" cy="1596.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="4596.92" y="1598.6792">URT_CONDVAR_STATUS_TIMEOUT = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4577.92" x2="4833.92" y1="1605.2734" y2="1605.2734"/><!--class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="671" x="4370.42" y="1158.8594"/><ellipse cx="4651.17" cy="1174.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4652.0138,1181.6094 L4649.5606,1181.6094 L4649.5606,1171.3594 L4646.42,1171.3594 L4646.42,1169.2188 L4655.1544,1169.2188 L4655.1544,1171.3594 L4652.0138,1171.3594 L4652.0138,1181.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="4671.67" y="1179.0137">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4371.42" x2="5040.42" y1="1190.8594" y2="1190.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4371.42" x2="5040.42" y1="1198.8594" y2="1198.8594"/><ellipse cx="4381.42" cy="1210.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="283" x="4390.42" y="1213.0698">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4381.42" cy="1223.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="294" x="4390.42" y="1225.8745">urtConvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4381.42" cy="1236.3711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="324" x="4390.42" y="1238.6792">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4381.42" cy="1249.1758" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="645" x="4390.42" y="1251.4839">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_condvarStatus_t</text><!--class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="3694.92" y="1539.3594"/><ellipse cx="3765.67" cy="1555.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3766.5138,1562.1094 L3764.0606,1562.1094 L3764.0606,1551.8594 L3760.92,1551.8594 L3760.92,1549.7188 L3769.6544,1549.7188 L3769.6544,1551.8594 L3766.5138,1551.8594 L3766.5138,1562.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="3786.17" y="1559.5137">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3695.92" x2="3979.92" y1="1571.3594" y2="1571.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3695.92" x2="3979.92" y1="1579.3594" y2="1579.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="3700.92" y="1593.5698">urt_osTimerCallback_t (parameter : void*) : void</text><!--class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="99.2188" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="731" x="3583.42" y="1158.8594"/><ellipse cx="3902.67" cy="1174.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3903.5138,1181.6094 L3901.0606,1181.6094 L3901.0606,1171.3594 L3897.92,1171.3594 L3897.92,1169.2188 L3906.6544,1169.2188 L3906.6544,1171.3594 L3903.5138,1171.3594 L3903.5138,1181.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="3923.17" y="1179.0137">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3584.42" x2="4313.42" y1="1190.8594" y2="1190.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3584.42" x2="4313.42" y1="1198.8594" y2="1198.8594"/><ellipse cx="3594.42" cy="1210.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="3603.42" y="1213.0698">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="3594.42" cy="1223.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="705" x="3603.42" y="1225.8745">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="3594.42" cy="1236.3711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="300" x="3603.42" y="1238.6792">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="3594.42" cy="1249.1758" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="254" x="3603.42" y="1251.4839">urtTimerIsArmed (timer : urt_timer_t*) : bool</text><!--class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="48" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="5097.92" y="1545.8594"/><ellipse cx="5112.92" cy="1561.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5113.7638,1568.6094 L5111.3106,1568.6094 L5111.3106,1558.3594 L5108.17,1558.3594 L5108.17,1556.2188 L5116.9044,1556.2188 L5116.9044,1558.3594 L5113.7638,1558.3594 L5113.7638,1568.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="5126.92" y="1566.0137">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5098.92" x2="5246.92" y1="1577.8594" y2="1577.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5098.92" x2="5246.92" y1="1585.8594" y2="1585.8594"/><!--class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="5282.92" y="1539.3594"/><ellipse cx="5330.67" cy="1555.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5331.5138,1562.1094 L5329.0606,1562.1094 L5329.0606,1551.8594 L5325.92,1551.8594 L5325.92,1549.7188 L5334.6544,1549.7188 L5334.6544,1551.8594 L5331.5138,1551.8594 L5331.5138,1562.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="5351.17" y="1559.5137">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5283.92" x2="5533.92" y1="1571.3594" y2="1571.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5283.92" x2="5533.92" y1="1579.3594" y2="1579.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="5288.92" y="1593.5698">urt_osThreadFunction_t (arg : void*) : void</text><!--class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="5569.92" y="1532.8594"/><ellipse cx="5591.67" cy="1548.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5595.7794,1554.8594 L5588.0606,1554.8594 L5588.0606,1542.4688 L5595.7794,1542.4688 L5595.7794,1544.625 L5590.5138,1544.625 L5590.5138,1547.2969 L5595.2794,1547.2969 L5595.2794,1549.4531 L5590.5138,1549.4531 L5590.5138,1552.7031 L5595.7794,1552.7031 L5595.7794,1554.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="5607.17" y="1553.0137">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5570.92" x2="5810.92" y1="1564.8594" y2="1564.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="5575.92" y="1579.0698">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="5575.92" y="1591.8745">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5570.92" x2="5810.92" y1="1598.4688" y2="1598.4688"/><!--class urt_osThread_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="460.9453" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="613" x="5102.42" y="977.8594"/><ellipse cx="5357.67" cy="993.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5358.5138,1000.6094 L5356.0606,1000.6094 L5356.0606,990.3594 L5352.92,990.3594 L5352.92,988.2188 L5361.6544,988.2188 L5361.6544,990.3594 L5358.5138,990.3594 L5358.5138,1000.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="5378.17" y="998.0137">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5103.42" x2="5714.42" y1="1009.8594" y2="1009.8594"/><ellipse cx="5113.42" cy="1021.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="280" x="5122.42" y="1024.0698">URT_THREAD_PRIO_LOW_MIN : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1034.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="283" x="5122.42" y="1036.8745">URT_THREAD_PRIO_LOW_MAX : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1047.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="302" x="5122.42" y="1049.6792">URT_THREAD_PRIO_NORMAL_MIN : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1060.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="305" x="5122.42" y="1062.4839">URT_THREAD_PRIO_NORMAL_MAX : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1072.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="284" x="5122.42" y="1075.2886">URT_THREAD_PRIO_HIGH_MIN : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1085.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="287" x="5122.42" y="1088.0933">URT_THREAD_PRIO_HIGH_MAX : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1098.5898" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="270" x="5122.42" y="1100.8979">URT_THREAD_PRIO_RT_MIN : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1111.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="5122.42" y="1113.7026">URT_THREAD_PRIO_RT_MAX : urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5103.42" x2="5714.42" y1="1120.2969" y2="1120.2969"/><ellipse cx="5113.42" cy="1132.1992" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="5122.42" y="1134.5073">URT_THREAD_MAX_SLEEP : float</text><ellipse cx="5113.42" cy="1145.0039" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="5122.42" y="1147.312">URT_THREAD_MAX_SSLEP : unsigned int</text><ellipse cx="5113.42" cy="1157.8086" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="5122.42" y="1160.1167">URT_THREAD_MAX_MSLEEP : unsigned int</text><ellipse cx="5113.42" cy="1170.6133" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="232" x="5122.42" y="1172.9214">URT_THREAD_MAX_USLEEP : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5103.42" x2="5714.42" y1="1179.5156" y2="1179.5156"/><ellipse cx="5113.42" cy="1191.418" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="360" x="5122.42" y="1193.7261">URT_THREAD_WORKING_AREA (var : varname, stacksize : size_t)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5103.42" x2="5714.42" y1="1200.3203" y2="1200.3203"/><ellipse cx="5113.42" cy="1212.2227" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="587" x="5122.42" y="1214.5308">urtThreadInit (wa : void*, wasize : size_t, func : urt_osThreadFunction_t*, arg : void*) : urt_osThread_t*</text><ellipse cx="5113.42" cy="1225.0273" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="490" x="5122.42" y="1227.3354">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="5113.42" cy="1237.832" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="5122.42" y="1240.1401">urtThreadYield (void) : void</text><ellipse cx="5113.42" cy="1250.6367" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="389" x="5122.42" y="1252.9448">urtThreadGetPriority (thread : urt_osThread_t*) : urt_osThreadPrio_t</text><ellipse cx="5113.42" cy="1263.4414" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="453" x="5122.42" y="1265.7495">urtThreadSetPriority (thread : urt_osThread_t*, prio : urt_osThreadPrio_t) : void</text><ellipse cx="5113.42" cy="1276.2461" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="5122.42" y="1278.5542">urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="5113.42" cy="1289.0508" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="5122.42" y="1291.3589">urtThreadGetParent (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="5113.42" cy="1301.8555" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="5122.42" y="1304.1636">urtThreadSuspend (void) : void</text><ellipse cx="5113.42" cy="1314.6602" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="319" x="5122.42" y="1316.9683">urtThreadIsSuspended (thread : urt_osThread_t*) : bool</text><ellipse cx="5113.42" cy="1327.4648" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="335" x="5122.42" y="1329.7729">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="5113.42" cy="1340.2695" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="5122.42" y="1342.5776">urtThreadSleep (seconds : float) : void</text><ellipse cx="5113.42" cy="1353.0742" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="5122.42" y="1355.3823">urtThreadSSleep (seconds : usnigned int) : void</text><ellipse cx="5113.42" cy="1365.8789" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="5122.42" y="1368.187">urtThreadMSleep (milliseconds : unsigned int) : void</text><ellipse cx="5113.42" cy="1378.6836" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="305" x="5122.42" y="1380.9917">urtThreadUSleep (microseconds : unsigned int) : void</text><ellipse cx="5113.42" cy="1391.4883" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="5122.42" y="1393.7964">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="5113.42" cy="1404.293" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="5122.42" y="1406.6011">urtThreadExit (void) : void</text><ellipse cx="5113.42" cy="1417.0977" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="518" x="5122.42" y="1419.4058">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="5113.42" cy="1429.9023" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="264" x="5122.42" y="1432.2104">urtThreadJoin (thread : urt_osThread_t*) : void</text><!--class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="48" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="6450.42" y="1545.8594"/><ellipse cx="6465.42" cy="1561.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6466.2638,1568.6094 L6463.8106,1568.6094 L6463.8106,1558.3594 L6460.67,1558.3594 L6460.67,1556.2188 L6469.4044,1556.2188 L6469.4044,1558.3594 L6466.2638,1558.3594 L6466.2638,1568.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="6479.42" y="1566.0137">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6451.42" x2="6598.42" y1="1577.8594" y2="1577.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6451.42" x2="6598.42" y1="1585.8594" y2="1585.8594"/><!--class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="6540.92" y="1700.8594"/><ellipse cx="6555.92" cy="1716.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6556.7638,1723.6094 L6554.3106,1723.6094 L6554.3106,1713.3594 L6551.17,1713.3594 L6551.17,1711.2188 L6559.9044,1711.2188 L6559.9044,1713.3594 L6556.7638,1713.3594 L6556.7638,1723.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="6569.92" y="1721.0137">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6541.92" x2="6689.92" y1="1732.8594" y2="1732.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6541.92" x2="6689.92" y1="1740.8594" y2="1740.8594"/><!--class urt_osEventWaitType_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="86.4141" id="urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="6634.42" y="1526.8594"/><ellipse cx="6649.42" cy="1542.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6653.5294,1548.8594 L6645.8106,1548.8594 L6645.8106,1536.4688 L6653.5294,1536.4688 L6653.5294,1538.625 L6648.2638,1538.625 L6648.2638,1541.2969 L6653.0294,1541.2969 L6653.0294,1543.4531 L6648.2638,1543.4531 L6648.2638,1546.7031 L6653.5294,1546.7031 L6653.5294,1548.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="6663.42" y="1547.0137">urt_osEventWaitType_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6635.42" x2="6806.42" y1="1558.8594" y2="1558.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="6640.42" y="1573.0698">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="6640.42" y="1585.8745">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="6640.42" y="1598.6792">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6635.42" x2="6806.42" y1="1605.2734" y2="1605.2734"/><!--class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="6842.92" y="1526.8594"/><ellipse cx="7018.17" cy="1542.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7019.0138,1549.6094 L7016.5606,1549.6094 L7016.5606,1539.3594 L7013.42,1539.3594 L7013.42,1537.2188 L7022.1544,1537.2188 L7022.1544,1539.3594 L7019.0138,1539.3594 L7019.0138,1549.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="7038.67" y="1547.0137">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6843.92" x2="7335.92" y1="1558.8594" y2="1558.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6843.92" x2="7335.92" y1="1566.8594" y2="1566.8594"/><ellipse cx="6853.92" cy="1578.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="341" x="6862.92" y="1581.0698">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="6853.92" cy="1591.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="458" x="6862.92" y="1593.8745">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="6853.92" cy="1604.3711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="468" x="6862.92" y="1606.6792">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="5868.42" y="1532.8594"/><ellipse cx="6073.17" cy="1548.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6074.0138,1555.6094 L6071.5606,1555.6094 L6071.5606,1545.3594 L6068.42,1545.3594 L6068.42,1543.2188 L6077.1544,1543.2188 L6077.1544,1545.3594 L6074.0138,1545.3594 L6074.0138,1555.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="6093.67" y="1553.0137">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5869.42" x2="6414.42" y1="1564.8594" y2="1564.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5869.42" x2="6414.42" y1="1572.8594" y2="1572.8594"/><ellipse cx="5879.42" cy="1584.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="325" x="5888.42" y="1587.0698">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="5879.42" cy="1597.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="521" x="5888.42" y="1599.8745">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--class urt_events--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="735" x="5867.42" y="1165.3594"/><ellipse cx="6197.67" cy="1181.3594" fill="#FFFFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6201.9044,1177.125 L6196.6231,1177.125 L6196.6231,1179.7969 L6201.42,1179.7969 L6201.42,1181.9531 L6196.6231,1181.9531 L6196.6231,1187.3594 L6194.1856,1187.3594 L6194.1856,1174.9688 L6201.9044,1174.9688 L6201.9044,1177.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="6218.17" y="1185.5137">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5868.42" x2="6601.42" y1="1197.3594" y2="1197.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5868.42" x2="6601.42" y1="1205.3594" y2="1205.3594"/><ellipse cx="5878.42" cy="1217.2617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="709" x="5887.42" y="1219.5698">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t) : urt_status_t</text><ellipse cx="5878.42" cy="1230.0664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="567" x="5887.42" y="1232.3745">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text><ellipse cx="5878.42" cy="1242.8711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="488" x="5887.42" y="1245.1792">urtEventWait (type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t</text><!--class urt_message_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="167.2422" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="1878.42" y="716.8594"/><ellipse cx="2053.67" cy="732.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2053.1544,733.4219 Q2051.295,732.7188 2050.6466,731.9453 Q2049.9981,731.1719 2049.9981,729.8594 Q2049.9981,728.1719 2051.0763,727.2031 Q2052.1544,726.2344 2054.0294,726.2344 Q2054.8888,726.2344 2055.7403,726.4297 Q2056.5919,726.625 2057.4356,727.0156 L2057.4356,729.4063 Q2056.6544,728.8438 2055.8341,728.5547 Q2055.0138,728.2656 2054.2169,728.2656 Q2053.3419,728.2656 2052.8653,728.625 Q2052.3888,728.9844 2052.3888,729.6406 Q2052.3888,730.1563 2052.7325,730.4922 Q2053.0763,730.8281 2054.17,731.2344 L2055.2325,731.6406 Q2056.7169,732.1875 2057.4278,733.0938 Q2058.1388,734 2058.1388,735.375 Q2058.1388,737.25 2057.0294,738.1719 Q2055.92,739.0938 2053.67,739.0938 Q2052.7481,739.0938 2051.8263,738.875 Q2050.9044,738.6563 2050.045,738.2344 L2050.045,735.7031 Q2051.0138,736.3906 2051.9356,736.7344 Q2052.8575,737.0781 2053.7481,737.0781 Q2054.6544,737.0781 2055.1544,736.6641 Q2055.6544,736.25 2055.6544,735.5156 Q2055.6544,734.9531 2055.3184,734.5391 Q2054.9825,734.125 2054.3575,733.875 L2053.1544,733.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="2074.17" y="737.0137">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1879.42" x2="2328.42" y1="748.8594" y2="748.8594"/><ellipse cx="1889.42" cy="760.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="1898.42" y="763.0698">next : urt_message_t*</text><ellipse cx="1889.42" cy="773.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="1898.42" y="775.8745">payload : void*</text><ellipse cx="1889.42" cy="786.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="1898.42" y="788.6792">originTime : urt_osTime_t</text><ellipse cx="1889.42" cy="799.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="1898.42" y="801.4839">lock : urt_osMutex_t</text><ellipse cx="1889.42" cy="811.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="1898.42" y="814.2886">numHrtConsumersLeft : unsigned int</text><ellipse cx="1889.42" cy="824.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="1898.42" y="827.0933">hrtConsumersLeft : urt_osCondvar_t</text><ellipse cx="1889.42" cy="854.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="1898.42" y="856.7026">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1879.42" x2="2060.42" y1="840.0898" y2="840.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="2060.42" y="843.3979">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2147.42" x2="2328.42" y1="840.0898" y2="840.0898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1879.42" x2="2328.42" y1="863.2969" y2="863.2969"/><ellipse cx="1889.42" cy="875.1992" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="425" x="1898.42" y="877.5073">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--class urt_subscriber_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="244.0703" id="urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="851" x="1093.42" y="121.8594"/><ellipse cx="1464.17" cy="137.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1463.6544,138.4219 Q1461.795,137.7188 1461.1466,136.9453 Q1460.4981,136.1719 1460.4981,134.8594 Q1460.4981,133.1719 1461.5763,132.2031 Q1462.6544,131.2344 1464.5294,131.2344 Q1465.3888,131.2344 1466.2403,131.4297 Q1467.0919,131.625 1467.9356,132.0156 L1467.9356,134.4063 Q1467.1544,133.8438 1466.3341,133.5547 Q1465.5138,133.2656 1464.7169,133.2656 Q1463.8419,133.2656 1463.3653,133.625 Q1462.8888,133.9844 1462.8888,134.6406 Q1462.8888,135.1563 1463.2325,135.4922 Q1463.5763,135.8281 1464.67,136.2344 L1465.7325,136.6406 Q1467.2169,137.1875 1467.9278,138.0938 Q1468.6388,139 1468.6388,140.375 Q1468.6388,142.25 1467.5294,143.1719 Q1466.42,144.0938 1464.17,144.0938 Q1463.2481,144.0938 1462.3263,143.875 Q1461.4044,143.6563 1460.545,143.2344 L1460.545,140.7031 Q1461.5138,141.3906 1462.4356,141.7344 Q1463.3575,142.0781 1464.2481,142.0781 Q1465.1544,142.0781 1465.6544,141.6641 Q1466.1544,141.25 1466.1544,140.5156 Q1466.1544,139.9531 1465.8184,139.5391 Q1465.4825,139.125 1464.8575,138.875 L1463.6544,138.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="1484.67" y="142.0137">urt_subscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1094.42" x2="1943.42" y1="153.8594" y2="153.8594"/><ellipse cx="1104.42" cy="165.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1113.42" y="168.0698">next : urt_subscriber_t*</text><ellipse cx="1104.42" cy="178.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="1113.42" y="180.8745">topic : urt_topic_t*</text><ellipse cx="1104.42" cy="191.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="1113.42" y="193.6792">evtListener : urt_osEventListener_t</text><ellipse cx="1104.42" cy="204.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="1113.42" y="206.4839">rtclass : urt_rtclass_t</text><ellipse cx="1104.42" cy="216.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="1113.42" y="219.2886">lastMessage : urt_message_t*</text><ellipse cx="1104.42" cy="229.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="1113.42" y="232.0933">lastMessageTime : urt_osTime_t</text><ellipse cx="1104.42" cy="259.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1113.42" y="261.7026">minLatency : urt_delay_t</text><ellipse cx="1104.42" cy="272.1992" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1113.42" y="274.5073">maxLatency : urt_delay_t</text><ellipse cx="1104.42" cy="285.0039" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="1113.42" y="287.312">sumLatencies : uint64_t</text><ellipse cx="1104.42" cy="297.8086" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="1113.42" y="300.1167">numMessagesReceived : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1094.42" x2="1475.42" y1="245.0898" y2="245.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="1475.42" y="248.3979">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1562.42" x2="1943.42" y1="245.0898" y2="245.0898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1094.42" x2="1943.42" y1="306.7109" y2="306.7109"/><ellipse cx="1104.42" cy="318.6133" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="359" x="1113.42" y="320.9214">urtSubscriberInit (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="1104.42" cy="331.418" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="825" x="1113.42" y="333.7261">urtSubscriberSubscribe (subscriber : urt_subscriber_t*, topic : urt_topic_t*, rtclass : urt_rtclass_t*, messages : urt_messages_t*) : urt_status_t</text><ellipse cx="1104.42" cy="344.2227" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="413" x="1113.42" y="346.5308">urtSubscriberUnsubscribe (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="1104.42" cy="357.0273" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="499" x="1113.42" y="359.3354">urtSubscriberFetchMessage (subscriber : urt_subscriber_t*, latest : bool) : urt_status_t</text><!--class urt_topic_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="231.2656" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="511" x="1780.42" y="425.8594"/><ellipse cx="1998.67" cy="441.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1998.1544,442.4219 Q1996.295,441.7188 1995.6466,440.9453 Q1994.9981,440.1719 1994.9981,438.8594 Q1994.9981,437.1719 1996.0763,436.2031 Q1997.1544,435.2344 1999.0294,435.2344 Q1999.8888,435.2344 2000.7403,435.4297 Q2001.5919,435.625 2002.4356,436.0156 L2002.4356,438.4063 Q2001.6544,437.8438 2000.8341,437.5547 Q2000.0138,437.2656 1999.2169,437.2656 Q1998.3419,437.2656 1997.8653,437.625 Q1997.3888,437.9844 1997.3888,438.6406 Q1997.3888,439.1563 1997.7325,439.4922 Q1998.0763,439.8281 1999.17,440.2344 L2000.2325,440.6406 Q2001.7169,441.1875 2002.4278,442.0938 Q2003.1388,443 2003.1388,444.375 Q2003.1388,446.25 2002.0294,447.1719 Q2000.92,448.0938 1998.67,448.0938 Q1997.7481,448.0938 1996.8263,447.875 Q1995.9044,447.6563 1995.045,447.2344 L1995.045,444.7031 Q1996.0138,445.3906 1996.9356,445.7344 Q1997.8575,446.0781 1998.7481,446.0781 Q1999.6544,446.0781 2000.1544,445.6641 Q2000.6544,445.25 2000.6544,444.5156 Q2000.6544,443.9531 2000.3184,443.5391 Q1999.9825,443.125 1999.3575,442.875 L1998.1544,442.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="2019.17" y="446.0137">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1781.42" x2="2290.42" y1="457.8594" y2="457.8594"/><ellipse cx="1791.42" cy="469.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="1800.42" y="472.0698">next : urt_topic_t*</text><ellipse cx="1791.42" cy="482.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="1800.42" y="484.8745">mutex : urt_osMutex_t</text><ellipse cx="1791.42" cy="495.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="1800.42" y="497.6792">evtSource : urt_osEventSource_t</text><ellipse cx="1791.42" cy="508.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="1800.42" y="510.4839">numHrtSubscribers : unsigned int</text><ellipse cx="1791.42" cy="520.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1800.42" y="523.2886">hrtSubscribers : urt_subscriber_t*</text><ellipse cx="1791.42" cy="533.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="1800.42" y="536.0933">qosTimer : urt_osTimer_t</text><ellipse cx="1791.42" cy="546.5898" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="1800.42" y="548.8979">mandatoryMessage : urt_message_t</text><ellipse cx="1791.42" cy="559.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="1800.42" y="561.7026">latestMessage : urt_message_t*</text><ellipse cx="1791.42" cy="572.1992" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="1800.42" y="574.5073">id : urt_topicid_t</text><ellipse cx="1791.42" cy="601.8086" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="1800.42" y="604.1167">numDiscardedMessages : unsigned int</text><ellipse cx="1791.42" cy="614.6133" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="1800.42" y="616.9214">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1781.42" x2="1992.42" y1="587.5039" y2="587.5039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="1992.42" y="590.812">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2079.42" x2="2290.42" y1="587.5039" y2="587.5039"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1781.42" x2="2290.42" y1="623.5156" y2="623.5156"/><ellipse cx="1791.42" cy="635.418" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="358" x="1800.42" y="637.7261">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><ellipse cx="1791.42" cy="648.2227" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="485" x="1800.42" y="650.5308">urtTopicContributeMessages (topic : urt_topic_t*, messages : urt_message_t*) : void</text><!--class urt_publisher_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="1997.42" y="179.3594"/><ellipse cx="2326.17" cy="195.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2325.6544,195.9219 Q2323.795,195.2188 2323.1466,194.4453 Q2322.4981,193.6719 2322.4981,192.3594 Q2322.4981,190.6719 2323.5763,189.7031 Q2324.6544,188.7344 2326.5294,188.7344 Q2327.3888,188.7344 2328.2403,188.9297 Q2329.0919,189.125 2329.9356,189.5156 L2329.9356,191.9063 Q2329.1544,191.3438 2328.3341,191.0547 Q2327.5138,190.7656 2326.7169,190.7656 Q2325.8419,190.7656 2325.3653,191.125 Q2324.8888,191.4844 2324.8888,192.1406 Q2324.8888,192.6563 2325.2325,192.9922 Q2325.5763,193.3281 2326.67,193.7344 L2327.7325,194.1406 Q2329.2169,194.6875 2329.9278,195.5938 Q2330.6388,196.5 2330.6388,197.875 Q2330.6388,199.75 2329.5294,200.6719 Q2328.42,201.5938 2326.17,201.5938 Q2325.2481,201.5938 2324.3263,201.375 Q2323.4044,201.1563 2322.545,200.7344 L2322.545,198.2031 Q2323.5138,198.8906 2324.4356,199.2344 Q2325.3575,199.5781 2326.2481,199.5781 Q2327.1544,199.5781 2327.6544,199.1641 Q2328.1544,198.75 2328.1544,198.0156 Q2328.1544,197.4531 2327.8184,197.0391 Q2327.4825,196.625 2326.8575,196.375 L2325.6544,195.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="2346.67" y="199.5137">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1998.42" x2="2755.42" y1="211.3594" y2="211.3594"/><ellipse cx="2008.42" cy="223.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="2017.42" y="225.5698">topic : urt_topic_t*</text><ellipse cx="2008.42" cy="252.8711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="174" x="2017.42" y="255.1792">publishAttempts : unsigned int</text><ellipse cx="2008.42" cy="265.6758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="2017.42" y="267.9839">publishFails : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1998.42" x2="2333.42" y1="238.5664" y2="238.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="2333.42" y="241.8745">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2420.42" x2="2755.42" y1="238.5664" y2="238.5664"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1998.42" x2="2755.42" y1="274.5781" y2="274.5781"/><ellipse cx="2008.42" cy="286.4805" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="617" x="2017.42" y="288.7886">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="2008.42" cy="299.2852" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="733" x="2017.42" y="301.5933">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--class urt_core_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="124.8281" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="325" x="733.421" y="181.3594"/><ellipse cx="860.171" cy="197.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M859.6554,197.9219 Q857.796,197.2188 857.1476,196.4453 Q856.4991,195.6719 856.4991,194.3594 Q856.4991,192.6719 857.5773,191.7031 Q858.6554,190.7344 860.5304,190.7344 Q861.3898,190.7344 862.2413,190.9297 Q863.0929,191.125 863.9366,191.5156 L863.9366,193.9063 Q863.1554,193.3438 862.3351,193.0547 Q861.5148,192.7656 860.7179,192.7656 Q859.8429,192.7656 859.3663,193.125 Q858.8898,193.4844 858.8898,194.1406 Q858.8898,194.6563 859.2335,194.9922 Q859.5773,195.3281 860.671,195.7344 L861.7335,196.1406 Q863.2179,196.6875 863.9288,197.5938 Q864.6398,198.5 864.6398,199.875 Q864.6398,201.75 863.5304,202.6719 Q862.421,203.5938 860.171,203.5938 Q859.2491,203.5938 858.3273,203.375 Q857.4054,203.1563 856.546,202.7344 L856.546,200.2031 Q857.5148,200.8906 858.4366,201.2344 Q859.3585,201.5781 860.2491,201.5781 Q861.1554,201.5781 861.6554,201.1641 Q862.1554,200.75 862.1554,200.0156 Q862.1554,199.4531 861.8194,199.0391 Q861.4835,198.625 860.8585,198.375 L859.6554,197.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="880.671" y="201.5137">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="734.421" x2="1057.421" y1="213.3594" y2="213.3594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="741.421" y="222.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="753.421" y="227.5698">_nodes : urt_node_t*</text><line style="stroke: #000000; stroke-width: 1.0;" x1="753.421" x2="872.421" y1="229.5698" y2="229.5698"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="741.421" y="235.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="753.421" y="240.3745">_topics : urt_topic_t*</text><line style="stroke: #000000; stroke-width: 1.0;" x1="753.421" x2="870.421" y1="242.3745" y2="242.3745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="734.421" x2="1057.421" y1="246.9688" y2="246.9688"/><ellipse cx="744.421" cy="258.8711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="753.421" y="261.1792">urtCoreInit (void) : urt_status_t</text><ellipse cx="744.421" cy="271.6758" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="753.421" y="273.9839">urtCoreStartAll (void) : urt_status_t</text><ellipse cx="744.421" cy="284.4805" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="753.421" y="286.7886">urtCoreStopAll (void) : urt_status_t</text><ellipse cx="744.421" cy="297.2852" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="753.421" y="299.5933">urtCoreRetrieveTopic (id : urt_topicid_t) : urt_topic_t*</text><!--class urt_node_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="201.6563" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1104" x="2381.92" y="440.3594"/><ellipse cx="2896.17" cy="456.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2895.6544,456.9219 Q2893.795,456.2188 2893.1466,455.4453 Q2892.4981,454.6719 2892.4981,453.3594 Q2892.4981,451.6719 2893.5763,450.7031 Q2894.6544,449.7344 2896.5294,449.7344 Q2897.3888,449.7344 2898.2403,449.9297 Q2899.0919,450.125 2899.9356,450.5156 L2899.9356,452.9063 Q2899.1544,452.3438 2898.3341,452.0547 Q2897.5138,451.7656 2896.7169,451.7656 Q2895.8419,451.7656 2895.3653,452.125 Q2894.8888,452.4844 2894.8888,453.1406 Q2894.8888,453.6563 2895.2325,453.9922 Q2895.5763,454.3281 2896.67,454.7344 L2897.7325,455.1406 Q2899.2169,455.6875 2899.9278,456.5938 Q2900.6388,457.5 2900.6388,458.875 Q2900.6388,460.75 2899.5294,461.6719 Q2898.42,462.5938 2896.17,462.5938 Q2895.2481,462.5938 2894.3263,462.375 Q2893.4044,462.1563 2892.545,461.7344 L2892.545,459.2031 Q2893.5138,459.8906 2894.4356,460.2344 Q2895.3575,460.5781 2896.2481,460.5781 Q2897.1544,460.5781 2897.6544,460.1641 Q2898.1544,459.75 2898.1544,459.0156 Q2898.1544,458.4531 2897.8184,458.0391 Q2897.4825,457.625 2896.8575,457.375 L2895.6544,456.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="2916.67" y="460.5137">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2382.92" x2="3484.92" y1="472.3594" y2="472.3594"/><ellipse cx="2392.92" cy="484.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="2401.92" y="486.5698">next : urt_node_t*</text><ellipse cx="2392.92" cy="497.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2401.92" y="499.3745">thread : urt_osThread_t*</text><ellipse cx="2392.92" cy="509.8711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="2401.92" y="512.1792">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="2392.92" cy="522.6758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="2401.92" y="524.9839">setupparams : void*</text><ellipse cx="2392.92" cy="535.4805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="2401.92" y="537.7886">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="2392.92" cy="548.2852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="2401.92" y="550.5933">loopparams : void*</text><ellipse cx="2392.92" cy="561.0898" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="2401.92" y="563.3979">waitmask : urt_osEventMask_t</text><ellipse cx="2392.92" cy="573.8945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="2401.92" y="576.2026">waittype : urt_osEventWaitType_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2382.92" x2="3484.92" y1="582.7969" y2="582.7969"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2389.92" y="591.6992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="2401.92" y="597.0073">_main : urt_osThreadFunction_t</text><line style="stroke: #000000; stroke-width: 1.0;" x1="2401.92" x2="2580.92" y1="599.0073" y2="599.0073"/><ellipse cx="2392.92" cy="607.5039" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1078" x="2401.92" y="609.812">urtNodeInit (node : urt_node_t*, stacksize : size_t, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*) : urt_status_t</text><ellipse cx="2392.92" cy="620.3086" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="531" x="2401.92" y="622.6167">urtNodeTerminateRecusively (node : urt_node_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="2392.92" cy="633.1133" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="282" x="2401.92" y="635.4214">urtNodeJoinRecursively (node : urt_node_t*) : void</text><!--class urt_rtclass_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="73.6094" id="urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1408.42" y="504.3594"/><ellipse cx="1464.17" cy="520.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1463.6544,520.9219 Q1461.795,520.2188 1461.1466,519.4453 Q1460.4981,518.6719 1460.4981,517.3594 Q1460.4981,515.6719 1461.5763,514.7031 Q1462.6544,513.7344 1464.5294,513.7344 Q1465.3888,513.7344 1466.2403,513.9297 Q1467.0919,514.125 1467.9356,514.5156 L1467.9356,516.9063 Q1467.1544,516.3438 1466.3341,516.0547 Q1465.5138,515.7656 1464.7169,515.7656 Q1463.8419,515.7656 1463.3653,516.125 Q1462.8888,516.4844 1462.8888,517.1406 Q1462.8888,517.6563 1463.2325,517.9922 Q1463.5763,518.3281 1464.67,518.7344 L1465.7325,519.1406 Q1467.2169,519.6875 1467.9278,520.5938 Q1468.6388,521.5 1468.6388,522.875 Q1468.6388,524.75 1467.5294,525.6719 Q1466.42,526.5938 1464.17,526.5938 Q1463.2481,526.5938 1462.3263,526.375 Q1461.4044,526.1563 1460.545,525.7344 L1460.545,523.2031 Q1461.5138,523.8906 1462.4356,524.2344 Q1463.3575,524.5781 1464.2481,524.5781 Q1465.1544,524.5781 1465.6544,524.1641 Q1466.1544,523.75 1466.1544,523.0156 Q1466.1544,522.4531 1465.8184,522.0391 Q1465.4825,521.625 1464.8575,521.375 L1463.6544,520.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="1484.67" y="524.5137">urt_rtclass_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1409.42" x2="1604.42" y1="536.3594" y2="536.3594"/><ellipse cx="1419.42" cy="548.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="1428.42" y="550.5698">class : urt_rtclasstype_t</text><ellipse cx="1419.42" cy="561.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="171" x="1428.42" y="563.3745">params : urt_rtclassparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1409.42" x2="1604.42" y1="569.9688" y2="569.9688"/><!--class urt_rtclasstype_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="99.2188" id="urt_rtclasstype_t" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="1430.42" y="750.8594"/><ellipse cx="1453.07" cy="766.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1457.1794,772.8594 L1449.4606,772.8594 L1449.4606,760.4688 L1457.1794,760.4688 L1457.1794,762.625 L1451.9138,762.625 L1451.9138,765.2969 L1456.6794,765.2969 L1456.6794,767.4531 L1451.9138,767.4531 L1451.9138,770.7031 L1457.1794,770.7031 L1457.1794,772.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="1468.77" y="771.0137">urt_rtclasstype_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1431.42" x2="1582.42" y1="782.8594" y2="782.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="1436.42" y="797.0698">URT_RTCLASS_HARD = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="1436.42" y="809.8745">URT_RTCLASS_FIRM = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="1436.42" y="822.6792">URT_RTCLASS_SOFT = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1436.42" y="835.4839">URT_RTCLASS_NONE = 3</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1431.42" x2="1582.42" y1="842.0781" y2="842.0781"/><!--class urt_rtclassparams_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="99.2188" id="urt_rtclassparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="1226.92" y="750.8594"/><ellipse cx="1241.92" cy="766.8594" fill="#90EE90" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1237.795,768.7813 L1237.795,760.9688 L1240.2481,760.9688 L1240.2481,769.4063 Q1240.2481,770.3281 1240.7247,770.8594 Q1241.2013,771.3906 1242.0294,771.3906 Q1242.8731,771.3906 1243.3419,770.8594 Q1243.8106,770.3281 1243.8106,769.4063 L1243.8106,760.9688 L1246.2638,760.9688 L1246.2638,768.7813 Q1246.2638,771.3125 1245.2638,772.4531 Q1244.2638,773.5938 1242.0294,773.5938 Q1239.8106,773.5938 1238.8028,772.4531 Q1237.795,771.3125 1237.795,768.7813 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="1255.92" y="771.0137">urt_rtclassparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1227.92" x2="1381.92" y1="782.8594" y2="782.8594"/><ellipse cx="1237.92" cy="794.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="1246.92" y="797.0698">hrt : urt_hrtparams_t</text><ellipse cx="1237.92" cy="807.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="1246.92" y="809.8745">frt : urt_frtparams_t</text><ellipse cx="1237.92" cy="820.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="1246.92" y="822.6792">srt : urt_srtparans_t</text><ellipse cx="1237.92" cy="833.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="1246.92" y="835.4839">nrt : urt_nrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1227.92" x2="1381.92" y1="842.0781" y2="842.0781"/><!--class urt_hrtparams_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="86.4141" id="urt_hrtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="925.421" y="1165.3594"/><ellipse cx="963.371" cy="1181.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M962.8554,1181.9219 Q960.996,1181.2188 960.3476,1180.4453 Q959.6991,1179.6719 959.6991,1178.3594 Q959.6991,1176.6719 960.7773,1175.7031 Q961.8554,1174.7344 963.7304,1174.7344 Q964.5898,1174.7344 965.4413,1174.9297 Q966.2929,1175.125 967.1366,1175.5156 L967.1366,1177.9063 Q966.3554,1177.3438 965.5351,1177.0547 Q964.7148,1176.7656 963.9179,1176.7656 Q963.0429,1176.7656 962.5663,1177.125 Q962.0898,1177.4844 962.0898,1178.1406 Q962.0898,1178.6563 962.4335,1178.9922 Q962.7773,1179.3281 963.871,1179.7344 L964.9335,1180.1406 Q966.4179,1180.6875 967.1288,1181.5938 Q967.8398,1182.5 967.8398,1183.875 Q967.8398,1185.75 966.7304,1186.6719 Q965.621,1187.5938 963.371,1187.5938 Q962.4491,1187.5938 961.5273,1187.375 Q960.6054,1187.1563 959.746,1186.7344 L959.746,1184.2031 Q960.7148,1184.8906 961.6366,1185.2344 Q962.5585,1185.5781 963.4491,1185.5781 Q964.3554,1185.5781 964.8554,1185.1641 Q965.3554,1184.75 965.3554,1184.0156 Q965.3554,1183.4531 965.0194,1183.0391 Q964.6835,1182.625 964.0585,1182.375 L962.8554,1181.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="982.471" y="1185.5137">urt_hrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="926.421" x2="1107.421" y1="1197.3594" y2="1197.3594"/><ellipse cx="936.421" cy="1209.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="945.421" y="1211.5698">deadlineOffset : urt_delay_t</text><ellipse cx="936.421" cy="1222.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="945.421" y="1224.3745">expectedRate : urt_delay_t</text><ellipse cx="936.421" cy="1234.8711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="945.421" y="1237.1792">qosTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="926.421" x2="1107.421" y1="1243.7734" y2="1243.7734"/><!--class urt_frtparams_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="112.0234" id="urt_frtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="1501.42" y="1152.3594"/><ellipse cx="1553.67" cy="1168.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1553.1544,1168.9219 Q1551.295,1168.2188 1550.6466,1167.4453 Q1549.9981,1166.6719 1549.9981,1165.3594 Q1549.9981,1163.6719 1551.0763,1162.7031 Q1552.1544,1161.7344 1554.0294,1161.7344 Q1554.8888,1161.7344 1555.7403,1161.9297 Q1556.5919,1162.125 1557.4356,1162.5156 L1557.4356,1164.9063 Q1556.6544,1164.3438 1555.8341,1164.0547 Q1555.0138,1163.7656 1554.2169,1163.7656 Q1553.3419,1163.7656 1552.8653,1164.125 Q1552.3888,1164.4844 1552.3888,1165.1406 Q1552.3888,1165.6563 1552.7325,1165.9922 Q1553.0763,1166.3281 1554.17,1166.7344 L1555.2325,1167.1406 Q1556.7169,1167.6875 1557.4278,1168.5938 Q1558.1388,1169.5 1558.1388,1170.875 Q1558.1388,1172.75 1557.0294,1173.6719 Q1555.92,1174.5938 1553.67,1174.5938 Q1552.7481,1174.5938 1551.8263,1174.375 Q1550.9044,1174.1563 1550.045,1173.7344 L1550.045,1171.2031 Q1551.0138,1171.8906 1551.9356,1172.2344 Q1552.8575,1172.5781 1553.7481,1172.5781 Q1554.6544,1172.5781 1555.1544,1172.1641 Q1555.6544,1171.75 1555.6544,1171.0156 Q1555.6544,1170.4531 1555.3184,1170.0391 Q1554.9825,1169.625 1554.3575,1169.375 L1553.1544,1168.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="96" x="1574.17" y="1172.5137">urt_frtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1502.42" x2="1709.42" y1="1184.3594" y2="1184.3594"/><ellipse cx="1512.42" cy="1196.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="1521.42" y="1198.5698">deadlineOffset : urt_delay_t</text><ellipse cx="1512.42" cy="1209.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="1521.42" y="1211.3745">expectedRate : urt_delay_t</text><ellipse cx="1512.42" cy="1221.8711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="1521.42" y="1224.1792">qosTimer : urt_osTimer_t</text><ellipse cx="1512.42" cy="1234.6758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="1521.42" y="1236.9839">callback : urt_osTimerCallback_t</text><ellipse cx="1512.42" cy="1247.4805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="1521.42" y="1249.7886">cbparams : void*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1502.42" x2="1709.42" y1="1256.3828" y2="1256.3828"/><!--class urt_srtparams_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="73.6094" id="urt_srtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="322" x="1143.92" y="1171.3594"/><ellipse cx="1251.17" cy="1187.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1250.6544,1187.9219 Q1248.795,1187.2188 1248.1466,1186.4453 Q1247.4981,1185.6719 1247.4981,1184.3594 Q1247.4981,1182.6719 1248.5763,1181.7031 Q1249.6544,1180.7344 1251.5294,1180.7344 Q1252.3888,1180.7344 1253.2403,1180.9297 Q1254.0919,1181.125 1254.9356,1181.5156 L1254.9356,1183.9063 Q1254.1544,1183.3438 1253.3341,1183.0547 Q1252.5138,1182.7656 1251.7169,1182.7656 Q1250.8419,1182.7656 1250.3653,1183.125 Q1249.8888,1183.4844 1249.8888,1184.1406 Q1249.8888,1184.6563 1250.2325,1184.9922 Q1250.5763,1185.3281 1251.67,1185.7344 L1252.7325,1186.1406 Q1254.2169,1186.6875 1254.9278,1187.5938 Q1255.6388,1188.5 1255.6388,1189.875 Q1255.6388,1191.75 1254.5294,1192.6719 Q1253.42,1193.5938 1251.17,1193.5938 Q1250.2481,1193.5938 1249.3263,1193.375 Q1248.4044,1193.1563 1247.545,1192.7344 L1247.545,1190.2031 Q1248.5138,1190.8906 1249.4356,1191.2344 Q1250.3575,1191.5781 1251.2481,1191.5781 Q1252.1544,1191.5781 1252.6544,1191.1641 Q1253.1544,1190.75 1253.1544,1190.0156 Q1253.1544,1189.4531 1252.8184,1189.0391 Q1252.4825,1188.625 1251.8575,1188.375 L1250.6544,1187.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="99" x="1271.67" y="1191.5137">urt_srtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1144.92" x2="1464.92" y1="1203.3594" y2="1203.3594"/><ellipse cx="1154.92" cy="1215.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="1163.92" y="1217.5698">params : void*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1144.92" x2="1464.92" y1="1224.1641" y2="1224.1641"/><ellipse cx="1154.92" cy="1236.0664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="296" x="1163.92" y="1238.3745">*usefulness (dt : urt_delay_t, params : void*) : float</text><!--class urt_nrtparams_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="48" id="urt_nrtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="757.921" y="1184.3594"/><ellipse cx="772.921" cy="1200.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M772.4054,1200.9219 Q770.546,1200.2188 769.8976,1199.4453 Q769.2491,1198.6719 769.2491,1197.3594 Q769.2491,1195.6719 770.3273,1194.7031 Q771.4054,1193.7344 773.2804,1193.7344 Q774.1398,1193.7344 774.9913,1193.9297 Q775.8429,1194.125 776.6866,1194.5156 L776.6866,1196.9063 Q775.9054,1196.3438 775.0851,1196.0547 Q774.2648,1195.7656 773.4679,1195.7656 Q772.5929,1195.7656 772.1163,1196.125 Q771.6398,1196.4844 771.6398,1197.1406 Q771.6398,1197.6563 771.9835,1197.9922 Q772.3273,1198.3281 773.421,1198.7344 L774.4835,1199.1406 Q775.9679,1199.6875 776.6788,1200.5938 Q777.3898,1201.5 777.3898,1202.875 Q777.3898,1204.75 776.2804,1205.6719 Q775.171,1206.5938 772.921,1206.5938 Q771.9991,1206.5938 771.0773,1206.375 Q770.1554,1206.1563 769.296,1205.7344 L769.296,1203.2031 Q770.2648,1203.8906 771.1866,1204.2344 Q772.1085,1204.5781 772.9991,1204.5781 Q773.9054,1204.5781 774.4054,1204.1641 Q774.9054,1203.75 774.9054,1203.0156 Q774.9054,1202.4531 774.5694,1202.0391 Q774.2335,1201.625 773.6085,1201.375 L772.4054,1200.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="786.921" y="1204.5137">urt_nrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="758.921" x2="888.921" y1="1216.3594" y2="1216.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="758.921" x2="888.921" y1="1224.3594" y2="1224.3594"/><!--class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="418" x="2382.92" y="769.8594"/><ellipse cx="2509.67" cy="785.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2510.5138,792.6094 L2508.0606,792.6094 L2508.0606,782.3594 L2504.92,782.3594 L2504.92,780.2188 L2513.6544,780.2188 L2513.6544,782.3594 L2510.5138,782.3594 L2510.5138,792.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="2530.17" y="790.0137">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2383.92" x2="2799.92" y1="801.8594" y2="801.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2383.92" x2="2799.92" y1="809.8594" y2="809.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="406" x="2388.92" y="824.0698">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_status_t</text><!--class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#fx5q9amszycal)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="576" x="2835.92" y="769.8594"/><ellipse cx="3045.17" cy="785.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3046.0138,792.6094 L3043.5606,792.6094 L3043.5606,782.3594 L3040.42,782.3594 L3040.42,780.2188 L3049.1544,780.2188 L3049.1544,782.3594 L3046.0138,782.3594 L3046.0138,792.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="3065.67" y="790.0137">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2836.92" x2="3410.92" y1="801.8594" y2="801.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2836.92" x2="3410.92" y1="809.8594" y2="809.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="564" x="2841.92" y="824.0698">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_status_t</text><!--link urt_osCondvar_t to urt_osMutex_t--><path d="M4763,1258.0844 C4832.84,1314.2304 4957.26,1403.3164 5081.92,1438.8594 C5203.26,1473.4544 7232.33,1418.7634 7352.92,1455.8594 C7393.12,1468.2244 7432.5,1493.5574 7463.13,1517.1094 " fill="none" id="urt_osCondvar_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7467.2,1520.2694,7462.5505,1511.5871,7463.2529,1517.2002,7457.6398,1517.9025,7467.2,1520.2694" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osCondvar_t to urt_delay_t--><path d="M4648.44,1258.0164 C4578.45,1313.8684 4454.13,1402.4474 4329.92,1438.8594 C4248.65,1462.6824 3652.57,1453.2294 3567.92,1455.8594 C2446.28,1490.7064 1075.96,1552.9394 786.296,1566.2924 " fill="none" id="urt_osCondvar_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="781.287,1566.5234,790.4614,1570.1052,786.2817,1566.2934,790.0935,1562.1137,781.287,1566.5234" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osCondvar_t to urt_condvarStatus_t--><path d="M4705.92,1258.2174 C4705.92,1327.4464 4705.92,1453.2524 4705.92,1521.5984 " fill="none" id="urt_osCondvar_t-urt_condvarStatus_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4705.92,1526.8214,4709.92,1517.8214,4705.92,1521.8214,4701.92,1517.8214,4705.92,1526.8214" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_delay_t--><path d="M3583.3,1250.2054 C2823.04,1335.1374 1114.94,1525.9584 786.23,1562.6804 " fill="none" id="urt_osTimer_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="781.026,1563.2624,790.414,1566.2399,785.9952,1562.708,789.527,1558.2892,781.026,1563.2624" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_status_t--><path d="M3583.08,1257.0034 C3143.34,1311.9864 2382.62,1399.8334 1726.92,1438.8594 C1667.91,1442.3714 716.629,1431.1524 662.921,1455.8594 C632.661,1469.7794 607.792,1497.7464 590.423,1522.3734 " fill="none" id="urt_osTimer_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="587.484,1526.6104,595.9004,1521.4952,590.3338,1522.502,589.327,1516.9355,587.484,1526.6104" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_osTimerCallback_t--><path d="M3933.84,1258.2174 C3911.07,1331.9374 3868.5,1469.8114 3848.64,1534.1424 " fill="none" id="urt_osTimer_t-urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="3847.13,1539.0184,3853.6086,1531.6003,3848.6061,1534.2412,3845.9652,1529.2386,3847.13,1539.0184" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadPrio_t--><path d="M5258.12,1439.0714 C5231.25,1480.0084 5206.84,1517.1894 5191.1,1541.1594 " fill="none" id="urt_osThread_t-urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5188.27,1545.4794,5196.5498,1540.146,5191.0115,1541.2979,5189.8595,1535.7596,5188.27,1545.4794" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadFunction_t--><path d="M5408.92,1439.0714 C5408.92,1476.1724 5408.92,1510.1884 5408.92,1534.0814 " fill="none" id="urt_osThread_t-urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5408.92,1539.3254,5412.92,1530.3254,5408.92,1534.3254,5404.92,1530.3254,5408.92,1539.3254" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osTime_t--><path d="M5715.7,1391.1894 C5760.15,1410.6874 5806.32,1427.5244 5851.92,1438.8594 C5950.97,1463.4784 7592.44,1422.5644 7688.92,1455.8594 C7731.44,1470.5324 7771.33,1502.8514 7798.81,1529.1824 " fill="none" id="urt_osThread_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7802.43,1532.6914,7798.7388,1523.5604,7798.8349,1529.2164,7793.1789,1529.3125,7802.43,1532.6914" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadTerminateSignal_t--><path d="M5589.11,1439.0714 C5616.15,1473.5444 5641.11,1505.3534 5659.54,1528.8534 " fill="none" id="urt_osThread_t-urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5662.67,1532.8474,5660.2543,1523.2994,5659.5806,1528.916,5653.964,1528.2424,5662.67,1532.8474" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osEventListener_t to urt_osEventFlags_t--><path d="M6976.67,1612.8774 C6929.92,1629.7384 6875.04,1648.9134 6824.92,1664.8594 C6782.8,1678.2594 6735.43,1691.7594 6696.44,1702.4584 " fill="none" id="urt_osEventListener_t-urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6691.25,1703.8824,6700.985,1705.3753,6696.0741,1702.5678,6698.8817,1697.6568,6691.25,1703.8824" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osEventSource_t to urt_osEventFlags_t--><path d="M6253.5,1606.9184 C6307.66,1624.4174 6373.68,1645.7414 6432.92,1664.8594 C6467.89,1676.1454 6506.63,1688.6354 6539.42,1699.2064 " fill="none" id="urt_osEventSource_t-urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6544.22,1700.7514,6536.8746,1694.1905,6539.4596,1699.2222,6534.4279,1701.8072,6544.22,1700.7514" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventSource_t--><path d="M6223.98,1251.6554 C6206.01,1321.1194 6170.47,1458.5144 6152.64,1527.4164 " fill="none" id="urt_events-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6151.29,1532.6604,6157.4145,1524.9474,6152.5409,1527.8194,6149.6689,1522.9458,6151.29,1532.6604" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventListener_t--><path d="M6285,1251.3874 C6352.83,1305.5704 6479.93,1397.7044 6605.92,1438.8594 C6698.72,1469.1734 6730.1,1432.6274 6824.92,1455.8594 C6887.76,1471.2544 6954.75,1499.9394 7005.65,1524.5554 " fill="none" id="urt_events-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7010.22,1526.7724,7003.8739,1519.2406,7005.723,1524.5867,7000.3769,1526.4358,7010.22,1526.7724" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventMask_t--><path d="M6269.04,1251.6554 C6329.26,1326.3014 6452.75,1479.3924 6502.96,1541.6374 " fill="none" id="urt_events-urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6506.16,1545.6044,6503.6145,1536.0902,6503.0174,1541.7154,6497.3921,1541.1184,6506.16,1545.6044" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_status_t--><path d="M6181.6,1251.4274 C6107.36,1307.0474 5966.34,1402.2784 5827.92,1438.8594 C5758.57,1457.1884 728.281,1426.2924 662.921,1455.8594 C632.461,1469.6384 607.519,1497.7614 590.163,1522.5024 " fill="none" id="urt_events-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="587.228,1526.7584,595.6306,1521.6206,590.0668,1522.6424,589.045,1517.0786,587.228,1526.7584" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventWaitType_t--><path d="M6312.42,1251.5514 C6392.52,1296.8964 6519.27,1373.6194 6616.92,1455.8594 C6640.73,1475.9084 6664.45,1501.1694 6683.21,1522.7204 " fill="none" id="urt_events-urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6686.65,1526.6984,6683.7723,1517.2793,6683.3729,1522.9221,6677.7302,1522.5227,6686.65,1526.6984" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_delay_t--><path d="M6181.26,1251.5794 C6106.91,1307.1344 5966.07,1402.0374 5827.92,1438.8594 C5767.26,1455.0284 3630.68,1454.3734 3567.92,1455.8594 C2446.05,1482.4144 1075.91,1551.1034 786.287,1565.9874 " fill="none" id="urt_events-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="781.279,1566.2454,790.4718,1569.7798,786.2725,1565.9896,790.0626,1561.7903,781.279,1566.2454" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_rtclass_t to urt_rtclasstype_t--><path d="M1506.92,591.4894 C1506.92,637.1594 1506.92,704.8194 1506.92,750.4194 " fill="none" id="urt_rtclass_t-urt_rtclasstype_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1506.92,578.3694,1502.92,584.3694,1506.92,590.3694,1510.92,584.3694,1506.92,578.3694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1498.2325" y="598.1314">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1498.3825" y="739.762">1</text><!--link urt_rtclass_t to urt_rtclassparams_t--><path d="M1470.37,588.8694 C1434.47,634.5394 1379.93,703.9294 1343.39,750.4194 " fill="none" id="urt_rtclass_t-urt_rtclassparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1478.62,578.3694,1471.7654,580.6088,1471.1962,587.7974,1478.0508,585.558,1478.62,578.3694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1465.0684" y="598.1314">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1340.0219" y="739.762">1</text><!--link urt_rtclassparams_t to urt_hrtparams_t--><path d="M1214.68,830.8014 C1183,844.9664 1149.48,864.8764 1125.92,891.8594 C1055.89,972.0794 1030.24,1099.6844 1021.33,1165.3224 " fill="none" id="urt_rtclassparams_t-urt_hrtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1226.71,825.6514,1219.6188,824.3419,1215.6826,830.384,1222.7739,831.6935,1226.71,825.6514" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1210.8744" y="824.41">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1023.9452" y="1154.3125">0..1</text><!--link urt_rtclassparams_t to urt_frtparams_t--><path d="M1367.38,857.8954 C1381.51,868.0724 1397.05,877.4644 1412.92,883.8594 C1441.97,895.5634 1458.11,872.7494 1482.92,891.8594 C1564.65,954.8264 1592.13,1079.7364 1601.33,1152.0674 " fill="none" id="urt_rtclassparams_t-urt_frtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1356.86,849.9954,1359.2513,856.7984,1366.4508,857.2076,1364.0595,850.4046,1356.86,849.9954" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1355.6016" y="870.091">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1575.3081" y="1141.3663">0..1</text><!--link urt_rtclassparams_t to urt_srtparams_t--><path d="M1304.92,863.1194 C1304.92,949.0264 1304.92,1101.8374 1304.92,1171.2574 " fill="none" id="urt_rtclassparams_t-urt_srtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1304.92,849.9294,1300.92,855.9294,1304.92,861.9294,1308.92,855.9294,1304.92,849.9294" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1296.3575" y="870.0157">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1278.7825" y="1160.4262">0..1</text><!--link urt_rtclassparams_t to urt_nrtparams_t--><path d="M1213.91,811.1834 C1110.65,824.1514 950.981,850.3254 907.921,891.8594 C824.491,972.3324 820.751,1125.5664 822.622,1183.9624 " fill="none" id="urt_rtclassparams_t-urt_nrtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1226.83,809.5914,1220.3834,806.3601,1214.9212,811.0681,1221.3678,814.2993,1226.83,809.5914" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1211.0058" y="806.8171">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="795.3804" y="1173.2706">0..1</text><!--link urt_hrtparams_t to urt_delay_t--><path d="M1003.628,1251.7904 C986.809,1300.6884 954.215,1381.6474 906.921,1438.8594 C873.081,1479.7954 823.706,1514.7944 785.86,1538.1294 " fill="none" id="urt_hrtparams_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="781.303,1540.9174,791.0675,1539.6307,785.5676,1538.3072,786.8911,1532.8073,781.303,1540.9174" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_hrtparams_t to urt_osTimer_t--><path d="M1020.21,1152.0084 C1027.49,1080.7564 1050.89,959.2684 1125.92,891.8594 C1131.86,886.5274 1135.49,888.7544 1143.42,887.8594 C1174.67,884.3334 1678.06,885.6264 1709.42,887.8594 C2430.53,939.1974 3272.41,1082.3954 3688.61,1158.8204 " fill="none" id="urt_hrtparams_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1018.99,1165.1304,1023.5268,1159.5253,1020.0978,1153.1816,1015.561,1158.7867,1018.99,1165.1304" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1010.6943" y="1154.4079">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3643.4414" y="1147.8601">1</text><!--link urt_frtparams_t to urt_delay_t--><path d="M1591.67,1264.3714 C1574.86,1317.7184 1541.49,1396.6064 1482.92,1438.8594 C1370.69,1519.8284 940.89,1555.2174 786.528,1565.4994 " fill="none" id="urt_frtparams_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="781.154,1565.8544,790.3984,1569.2516,786.1431,1565.5243,789.8703,1561.269,781.154,1565.8544" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_frtparams_t to urt_osTimer_t--><path d="M1723.86,1208.3594 C2343.69,1208.3594 2963.51,1208.3594 3583.34,1208.3594 " fill="none" id="urt_frtparams_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1710.6,1208.3594,1716.6,1212.3594,1722.6,1208.3594,1716.6,1204.3594,1710.6,1208.3594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1718.5812" y="1204.8795">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3567.8329" y="1205.2731">1</text><!--link urt_frtparams_t to urt_osTimerCallback_t--><path d="M1723.68,1228.3264 C2101.55,1289.1884 3282.78,1479.4454 3694.59,1545.7734 " fill="none" id="urt_frtparams_t-urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1710.58,1226.2164,1715.8661,1231.1212,1722.4267,1228.1282,1717.1406,1223.2234,1710.58,1226.2164" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1718.5597" y="1224.0479">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3678.9933" y="1541.2201">1</text><!--link urt_srtparams_t to urt_delay_t--><path d="M1285.92,1245.4534 C1257.61,1295.8544 1199.69,1386.9544 1125.92,1438.8594 C1019.47,1513.7624 867.044,1547.6414 786.197,1561.1284 " fill="none" id="urt_srtparams_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="780.977,1561.9874,790.5075,1564.4713,785.9105,1561.1746,789.2071,1556.5777,780.977,1561.9874" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_message_t to urt_message_t--><path d="M2341.49,766.8794 C2355.82,774.8394 2364.42,785.9994 2364.42,800.3594 C2364.42,818.3744 2350.87,831.3574 2329.45,839.3094 " fill="none" id="urt_message_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2329.45,761.4094,2333.2592,767.5323,2340.3762,766.371,2336.567,760.2481,2329.45,761.4094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2337.6987" y="756.805">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2337.244" y="837.4064">0..1</text><!--link urt_message_t to urt_osTime_t--><path d="M2342.48,879.5614 C2350.69,881.1734 2358.85,882.6164 2366.92,883.8594 C2384.37,886.5464 7437.52,881.6494 7451.92,891.8594 C7662.25,1040.9334 7465.34,1253.8984 7644.92,1438.8594 C7659.52,1453.9004 7670.65,1445.5884 7688.92,1455.8594 C7727.65,1477.6234 7767.34,1508.7604 7795.7,1532.8394 " fill="none" id="urt_message_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2329.56,876.8944,2334.6273,882.0249,2341.3121,879.3208,2336.2449,874.1902,2329.56,876.8944" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2337.0951" y="891.7169">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7779.5469" y="1521.7461">1</text><!--link urt_message_t to urt_osMutex_t--><path d="M2342.48,879.5614 C2350.69,881.1734 2358.85,882.6164 2366.92,883.8594 C2384.03,886.4944 7339.29,881.1914 7352.92,891.8594 C7403.61,931.5144 7486.59,1371.8094 7513.33,1520.2954 " fill="none" id="urt_message_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2329.56,876.8944,2334.6273,882.0249,2341.3121,879.3208,2336.2449,874.1902,2329.56,876.8944" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2337.0951" y="876.2247">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7503.5595" y="1509.3316">1</text><!--link urt_message_t to urt_osCondvar_t--><path d="M2342.49,879.5354 C2350.69,881.1544 2358.85,882.6064 2366.92,883.8594 C2393.86,888.0424 4304.32,882.4824 4329.92,891.8594 C4476.75,945.6394 4606.27,1084.4244 4667.86,1158.7194 " fill="none" id="urt_message_t-urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2329.56,876.8574,2334.6272,881.9881,2341.3121,879.284,2336.2449,874.1533,2329.56,876.8574" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2337.1441" y="894.8265">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4653.9453" y="1147.7449">1</text><!--link urt_subscriber_t to urt_subscriber_t--><path d="M1956.41,213.2694 C1971.06,221.4494 1979.42,231.6494 1979.42,243.8594 C1979.42,259.0394 1966.51,271.0994 1944.66,280.0494 " fill="none" id="urt_subscriber_t-urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1944.66,207.6694,1948.3571,213.8606,1955.4941,212.8291,1951.7969,206.6379,1944.66,207.6694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1952.0462" y="203.9859">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1952.1837" y="277.6099">0..1</text><!--link urt_subscriber_t to urt_topic_t--><path d="M1729.44,372.4094 C1760.24,390.1294 1791.99,408.2394 1822.85,425.6994 " fill="none" id="urt_subscriber_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1718.13,365.8994,1721.332,372.3606,1728.5277,371.89,1725.3257,365.4287,1718.13,365.8994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1722.0256" y="385.862">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1784.4315" y="414.8721">0..1</text><!--link urt_topic_t to urt_subscriber_t--><path d="M1836.91,418.9994 C1806.49,401.4694 1774.92,383.4294 1744,365.8994 " fill="none" id="urt_topic_t-urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1848.5,425.6994,1845.3041,419.2351,1838.108,419.6989,1841.3038,426.1631,1848.5,425.6994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1828.2372" y="414.8721">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1734.015" y="385.862">0..*</text><!--link urt_subscriber_t to urt_osEventListener_t--><path d="M1957.64,362.3494 C1965.11,363.5894 1972.54,364.7594 1979.92,365.8594 C2657.86,466.7894 2836.61,387.1494 3520.92,425.8594 C4393.03,475.1894 6650.59,344.8394 7440.92,716.8594 C7739.01,857.1754 7834.39,1198.6344 7608.92,1438.8594 C7588.5,1460.6154 7369.88,1448.6744 7340.92,1455.8594 C7278.77,1471.2794 7212.91,1501.5164 7164.26,1526.8354 " fill="none" id="urt_subscriber_t-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1944.59,360.1294,1949.8374,365.0756,1956.4213,362.1342,1951.174,357.188,1944.59,360.1294" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1951.975" y="359.0663">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7167.4704" y="1515.8276">1</text><!--link urt_subscriber_t to urt_rtclass_t--><path d="M1513.47,379.0994 C1511.61,424.9594 1509.67,472.5694 1508.39,504.0594 " fill="none" id="urt_subscriber_t-urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1514.01,365.8994,1509.7693,371.7317,1513.522,377.8894,1517.7627,372.0571,1514.01,365.8994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1505.467" y="385.862">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1499.9393" y="493.1929">1</text><!--link urt_subscriber_t to urt_message_t--><path d="M1691.74,376.1294 C1705.17,391.6994 1717.24,408.3294 1726.92,425.8594 C1777.16,516.8094 1698.82,575.0794 1762.92,656.8594 C1792.61,694.7294 1834.17,722.6494 1878.1,743.1894 " fill="none" id="urt_subscriber_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1682.74,366.0594,1683.7561,373.1985,1690.7369,375.0064,1689.7208,367.8673,1682.74,366.0594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1684.479" y="386.0318">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1846.2965" y="738.1325">0..1</text><!--link urt_subscriber_t to urt_osTime_t--><path d="M1957.6,362.5694 C1965.09,363.7394 1972.53,364.8394 1979.92,365.8594 C2737.09,470.2994 4656.79,367.8594 5418.92,425.8594 C6380.85,499.0694 6740.94,223.4494 7569.92,716.8594 C7862.2,890.8224 7848.82,1392.8324 7839.07,1532.4474 " fill="none" id="urt_subscriber_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1944.55,360.4694,1949.8357,365.3747,1956.3966,362.3822,1951.1109,357.477,1944.55,360.4694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1951.9343" y="374.6699">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7830.9239" y="1521.84">1</text><!--link urt_subscriber_t to urt_delay_t--><path d="M1080.51,364.8794 C1078.98,365.2094 1077.45,365.5394 1075.92,365.8594 C988.626,384.3094 737.107,358.2194 678.921,425.8594 C397.814,752.6394 630.634,1346.6954 708.096,1520.1124 " fill="none" id="urt_subscriber_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1093.28,362.1194,1086.5686,359.4818,1081.5526,364.6625,1088.264,367.3001,1093.28,362.1194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1077.8956" y="361.0905">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="696.3237" y="1509.1229">2</text><!--link urt_subscriber_t to urt_status_t--><path d="M1093.34,362.4094 C1087.5,363.5894 1081.69,364.7394 1075.92,365.8594 C962.147,387.8594 652.877,359.4394 557.921,425.8594 C179.279,690.7094 17.8076,1092.7224 323.921,1438.8594 C344.39,1462.0054 434.543,1441.5364 461.921,1455.8594 C491.123,1471.1364 515.928,1498.5154 533.648,1522.4964 " fill="none" id="urt_subscriber_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="536.651,1526.6214,534.5884,1516.9909,533.7084,1522.5789,528.1204,1521.699,536.651,1526.6214" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_subscriber_t to urt_topicid_t--><path d="M1093.39,362.7094 C1087.54,363.7994 1081.71,364.8494 1075.92,365.8594 C907.049,395.2394 445.989,325.6594 306.921,425.8594 C-31.5844,669.7694 240.178,1281.0434 349.545,1494.1634 " fill="none" id="urt_subscriber_t-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="351.939,1498.8154,351.3762,1488.9826,349.6505,1494.3698,344.2633,1492.6442,351.939,1498.8154" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_topic_t--><path d="M2293.44,317.1994 C2255.75,349.8594 2210.31,389.2394 2168.16,425.7594 " fill="none" id="urt_publisher_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2303.35,308.6194,2296.1959,309.5246,2294.28,316.4765,2301.434,315.5713,2303.35,308.6194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2287.3506" y="328.1538">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2168.3754" y="414.9359">1</text><!--link urt_publisher_t to urt_message_t--><path d="M2372.2,308.3994 C2363.71,416.6494 2345.07,627.9994 2326.92,656.8594 C2313.39,678.3694 2295.3,697.2394 2275.24,713.5994 " fill="none" id="urt_publisher_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2271.21,716.8394,2280.7332,714.3278,2275.1102,713.7107,2275.7273,708.0876,2271.21,716.8394" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_osTime_t--><path d="M2756.46,250.0894 C4001.89,268.1394 7889.97,331.9194 7980.92,425.8594 C8137.51,587.5894 8072.7,1233.3074 7980.92,1438.8594 C7964.23,1476.2344 7930.9,1507.3334 7900.4,1529.7324 " fill="none" id="urt_publisher_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7896.31,1532.6974,7905.9466,1530.6635,7900.3612,1529.7669,7901.2578,1524.1815,7896.31,1532.6974" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_delay_t--><path d="M2201.82,308.4394 C2133.49,330.5394 2053.93,352.9894 1979.92,365.8594 C1844.24,389.4494 837.394,326.6094 741.921,425.8594 C590.993,582.7594 690.7,1310.3464 722.283,1515.1094 " fill="none" id="urt_publisher_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="723.061,1520.1404,725.6383,1510.6347,722.2967,1515.1991,717.7323,1511.8575,723.061,1520.1404" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_status_t--><path d="M2202.33,308.3994 C2133.9,330.5594 2054.12,353.0694 1979.92,365.8594 C1835.45,390.7594 782.952,343.1394 661.921,425.8594 C284.195,683.9994 349.484,1000.0414 478.921,1438.8594 C487.868,1469.1924 506.342,1499.1114 523.693,1522.5854 " fill="none" id="urt_publisher_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="526.691,1526.5934,524.5009,1516.9911,523.6951,1522.5903,518.0959,1521.7845,526.691,1526.5934" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_topic_t to urt_topic_t--><path d="M2303.78,509.4194 C2318,517.2594 2326.42,527.9094 2326.42,541.3594 C2326.42,558.2394 2313.16,570.6994 2291.83,578.7494 " fill="none" id="urt_topic_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2291.83,503.9694,2295.627,510.0999,2302.7463,508.9529,2298.9493,502.8224,2291.83,503.9694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2299.5461" y="499.7016">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2299.7836" y="576.7017">0..1</text><!--link urt_topic_t to urt_osMutex_t--><path d="M2304.45,643.5994 C2324.39,648.7994 2344.35,653.3194 2363.92,656.8594 C2920.83,757.5194 7046.14,497.3594 7451.92,891.8594 C7626.02,1061.1224 7565.72,1394.8864 7535.15,1519.9794 " fill="none" id="urt_topic_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2291.7,640.1794,2296.4576,645.5984,2303.2896,643.291,2298.532,637.872,2291.7,640.1794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2299.4122" y="655.4007">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7528.3903" y="1509.3301">1</text><!--link urt_topic_t to urt_osEventSource_t--><path d="M2304.56,642.9794 C2324.47,648.3294 2344.4,653.0494 2363.92,656.8594 C2892.83,760.0494 3036.81,688.0694 3574.92,716.8594 C3913.33,734.9694 6387.26,645.4494 6619.92,891.8594 C6786.82,1068.6274 6783.86,1259.3404 6619.92,1438.8594 C6591.78,1469.6714 6473.54,1446.3254 6432.92,1455.8594 C6357.34,1473.5984 6275.23,1506.8674 6217.56,1532.7314 " fill="none" id="urt_topic_t-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2291.83,639.4794,2296.5556,644.9263,2303.4011,642.6591,2298.6754,637.2122,2291.83,639.4794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2299.5461" y="654.6799">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6222.3209" y="1521.8955">1</text><!--link urt_topic_t to urt_osTimer_t--><path d="M2304.59,642.8294 C2324.5,648.2094 2344.42,652.9894 2363.92,656.8594 C2596.2,702.9994 3210.33,623.3794 3427.92,716.8594 C3654.21,814.0804 3842.47,1054.8834 3915.89,1158.5804 " fill="none" id="urt_topic_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2291.86,639.3094,2296.5798,644.7613,2303.4277,642.5014,2298.7078,637.0495,2291.86,639.3094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2299.577" y="639.0595">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3902.9141" y="1147.9446">1</text><!--link urt_topic_t to urt_message_t--><path d="M2056.87,669.6994 C2061.07,685.6294 2065.53,701.5794 2070.01,716.5694 " fill="none" id="urt_topic_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2053.56,656.9594,2051.1908,663.7702,2056.5665,668.5766,2058.9357,661.7658,2053.56,656.9594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2046.4764" y="677.2926">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="2043.1076" y="705.7863">1..*</text><!--link urt_topic_t to urt_message_t--><path d="M2083.11,669.6994 C2087.34,685.6294 2091.3,701.5794 2094.73,716.5694 " fill="none" id="urt_topic_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2079.67,656.9594,2077.3718,663.7945,2082.7973,668.5447,2085.0954,661.7096,2079.67,656.9594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2074.3407" y="677.2926">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2085.5965" y="705.7863">1</text><!--link urt_topic_t to urt_topicid_t--><path d="M1767.15,647.3694 C1753.65,650.9294 1740.19,654.1294 1726.92,656.8594 C1596.8,683.5794 637.789,635.3294 532.921,716.8594 C292.402,903.8554 343.537,1330.5024 374.921,1498.7664 " fill="none" id="urt_topic_t-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1780.1,643.8394,1773.26,641.5557,1768.5213,646.9912,1775.3613,649.2749,1780.1,643.8394" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1764.3866" y="643.724">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="364.9616" y="1487.7541">1</text><!--link urt_topic_t to urt_osTime_t--><path d="M2291.65,640.4094 C2315.82,647.0094 2340.16,652.6794 2363.92,656.8594 C2884.19,748.4394 6599.08,617.5294 7117.92,716.8594 C7331.53,757.7594 7420.96,738.2394 7574.92,891.8594 C7761.42,1077.9344 7817.39,1411.8214 7831.63,1527.8184 " fill="none" id="urt_topic_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7832.24,1532.8454,7835.1301,1523.4301,7831.6395,1527.8816,7827.188,1524.3909,7832.24,1532.8454" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_topic_t to urt_status_t--><path d="M1780.06,643.6294 C1762.24,648.6794 1744.41,653.1694 1726.92,656.8594 C1512.35,702.1094 945.366,635.0094 741.921,716.8594 C630.471,761.6994 586.36,782.8294 535.921,891.8594 C435.673,1108.5594 511.373,1407.2404 547.027,1521.6594 " fill="none" id="urt_topic_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="548.59,1526.6394,549.7121,1516.8546,547.0931,1521.8687,542.079,1519.2497,548.59,1526.6394" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_topic_t--><path d="M980.075,314.0894 C1008.83,334.1594 1042.26,353.8794 1075.92,365.8594 C1349.67,463.2694 1443.58,361.4894 1726.92,425.8594 C1744.49,429.8494 1762.42,434.5994 1780.35,439.8394 " fill="none" id="urt_core_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="969.294,306.3894,971.8507,313.132,979.058,313.3654,976.5013,306.6227,969.294,306.3894" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="977.7567" y="326.1325">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1749.4214" y="433.6678">0..*</text><!--link urt_core_t to urt_node_t--><path d="M978.968,314.3994 C1007.88,334.7294 1041.69,354.5194 1075.92,365.8594 C1340.12,453.3794 2050.51,393.3194 2326.92,425.8594 C2361.67,429.9494 2397.42,434.8594 2433.35,440.3094 " fill="none" id="urt_core_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="968.136,306.5994,970.6647,313.3526,977.871,313.6157,975.3423,306.8625,968.136,306.5994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="967.597" y="326.3654">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="2372.7449" y="429.4221">0..*</text><!--link urt_core_t to urt_status_t--><path d="M733.214,258.9494 C526.453,280.6094 187.171,330.0294 110.921,425.8594 C22.2604,537.2894 51.7099,1256.5464 252.921,1438.8594 C287.452,1470.1474 420.193,1435.1184 461.921,1455.8594 C491.656,1470.6394 516.619,1498.3084 534.289,1522.5664 " fill="none" id="urt_core_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="537.282,1526.7394,535.2866,1517.0948,534.3677,1522.6765,528.786,1521.7576,537.282,1526.7394" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_topicid_t--><path d="M733.21,256.3994 C513.973,275.7094 141.471,323.0594 57.9209,425.8594 C-24.1507,526.8394 1.6902,1345.6994 65.9209,1438.8594 C125.808,1525.7184 254.056,1554.5614 330.01,1564.1264 " fill="none" id="urt_core_t-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="335.386,1564.7824,326.9369,1559.7215,330.4228,1564.1766,325.9677,1567.6626,335.386,1564.7824" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeSetupCallback_t to urt_node_t--><path d="M2622.99,769.6094 C2659.94,739.2394 2723.68,690.3394 2783.92,645.6694 " fill="none" id="urt_nodeSetupCallback_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2788.25,642.4594,2778.6363,644.5989,2784.2312,645.4341,2783.396,651.029,2788.25,642.4594" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_nodeSetupCallback_t--><path d="M2803.35,650.5094 C2746.34,693.8394 2683.02,740.3294 2640.53,769.6094 " fill="none" id="urt_node_t-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2813.92,642.4594,2806.723,642.91,2804.3709,649.7267,2811.5679,649.2761,2813.92,642.4594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2797.2013" y="662.179">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2641.7308" y="758.821">1</text><!--link urt_nodeSetupCallback_t to urt_status_t--><path d="M2533.05,830.8824 C2491.22,850.1684 2433.08,873.6104 2378.92,883.8594 C2366.84,886.1464 616.882,883.4364 607.921,891.8594 C517.356,976.9884 545.527,1381.8334 558.216,1521.4194 " fill="none" id="urt_nodeSetupCallback_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="558.698,1526.6714,561.8583,1517.3433,558.2408,1521.6923,553.8918,1518.0748,558.698,1526.6714" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeLoopCallback_t to urt_node_t--><path d="M3093.41,769.6094 C3067.7,739.4794 3030.6,691.1194 2998.54,646.7394 " fill="none" id="urt_nodeLoopCallback_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2995.45,642.4594,2997.4742,652.098,2998.3764,646.5135,3003.9609,647.4157,2995.45,642.4594" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_nodeLoopCallback_t--><path d="M3029.05,652.9394 C3061.13,695.5694 3093.18,740.8794 3110.95,769.6094 " fill="none" id="urt_node_t-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3021.13,642.4594,3021.5585,649.6577,3028.3679,652.0308,3027.9394,644.8325,3021.13,642.4594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3018.9807" y="662.179">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3099.4499" y="758.821">1</text><!--link urt_nodeLoopCallback_t to urt_osEventMask_t--><path d="M3412.16,803.5094 C4239.15,810.3634 6564.21,834.6854 6619.92,891.8594 C6704.75,978.9174 6657.64,1323.3054 6619.92,1438.8594 C6606.75,1479.2174 6575.77,1517.4444 6552.75,1541.8644 " fill="none" id="urt_nodeLoopCallback_t-urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6549.12,1545.6634,6558.2277,1541.9151,6552.5724,1542.0466,6552.4409,1536.3913,6549.12,1545.6634" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeLoopCallback_t to urt_status_t--><path d="M3038.09,830.9214 C2977.42,850.2254 2893.72,873.6724 2817.92,883.8594 C2803.63,885.7794 753.292,882.9974 741.921,891.8594 C543.989,1046.1244 669.101,1197.0714 601.921,1438.8594 C594.233,1466.5284 585.026,1497.3174 577.489,1521.9834 " fill="none" id="urt_nodeLoopCallback_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="576.004,1526.8324,582.4647,1519.3987,577.4685,1522.0517,574.8155,1517.0555,576.004,1526.8324" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_node_t--><path d="M3498.34,517.5094 C3512.81,524.1294 3520.92,532.0694 3520.92,541.3594 C3520.92,553.0094 3508.15,562.5594 3486.06,569.9994 " fill="none" id="urt_node_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3486.06,512.7194,3490.1949,518.6273,3497.2386,517.0827,3493.1038,511.1748,3486.06,512.7194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3493.8807" y="509.2814">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3493.9932" y="582.5778">0..1</text><!--link urt_node_t to urt_osThread_t--><path d="M3498.98,599.1094 C4032.47,659.1594 4789.54,762.9994 5057.92,891.8594 C5104.27,914.1134 5148.99,944.4144 5190.09,977.4794 " fill="none" id="urt_node_t-urt_osThread_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3486.02,597.6494,3491.5337,602.2969,3497.9443,598.9948,3492.4306,594.3473,3486.02,597.6494" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3493.8402" y="595.4057">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5174.7784" y="966.7275">1</text><!--link urt_node_t to urt_osEventMask_t--><path d="M3499.29,552.1994 C4559.46,572.6794 6770.13,625.7094 7108.92,716.8594 C7270.37,760.2994 7355.46,748.7594 7441.92,891.8594 C7567.64,1099.9434 7612.05,1265.1924 7441.92,1438.8594 C7409.84,1471.6074 6658.12,1435.7524 6616.92,1455.8594 C6578.27,1474.7224 6550.38,1518.3634 6536.01,1545.5564 " fill="none" id="urt_node_t-urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3486.09,551.9394,3492.0096,556.0574,3498.0876,552.177,3492.168,548.0589,3486.09,551.9394" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3493.9111" y="549.0529">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6529.7382" y="1534.8875">1</text><!--link urt_node_t to urt_osEventWaitType_t--><path d="M3499.35,545.7994 C4599.4,555.2894 6950.55,590.2794 7297.92,716.8594 C7613.84,831.9764 7758.77,1198.2274 7523.92,1438.8594 C7496.79,1466.6584 6860.3,1439.8224 6824.92,1455.8594 C6792.26,1470.6644 6765.21,1501.1044 6746.89,1526.6644 " fill="none" id="urt_node_t-urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3486.07,545.6894,3492.0346,549.742,3498.0695,545.7949,3492.1049,541.7423,3486.07,545.6894" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3493.8909" y="557.926">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6742.2542" y="1515.9471">1</text><!--link urt_node_t to urt_osThreadTerminateSignal_t--><path d="M3485.95,545.1094 C4613.19,556.4794 7095.47,613.2394 7352.92,891.8594 C7517.91,1070.4134 7523.85,1265.9834 7352.92,1438.8594 C7323.6,1468.5104 5891.61,1443.0734 5851.92,1455.8594 C5806.5,1470.4904 5762.7,1502.8134 5732.28,1529.1564 " fill="none" id="urt_node_t-urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5728.27,1532.6664,5737.6807,1529.7615,5732.0369,1529.3784,5732.42,1523.7345,5728.27,1532.6664" style="stroke: #A80036; stroke-width: 1.0;"/><!--
1
<?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="1905px" preserveAspectRatio="none" style="width:9314px;height:1905px;" version="1.1" viewBox="0 0 9314 1905" width="9314px" zoomAndPan="magnify"><defs><filter height="300%" id="f13anogsv9jdn" 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="4590.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="87" x="4591.5" y="37.6611">Overview</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="4638" y="58.6143"/><!--cluster primitives--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="117.951,1450.8594,200.951,1450.8594,207.951,1473.1563,1037.95,1473.1563,1037.95,1761.8594,117.951,1761.8594,117.951,1450.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="117.951" x2="207.951" y1="1473.1563" y2="1473.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="121.951" y="1465.8545">primitives</text><!--cluster interfaces--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="3584.95,886.8594,3670.95,886.8594,3677.95,909.1563,8863.95,909.1563,8863.95,1893.8594,3584.95,1893.8594,3584.95,886.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="3584.95" x2="3677.95" y1="909.1563" y2="909.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="3588.95" y="901.8545">interfaces</text><!--cluster condition variable--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="4829.95,1110.8594,4975.95,1110.8594,4982.95,1133.1563,5533.95,1133.1563,5533.95,1674.8594,4829.95,1674.8594,4829.95,1110.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4829.95" x2="4982.95" y1="1133.1563" y2="1133.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="4833.95" y="1125.8545">condition variable</text><!--cluster timer--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="4043.95,1110.8594,4090.95,1110.8594,4097.95,1133.1563,4805.95,1133.1563,4805.95,1662.3594,4043.95,1662.3594,4043.95,1110.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4043.95" x2="4097.95" y1="1133.1563" y2="1133.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="4047.95" y="1125.8545">timer</text><!--cluster thread--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="5557.95,929.8594,5615.95,929.8594,5622.95,952.1563,6564.95,952.1563,6564.95,1694.3594,5557.95,1694.3594,5557.95,929.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5557.95" x2="5622.95" y1="952.1563" y2="952.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="5561.95" y="944.8545">thread</text><!--cluster events--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="6588.95,1117.3594,6648.95,1117.3594,6655.95,1139.6563,8235.95,1139.6563,8235.95,1869.8594,6588.95,1869.8594,6588.95,1117.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="6588.95" x2="6655.95" y1="1139.6563" y2="1139.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="6592.95" y="1132.3545">events</text><!--cluster middleware--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="887.951,86.8594,985.951,86.8594,992.951,109.1563,3560.95,109.1563,3560.95,1291.3594,887.951,1291.3594,887.951,86.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="887.951" x2="992.951" y1="109.1563" y2="109.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="92" x="891.951" y="101.8545">middleware</text><!--cluster real-time class--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="911.951,462.8594,1032.951,462.8594,1039.951,485.1563,1895.95,485.1563,1895.95,1267.3594,911.951,1267.3594,911.951,462.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="911.951" x2="1039.951" y1="485.1563" y2="485.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="115" x="915.951" y="477.8545">real-time class</text><!--cluster node--><polygon fill="#FFFFFF" filter="url(#f13anogsv9jdn)" points="1919.95,721.8594,1965.95,721.8594,1972.95,744.1563,3056.95,744.1563,3056.95,833.8594,1919.95,833.8594,1919.95,721.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1919.95" x2="1972.95" y1="744.1563" y2="744.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="1923.95" y="736.8545">node</text><!--class urt_delay_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="921.951" y="1566.3594"/><ellipse cx="936.951" cy="1582.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M937.7948,1589.1094 L935.3416,1589.1094 L935.3416,1578.8594 L932.201,1578.8594 L932.201,1576.7188 L940.9354,1576.7188 L940.9354,1578.8594 L937.7948,1578.8594 L937.7948,1589.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="950.951" y="1586.5137">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="922.951" x2="1020.951" y1="1598.3594" y2="1598.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="927.951" y="1629.3745">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="922.951" x2="955.451" y1="1612.7617" y2="1612.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="955.451" y="1616.0698">either</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="988.451" x2="1020.951" y1="1612.7617" y2="1612.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="927.951" y="1658.9839">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="922.951" x2="965.951" y1="1642.3711" y2="1642.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="965.951" y="1645.6792">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="977.951" x2="1020.951" y1="1642.3711" y2="1642.3711"/><!--class urt_status_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="86.4141" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="166" x="720.951" y="1572.8594"/><ellipse cx="762.501" cy="1588.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M766.6104,1594.8594 L758.8916,1594.8594 L758.8916,1582.4688 L766.6104,1582.4688 L766.6104,1584.625 L761.3448,1584.625 L761.3448,1587.2969 L766.1104,1587.2969 L766.1104,1589.4531 L761.3448,1589.4531 L761.3448,1592.7031 L766.6104,1592.7031 L766.6104,1594.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="782.401" y="1593.0137">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.951" x2="885.951" y1="1604.8594" y2="1604.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="726.951" y="1619.0698">URT_STATUS_OK = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="154" x="726.951" y="1631.8745">URT_STATUS_WARNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="726.951" y="1644.6792">URT_STATUS_ERROR = -1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.951" x2="885.951" y1="1651.2734" y2="1651.2734"/><!--class urt_topicid_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="141.6328" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="576.451" y="1544.8594"/><ellipse cx="591.451" cy="1560.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M592.2948,1567.6094 L589.8416,1567.6094 L589.8416,1557.3594 L586.701,1557.3594 L586.701,1555.2188 L595.4354,1555.2188 L595.4354,1557.3594 L592.2948,1557.3594 L592.2948,1567.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="605.451" y="1565.0137">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="577.451" x2="684.451" y1="1576.8594" y2="1576.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="582.451" y="1591.0698">uin8_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="582.451" y="1620.6792">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="577.451" x2="624.951" y1="1604.0664" y2="1604.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="624.951" y="1607.3745">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="636.951" x2="684.451" y1="1604.0664" y2="1604.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="582.451" y="1650.2886">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="577.451" x2="624.951" y1="1633.6758" y2="1633.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="624.951" y="1636.9839">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="636.951" x2="684.451" y1="1633.6758" y2="1633.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="582.451" y="1679.8979">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="577.451" x2="624.951" y1="1663.2852" y2="1663.2852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="624.951" y="1666.5933">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="636.951" x2="684.451" y1="1663.2852" y2="1663.2852"/><!--class urt_debug--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="60.8047" id="urt_debug" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="296.451" y="1585.3594"/><ellipse cx="382.701" cy="1601.3594" fill="#FFFFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M386.9354,1597.125 L381.6541,1597.125 L381.6541,1599.7969 L386.451,1599.7969 L386.451,1601.9531 L381.6541,1601.9531 L381.6541,1607.3594 L379.2166,1607.3594 L379.2166,1594.9688 L386.9354,1594.9688 L386.9354,1597.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="403.201" y="1605.5137">urt_debug</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="297.451" x2="540.451" y1="1617.3594" y2="1617.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="297.451" x2="540.451" y1="1625.3594" y2="1625.3594"/><ellipse cx="307.451" cy="1637.2617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="219" x="316.451" y="1639.5698">urtDebugAssert(condition : bool) : void</text><!--class urt_nodesync_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="260.0703" id="urt_nodesync_t" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="134.451" y="1485.8594"/><ellipse cx="149.451" cy="1501.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M150.2948,1508.6094 L147.8416,1508.6094 L147.8416,1498.3594 L144.701,1498.3594 L144.701,1496.2188 L153.4354,1496.2188 L153.4354,1498.3594 L150.2948,1498.3594 L150.2948,1508.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="163.451" y="1506.0137">urt_nodesync_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="135.451" x2="260.451" y1="1517.8594" y2="1517.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="140.451" y="1532.0698">uin8_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="31" x="140.451" y="1561.6792">int8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="135.451" x2="191.951" y1="1545.0664" y2="1545.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="191.951" y="1548.3745">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="203.951" x2="260.451" y1="1545.0664" y2="1545.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="140.451" y="1591.2886">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="135.451" x2="191.951" y1="1574.6758" y2="1574.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="191.951" y="1577.9839">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="203.951" x2="260.451" y1="1574.6758" y2="1574.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="140.451" y="1620.8979">int16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="135.451" x2="191.951" y1="1604.2852" y2="1604.2852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="191.951" y="1607.5933">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="203.951" x2="260.451" y1="1604.2852" y2="1604.2852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="140.451" y="1650.5073">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="135.451" x2="191.951" y1="1633.8945" y2="1633.8945"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="191.951" y="1637.2026">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="203.951" x2="260.451" y1="1633.8945" y2="1633.8945"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="140.451" y="1680.1167">int32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="135.451" x2="191.951" y1="1663.5039" y2="1663.5039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="191.951" y="1666.812">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="203.951" x2="260.451" y1="1663.5039" y2="1663.5039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="140.451" y="1709.7261">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="135.451" x2="191.951" y1="1693.1133" y2="1693.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="191.951" y="1696.4214">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="203.951" x2="260.451" y1="1693.1133" y2="1693.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="140.451" y="1739.3354">int64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="135.451" x2="191.951" y1="1722.7227" y2="1722.7227"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="191.951" y="1726.0308">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="203.951" x2="260.451" y1="1722.7227" y2="1722.7227"/><!--class urt_config--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="60.8047" id="urt_config" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="3845.45" y="1164.8594"/><ellipse cx="3899.7" cy="1180.8594" fill="#808080" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3902.6688,1186.5 Q3902.0906,1186.7969 3901.45,1186.9453 Q3900.8094,1187.0938 3900.1063,1187.0938 Q3897.6063,1187.0938 3896.2859,1185.4453 Q3894.9656,1183.7969 3894.9656,1180.6719 Q3894.9656,1177.5469 3896.2859,1175.8906 Q3897.6063,1174.2344 3900.1063,1174.2344 Q3900.8094,1174.2344 3901.4578,1174.3906 Q3902.1063,1174.5469 3902.6688,1174.8438 L3902.6688,1177.5625 Q3902.0438,1176.9844 3901.45,1176.7109 Q3900.8563,1176.4375 3900.2313,1176.4375 Q3898.8875,1176.4375 3898.2,1177.5078 Q3897.5125,1178.5781 3897.5125,1180.6719 Q3897.5125,1182.7656 3898.2,1183.8359 Q3898.8875,1184.9063 3900.2313,1184.9063 Q3900.8563,1184.9063 3901.45,1184.6328 Q3902.0438,1184.3594 3902.6688,1183.7813 L3902.6688,1186.5 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="3920.2" y="1185.0137">urt_config</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3846.45" x2="4023.45" y1="1196.8594" y2="1196.8594"/><ellipse cx="3856.45" cy="1208.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="3865.45" y="1211.0698">URT_CONFIG_DEBUG : bool</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3846.45" x2="4023.45" y1="1217.6641" y2="1217.6641"/><!--class urt_osTime_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="73.6094" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="8590.45" y="1578.8594"/><ellipse cx="8675.2" cy="1594.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8676.0438,1601.6094 L8673.5906,1601.6094 L8673.5906,1591.3594 L8670.45,1591.3594 L8670.45,1589.2188 L8679.1844,1589.2188 L8679.1844,1591.3594 L8676.0438,1591.3594 L8676.0438,1601.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="8695.7" y="1599.0137">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8591.45" x2="8846.45" y1="1610.8594" y2="1610.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8591.45" x2="8846.45" y1="1618.8594" y2="1618.8594"/><ellipse cx="8601.45" cy="1630.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="231" x="8610.45" y="1633.0698">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="8601.45" cy="1643.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="8610.45" y="1645.8745">urtTimeNow (void) : urt_osTime_t</text><!--class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="300" x="8254.95" y="1566.3594"/><ellipse cx="8357.2" cy="1582.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8358.0438,1589.1094 L8355.5906,1589.1094 L8355.5906,1578.8594 L8352.45,1578.8594 L8352.45,1576.7188 L8361.1844,1576.7188 L8361.1844,1578.8594 L8358.0438,1578.8594 L8358.0438,1589.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="8377.7" y="1586.5137">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8255.95" x2="8553.95" y1="1598.3594" y2="1598.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8255.95" x2="8553.95" y1="1606.3594" y2="1606.3594"/><ellipse cx="8265.95" cy="1618.2617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="247" x="8274.95" y="1620.5698">urtMutexInit (mutex : urt_osmutex_t*) : void</text><ellipse cx="8265.95" cy="1631.0664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="255" x="8274.95" y="1633.3745">urtMutexLock (mutex : urt_osmutex_t*) : void</text><ellipse cx="8265.95" cy="1643.8711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="8274.95" y="1646.1792">urtMutexTryLock (mutex : urt_osmutex_t*) : bool</text><ellipse cx="8265.95" cy="1656.6758" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="267" x="8274.95" y="1658.9839">urtMutexUnlock (mutex : urt_osmutex_t*) : void</text><!--class urt_streams--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="73.6094" id="urt_streams" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="3601.45" y="1158.3594"/><ellipse cx="3664.2" cy="1174.3594" fill="#FFFFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3668.4344,1170.125 L3663.1531,1170.125 L3663.1531,1172.7969 L3667.95,1172.7969 L3667.95,1174.9531 L3663.1531,1174.9531 L3663.1531,1180.3594 L3660.7156,1180.3594 L3660.7156,1167.9688 L3668.4344,1167.9688 L3668.4344,1170.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="3684.7" y="1178.5137">urt_streams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3602.45" x2="3809.45" y1="1190.3594" y2="1190.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3602.45" x2="3809.45" y1="1198.3594" y2="1198.3594"/><ellipse cx="3612.45" cy="1210.2617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="3621.45" y="1212.5698">urtPrintf(fmt : char*, ... ) : int</text><ellipse cx="3612.45" cy="1223.0664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="3621.45" y="1225.3745">urtErrPrintf(fmt : char*, ... ) : int</text><!--class urt_condvarStatus_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="86.4141" id="urt_condvarStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="5052.95" y="1572.8594"/><ellipse cx="5114.7" cy="1588.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5118.8094,1594.8594 L5111.0906,1594.8594 L5111.0906,1582.4688 L5118.8094,1582.4688 L5118.8094,1584.625 L5113.5438,1584.625 L5113.5438,1587.2969 L5118.3094,1587.2969 L5118.3094,1589.4531 L5113.5438,1589.4531 L5113.5438,1592.7031 L5118.8094,1592.7031 L5118.8094,1594.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="5135.2" y="1593.0137">urt_condvarStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5053.95" x2="5309.95" y1="1604.8594" y2="1604.8594"/><ellipse cx="5063.95" cy="1616.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="5072.95" y="1619.0698">URT_CONDVAR_STATUS_SIGNAL = 0</text><ellipse cx="5063.95" cy="1629.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="232" x="5072.95" y="1631.8745">URT_CONDVAR_STATUS_BROADCAST = 1</text><ellipse cx="5063.95" cy="1642.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="5072.95" y="1644.6792">URT_CONDVAR_STATUS_TIMEOUT = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5053.95" x2="5309.95" y1="1651.2734" y2="1651.2734"/><!--class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="671" x="4846.45" y="1145.8594"/><ellipse cx="5127.2" cy="1161.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5128.0438,1168.6094 L5125.5906,1168.6094 L5125.5906,1158.3594 L5122.45,1158.3594 L5122.45,1156.2188 L5131.1844,1156.2188 L5131.1844,1158.3594 L5128.0438,1158.3594 L5128.0438,1168.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="5147.7" y="1166.0137">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4847.45" x2="5516.45" y1="1177.8594" y2="1177.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4847.45" x2="5516.45" y1="1185.8594" y2="1185.8594"/><ellipse cx="4857.45" cy="1197.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="283" x="4866.45" y="1200.0698">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4857.45" cy="1210.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="294" x="4866.45" y="1212.8745">urtConvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4857.45" cy="1223.3711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="324" x="4866.45" y="1225.6792">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4857.45" cy="1236.1758" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="645" x="4866.45" y="1238.4839">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_condvarStatus_t</text><!--class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="4170.95" y="1585.3594"/><ellipse cx="4241.7" cy="1601.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4242.5438,1608.1094 L4240.0906,1608.1094 L4240.0906,1597.8594 L4236.95,1597.8594 L4236.95,1595.7188 L4245.6844,1595.7188 L4245.6844,1597.8594 L4242.5438,1597.8594 L4242.5438,1608.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="4262.2" y="1605.5137">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4171.95" x2="4455.95" y1="1617.3594" y2="1617.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4171.95" x2="4455.95" y1="1625.3594" y2="1625.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="4176.95" y="1639.5698">urt_osTimerCallback_t (parameter : void*) : void</text><!--class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="99.2188" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="731" x="4059.45" y="1145.8594"/><ellipse cx="4378.7" cy="1161.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4379.5438,1168.6094 L4377.0906,1168.6094 L4377.0906,1158.3594 L4373.95,1158.3594 L4373.95,1156.2188 L4382.6844,1156.2188 L4382.6844,1158.3594 L4379.5438,1158.3594 L4379.5438,1168.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="4399.2" y="1166.0137">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4060.45" x2="4789.45" y1="1177.8594" y2="1177.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4060.45" x2="4789.45" y1="1185.8594" y2="1185.8594"/><ellipse cx="4070.45" cy="1197.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="4079.45" y="1200.0698">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="4070.45" cy="1210.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="705" x="4079.45" y="1212.8745">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="4070.45" cy="1223.3711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="300" x="4079.45" y="1225.6792">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="4070.45" cy="1236.1758" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="254" x="4079.45" y="1238.4839">urtTimerIsArmed (timer : urt_timer_t*) : bool</text><!--class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="48" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="5573.95" y="1591.8594"/><ellipse cx="5588.95" cy="1607.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5589.7938,1614.6094 L5587.3406,1614.6094 L5587.3406,1604.3594 L5584.2,1604.3594 L5584.2,1602.2188 L5592.9344,1602.2188 L5592.9344,1604.3594 L5589.7938,1604.3594 L5589.7938,1614.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="5602.95" y="1612.0137">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5574.95" x2="5722.95" y1="1623.8594" y2="1623.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5574.95" x2="5722.95" y1="1631.8594" y2="1631.8594"/><!--class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="6019.95" y="1585.3594"/><ellipse cx="6067.7" cy="1601.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6068.5438,1608.1094 L6066.0906,1608.1094 L6066.0906,1597.8594 L6062.95,1597.8594 L6062.95,1595.7188 L6071.6844,1595.7188 L6071.6844,1597.8594 L6068.5438,1597.8594 L6068.5438,1608.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="6088.2" y="1605.5137">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6020.95" x2="6270.95" y1="1617.3594" y2="1617.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6020.95" x2="6270.95" y1="1625.3594" y2="1625.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="6025.95" y="1639.5698">urt_osThreadFunction_t (arg : void*) : void</text><!--class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="6306.95" y="1578.8594"/><ellipse cx="6328.7" cy="1594.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6332.8094,1600.8594 L6325.0906,1600.8594 L6325.0906,1588.4688 L6332.8094,1588.4688 L6332.8094,1590.625 L6327.5438,1590.625 L6327.5438,1593.2969 L6332.3094,1593.2969 L6332.3094,1595.4531 L6327.5438,1595.4531 L6327.5438,1598.7031 L6332.8094,1598.7031 L6332.8094,1600.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="6344.2" y="1599.0137">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6307.95" x2="6547.95" y1="1610.8594" y2="1610.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="6312.95" y="1625.0698">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="6312.95" y="1637.8745">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6307.95" x2="6547.95" y1="1644.4688" y2="1644.4688"/><!--class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="124.8281" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="5758.95" y="1553.3594"/><ellipse cx="5803.7" cy="1569.3594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5807.8094,1575.3594 L5800.0906,1575.3594 L5800.0906,1562.9688 L5807.8094,1562.9688 L5807.8094,1565.125 L5802.5438,1565.125 L5802.5438,1567.7969 L5807.3094,1567.7969 L5807.3094,1569.9531 L5802.5438,1569.9531 L5802.5438,1573.2031 L5807.8094,1573.2031 L5807.8094,1575.3594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="5824.2" y="1573.5137">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5759.95" x2="5983.95" y1="1585.3594" y2="1585.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="5764.95" y="1599.5698">URT_THREAD_STATE_RUNNING = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="5764.95" y="1612.3745">URT_THREAD_STATE_READY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="5764.95" y="1625.1792">URT_THREAD_STATE_SLEEPING = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="5764.95" y="1637.9839">URT_THREAD_STATE_SUSPENDED = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="5764.95" y="1650.7886">URT_THREAD_STATE_WAITING = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="5764.95" y="1663.5933">URT_THREAD_STATE_TERMINATED = 5</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5759.95" x2="5983.95" y1="1670.1875" y2="1670.1875"/><!--class urt_osThread_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="460.9453" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="613" x="5707.45" y="964.8594"/><ellipse cx="5962.7" cy="980.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5963.5438,987.6094 L5961.0906,987.6094 L5961.0906,977.3594 L5957.95,977.3594 L5957.95,975.2188 L5966.6844,975.2188 L5966.6844,977.3594 L5963.5438,977.3594 L5963.5438,987.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="5983.2" y="985.0137">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5708.45" x2="6319.45" y1="996.8594" y2="996.8594"/><ellipse cx="5718.45" cy="1008.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="280" x="5727.45" y="1011.0698">URT_THREAD_PRIO_LOW_MIN : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1021.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="283" x="5727.45" y="1023.8745">URT_THREAD_PRIO_LOW_MAX : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1034.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="302" x="5727.45" y="1036.6792">URT_THREAD_PRIO_NORMAL_MIN : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1047.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="305" x="5727.45" y="1049.4839">URT_THREAD_PRIO_NORMAL_MAX : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1059.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="284" x="5727.45" y="1062.2886">URT_THREAD_PRIO_HIGH_MIN : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1072.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="287" x="5727.45" y="1075.0933">URT_THREAD_PRIO_HIGH_MAX : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1085.5898" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="270" x="5727.45" y="1087.8979">URT_THREAD_PRIO_RT_MIN : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1098.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="5727.45" y="1100.7026">URT_THREAD_PRIO_RT_MAX : urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5708.45" x2="6319.45" y1="1107.2969" y2="1107.2969"/><ellipse cx="5718.45" cy="1119.1992" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="5727.45" y="1121.5073">URT_THREAD_MAX_SLEEP : float</text><ellipse cx="5718.45" cy="1132.0039" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="5727.45" y="1134.312">URT_THREAD_MAX_SSLEP : unsigned int</text><ellipse cx="5718.45" cy="1144.8086" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="5727.45" y="1147.1167">URT_THREAD_MAX_MSLEEP : unsigned int</text><ellipse cx="5718.45" cy="1157.6133" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="232" x="5727.45" y="1159.9214">URT_THREAD_MAX_USLEEP : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5708.45" x2="6319.45" y1="1166.5156" y2="1166.5156"/><ellipse cx="5718.45" cy="1178.418" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="286" x="5727.45" y="1180.7261">URT_THREAD_WORKING_AREA (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5708.45" x2="6319.45" y1="1187.3203" y2="1187.3203"/><ellipse cx="5718.45" cy="1199.2227" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="587" x="5727.45" y="1201.5308">urtThreadInit (wa : void*, wasize : size_t, func : urt_osThreadFunction_t*, arg : void*) : urt_osThread_t*</text><ellipse cx="5718.45" cy="1212.0273" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="490" x="5727.45" y="1214.3354">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="5718.45" cy="1224.832" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="5727.45" y="1227.1401">urtThreadYield (void) : void</text><ellipse cx="5718.45" cy="1237.6367" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="389" x="5727.45" y="1239.9448">urtThreadGetPriority (thread : urt_osThread_t*) : urt_osThreadPrio_t</text><ellipse cx="5718.45" cy="1250.4414" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="453" x="5727.45" y="1252.7495">urtThreadSetPriority (thread : urt_osThread_t*, prio : urt_osThreadPrio_t) : void</text><ellipse cx="5718.45" cy="1263.2461" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="5727.45" y="1265.5542">urtThreadSuspend (void) : void</text><ellipse cx="5718.45" cy="1276.0508" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="335" x="5727.45" y="1278.3589">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="5718.45" cy="1288.8555" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="5727.45" y="1291.1636">urtThreadSleep (seconds : float) : void</text><ellipse cx="5718.45" cy="1301.6602" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="5727.45" y="1303.9683">urtThreadSSleep (seconds : usnigned int) : void</text><ellipse cx="5718.45" cy="1314.4648" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="5727.45" y="1316.7729">urtThreadMSleep (milliseconds : unsigned int) : void</text><ellipse cx="5718.45" cy="1327.2695" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="305" x="5727.45" y="1329.5776">urtThreadUSleep (microseconds : unsigned int) : void</text><ellipse cx="5718.45" cy="1340.0742" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="5727.45" y="1342.3823">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="5718.45" cy="1352.8789" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="5727.45" y="1355.187">urtThreadExit (void) : void</text><ellipse cx="5718.45" cy="1365.6836" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="518" x="5727.45" y="1367.9917">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="5718.45" cy="1378.4883" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="264" x="5727.45" y="1380.7964">urtThreadJoin (thread : urt_osThread_t*) : void</text><ellipse cx="5718.45" cy="1391.293" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="387" x="5727.45" y="1393.6011">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="5718.45" cy="1404.0977" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="5727.45" y="1406.4058">urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="5718.45" cy="1416.9023" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="5727.45" y="1419.2104">urtThreadGetSibling (thread : urt_osThread_t*) : urt_psThread_t*</text><!--class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="294" x="6604.95" y="1585.3594"/><ellipse cx="6689.2" cy="1601.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6690.0438,1608.1094 L6687.5906,1608.1094 L6687.5906,1597.8594 L6684.45,1597.8594 L6684.45,1595.7188 L6693.1844,1595.7188 L6693.1844,1597.8594 L6690.0438,1597.8594 L6690.0438,1608.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="6709.7" y="1605.5137">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6605.95" x2="6897.95" y1="1617.3594" y2="1617.3594"/><ellipse cx="6615.95" cy="1629.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="268" x="6624.95" y="1631.5698">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6605.95" x2="6897.95" y1="1638.1641" y2="1638.1641"/><!--class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="7592.95" y="1805.8594"/><ellipse cx="7607.95" cy="1821.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7608.7938,1828.6094 L7606.3406,1828.6094 L7606.3406,1818.3594 L7603.2,1818.3594 L7603.2,1816.2188 L7611.9344,1816.2188 L7611.9344,1818.3594 L7608.7938,1818.3594 L7608.7938,1828.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="7621.95" y="1826.0137">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7593.95" x2="7741.95" y1="1837.8594" y2="1837.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7593.95" x2="7741.95" y1="1845.8594" y2="1845.8594"/><!--class urt_osEventWaitType_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="86.4141" id="urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="6934.45" y="1572.8594"/><ellipse cx="6949.45" cy="1588.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6953.5594,1594.8594 L6945.8406,1594.8594 L6945.8406,1582.4688 L6953.5594,1582.4688 L6953.5594,1584.625 L6948.2938,1584.625 L6948.2938,1587.2969 L6953.0594,1587.2969 L6953.0594,1589.4531 L6948.2938,1589.4531 L6948.2938,1592.7031 L6953.5594,1592.7031 L6953.5594,1594.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="6963.45" y="1593.0137">urt_osEventWaitType_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6935.45" x2="7106.45" y1="1604.8594" y2="1604.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="6940.45" y="1619.0698">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="6940.45" y="1631.8745">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="6940.45" y="1644.6792">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6935.45" x2="7106.45" y1="1651.2734" y2="1651.2734"/><!--class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="7142.95" y="1572.8594"/><ellipse cx="7318.2" cy="1588.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7319.0438,1595.6094 L7316.5906,1595.6094 L7316.5906,1585.3594 L7313.45,1585.3594 L7313.45,1583.2188 L7322.1844,1583.2188 L7322.1844,1585.3594 L7319.0438,1585.3594 L7319.0438,1595.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="7338.7" y="1593.0137">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7143.95" x2="7635.95" y1="1604.8594" y2="1604.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7143.95" x2="7635.95" y1="1612.8594" y2="1612.8594"/><ellipse cx="7153.95" cy="1624.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="341" x="7162.95" y="1627.0698">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="7153.95" cy="1637.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="458" x="7162.95" y="1639.8745">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="7153.95" cy="1650.3711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="468" x="7162.95" y="1652.6792">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="7672.45" y="1578.8594"/><ellipse cx="7877.2" cy="1594.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7878.0438,1601.6094 L7875.5906,1601.6094 L7875.5906,1591.3594 L7872.45,1591.3594 L7872.45,1589.2188 L7881.1844,1589.2188 L7881.1844,1591.3594 L7878.0438,1591.3594 L7878.0438,1601.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="7897.7" y="1599.0137">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7673.45" x2="8218.45" y1="1610.8594" y2="1610.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7673.45" x2="8218.45" y1="1618.8594" y2="1618.8594"/><ellipse cx="7683.45" cy="1630.7617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="325" x="7692.45" y="1633.0698">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="7683.45" cy="1643.5664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="521" x="7692.45" y="1645.8745">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--class urt_events--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="735" x="6604.45" y="1152.3594"/><ellipse cx="6934.7" cy="1168.3594" fill="#FFFFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6938.9344,1164.125 L6933.6531,1164.125 L6933.6531,1166.7969 L6938.45,1166.7969 L6938.45,1168.9531 L6933.6531,1168.9531 L6933.6531,1174.3594 L6931.2156,1174.3594 L6931.2156,1161.9688 L6938.9344,1161.9688 L6938.9344,1164.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="6955.2" y="1172.5137">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6605.45" x2="7338.45" y1="1184.3594" y2="1184.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6605.45" x2="7338.45" y1="1192.3594" y2="1192.3594"/><ellipse cx="6615.45" cy="1204.2617" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="709" x="6624.45" y="1206.5698">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t) : urt_status_t</text><ellipse cx="6615.45" cy="1217.0664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="567" x="6624.45" y="1219.3745">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text><ellipse cx="6615.45" cy="1229.8711" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="488" x="6624.45" y="1232.1792">urtEventWait (type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t</text><!--class urt_message_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="167.2422" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="3076.45" y="703.8594"/><ellipse cx="3251.7" cy="719.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3251.1844,720.4219 Q3249.325,719.7188 3248.6766,718.9453 Q3248.0281,718.1719 3248.0281,716.8594 Q3248.0281,715.1719 3249.1063,714.2031 Q3250.1844,713.2344 3252.0594,713.2344 Q3252.9188,713.2344 3253.7703,713.4297 Q3254.6219,713.625 3255.4656,714.0156 L3255.4656,716.4063 Q3254.6844,715.8438 3253.8641,715.5547 Q3253.0438,715.2656 3252.2469,715.2656 Q3251.3719,715.2656 3250.8953,715.625 Q3250.4188,715.9844 3250.4188,716.6406 Q3250.4188,717.1563 3250.7625,717.4922 Q3251.1063,717.8281 3252.2,718.2344 L3253.2625,718.6406 Q3254.7469,719.1875 3255.4578,720.0938 Q3256.1688,721 3256.1688,722.375 Q3256.1688,724.25 3255.0594,725.1719 Q3253.95,726.0938 3251.7,726.0938 Q3250.7781,726.0938 3249.8563,725.875 Q3248.9344,725.6563 3248.075,725.2344 L3248.075,722.7031 Q3249.0438,723.3906 3249.9656,723.7344 Q3250.8875,724.0781 3251.7781,724.0781 Q3252.6844,724.0781 3253.1844,723.6641 Q3253.6844,723.25 3253.6844,722.5156 Q3253.6844,721.9531 3253.3484,721.5391 Q3253.0125,721.125 3252.3875,720.875 L3251.1844,720.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="3272.2" y="724.0137">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3077.45" x2="3526.45" y1="735.8594" y2="735.8594"/><ellipse cx="3087.45" cy="747.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="3096.45" y="750.0698">next : urt_message_t*</text><ellipse cx="3087.45" cy="760.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="3096.45" y="762.8745">payload : void*</text><ellipse cx="3087.45" cy="773.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="3096.45" y="775.6792">originTime : urt_osTime_t</text><ellipse cx="3087.45" cy="786.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="3096.45" y="788.4839">lock : urt_osMutex_t</text><ellipse cx="3087.45" cy="798.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="3096.45" y="801.2886">numHrtConsumersLeft : unsigned int</text><ellipse cx="3087.45" cy="811.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="3096.45" y="814.0933">hrtConsumersLeft : urt_osCondvar_t</text><ellipse cx="3087.45" cy="841.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="3096.45" y="843.7026">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3077.45" x2="3258.45" y1="827.0898" y2="827.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="3258.45" y="830.3979">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3345.45" x2="3526.45" y1="827.0898" y2="827.0898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3077.45" x2="3526.45" y1="850.2969" y2="850.2969"/><ellipse cx="3087.45" cy="862.1992" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="425" x="3096.45" y="864.5073">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--class urt_subscriber_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="244.0703" id="urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="851" x="1337.45" y="121.8594"/><ellipse cx="1708.2" cy="137.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1707.6844,138.4219 Q1705.825,137.7188 1705.1766,136.9453 Q1704.5281,136.1719 1704.5281,134.8594 Q1704.5281,133.1719 1705.6063,132.2031 Q1706.6844,131.2344 1708.5594,131.2344 Q1709.4188,131.2344 1710.2703,131.4297 Q1711.1219,131.625 1711.9656,132.0156 L1711.9656,134.4063 Q1711.1844,133.8438 1710.3641,133.5547 Q1709.5438,133.2656 1708.7469,133.2656 Q1707.8719,133.2656 1707.3953,133.625 Q1706.9188,133.9844 1706.9188,134.6406 Q1706.9188,135.1563 1707.2625,135.4922 Q1707.6063,135.8281 1708.7,136.2344 L1709.7625,136.6406 Q1711.2469,137.1875 1711.9578,138.0938 Q1712.6688,139 1712.6688,140.375 Q1712.6688,142.25 1711.5594,143.1719 Q1710.45,144.0938 1708.2,144.0938 Q1707.2781,144.0938 1706.3563,143.875 Q1705.4344,143.6563 1704.575,143.2344 L1704.575,140.7031 Q1705.5438,141.3906 1706.4656,141.7344 Q1707.3875,142.0781 1708.2781,142.0781 Q1709.1844,142.0781 1709.6844,141.6641 Q1710.1844,141.25 1710.1844,140.5156 Q1710.1844,139.9531 1709.8484,139.5391 Q1709.5125,139.125 1708.8875,138.875 L1707.6844,138.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="1728.7" y="142.0137">urt_subscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.45" x2="2187.45" y1="153.8594" y2="153.8594"/><ellipse cx="1348.45" cy="165.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1357.45" y="168.0698">next : urt_subscriber_t*</text><ellipse cx="1348.45" cy="178.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="1357.45" y="180.8745">topic : urt_topic_t*</text><ellipse cx="1348.45" cy="191.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="1357.45" y="193.6792">evtListener : urt_osEventListener_t</text><ellipse cx="1348.45" cy="204.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="1357.45" y="206.4839">rtclass : urt_rtclass_t</text><ellipse cx="1348.45" cy="216.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="1357.45" y="219.2886">lastMessage : urt_message_t*</text><ellipse cx="1348.45" cy="229.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="1357.45" y="232.0933">lastMessageTime : urt_osTime_t</text><ellipse cx="1348.45" cy="259.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1357.45" y="261.7026">minLatency : urt_delay_t</text><ellipse cx="1348.45" cy="272.1992" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1357.45" y="274.5073">maxLatency : urt_delay_t</text><ellipse cx="1348.45" cy="285.0039" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="1357.45" y="287.312">sumLatencies : uint64_t</text><ellipse cx="1348.45" cy="297.8086" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="1357.45" y="300.1167">numMessagesReceived : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1338.45" x2="1719.45" y1="245.0898" y2="245.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="1719.45" y="248.3979">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1806.45" x2="2187.45" y1="245.0898" y2="245.0898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.45" x2="2187.45" y1="306.7109" y2="306.7109"/><ellipse cx="1348.45" cy="318.6133" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="359" x="1357.45" y="320.9214">urtSubscriberInit (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="1348.45" cy="331.418" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="825" x="1357.45" y="333.7261">urtSubscriberSubscribe (subscriber : urt_subscriber_t*, topic : urt_topic_t*, rtclass : urt_rtclass_t*, messages : urt_messages_t*) : urt_status_t</text><ellipse cx="1348.45" cy="344.2227" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="413" x="1357.45" y="346.5308">urtSubscriberUnsubscribe (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="1348.45" cy="357.0273" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="499" x="1357.45" y="359.3354">urtSubscriberFetchMessage (subscriber : urt_subscriber_t*, latest : bool) : urt_status_t</text><!--class urt_topic_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="218.4609" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="3105.95" y="425.8594"/><ellipse cx="3260.7" cy="441.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3260.1844,442.4219 Q3258.325,441.7188 3257.6766,440.9453 Q3257.0281,440.1719 3257.0281,438.8594 Q3257.0281,437.1719 3258.1063,436.2031 Q3259.1844,435.2344 3261.0594,435.2344 Q3261.9188,435.2344 3262.7703,435.4297 Q3263.6219,435.625 3264.4656,436.0156 L3264.4656,438.4063 Q3263.6844,437.8438 3262.8641,437.5547 Q3262.0438,437.2656 3261.2469,437.2656 Q3260.3719,437.2656 3259.8953,437.625 Q3259.4188,437.9844 3259.4188,438.6406 Q3259.4188,439.1563 3259.7625,439.4922 Q3260.1063,439.8281 3261.2,440.2344 L3262.2625,440.6406 Q3263.7469,441.1875 3264.4578,442.0938 Q3265.1688,443 3265.1688,444.375 Q3265.1688,446.25 3264.0594,447.1719 Q3262.95,448.0938 3260.7,448.0938 Q3259.7781,448.0938 3258.8563,447.875 Q3257.9344,447.6563 3257.075,447.2344 L3257.075,444.7031 Q3258.0438,445.3906 3258.9656,445.7344 Q3259.8875,446.0781 3260.7781,446.0781 Q3261.6844,446.0781 3262.1844,445.6641 Q3262.6844,445.25 3262.6844,444.5156 Q3262.6844,443.9531 3262.3484,443.5391 Q3262.0125,443.125 3261.3875,442.875 L3260.1844,442.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="3281.2" y="446.0137">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3106.95" x2="3488.95" y1="457.8594" y2="457.8594"/><ellipse cx="3116.95" cy="469.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="3125.95" y="472.0698">next : urt_topic_t*</text><ellipse cx="3116.95" cy="482.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="3125.95" y="484.8745">lock : urt_osMutex_t</text><ellipse cx="3116.95" cy="495.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="3125.95" y="497.6792">evtSource : urt_osEventSource_t</text><ellipse cx="3116.95" cy="508.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="3125.95" y="510.4839">numHrtSubscribers : unsigned int</text><ellipse cx="3116.95" cy="520.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="3125.95" y="523.2886">hrtSubscribers : urt_subscriber_t*</text><ellipse cx="3116.95" cy="533.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="3125.95" y="536.0933">qosTimer : urt_osTimer_t</text><ellipse cx="3116.95" cy="546.5898" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="3125.95" y="548.8979">mandatoryMessage : urt_message_t</text><ellipse cx="3116.95" cy="559.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="3125.95" y="561.7026">latestMessage : urt_message_t*</text><ellipse cx="3116.95" cy="572.1992" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="3125.95" y="574.5073">id : urt_topicid_t</text><ellipse cx="3116.95" cy="601.8086" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="3125.95" y="604.1167">numDiscardedMessages : unsigned int</text><ellipse cx="3116.95" cy="614.6133" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="3125.95" y="616.9214">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3106.95" x2="3254.45" y1="587.5039" y2="587.5039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="3254.45" y="590.812">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3341.45" x2="3488.95" y1="587.5039" y2="587.5039"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3106.95" x2="3488.95" y1="623.5156" y2="623.5156"/><ellipse cx="3116.95" cy="635.418" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="358" x="3125.95" y="637.7261">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="2785.45" y="179.3594"/><ellipse cx="3114.2" cy="195.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3113.6844,195.9219 Q3111.825,195.2188 3111.1766,194.4453 Q3110.5281,193.6719 3110.5281,192.3594 Q3110.5281,190.6719 3111.6063,189.7031 Q3112.6844,188.7344 3114.5594,188.7344 Q3115.4188,188.7344 3116.2703,188.9297 Q3117.1219,189.125 3117.9656,189.5156 L3117.9656,191.9063 Q3117.1844,191.3438 3116.3641,191.0547 Q3115.5438,190.7656 3114.7469,190.7656 Q3113.8719,190.7656 3113.3953,191.125 Q3112.9188,191.4844 3112.9188,192.1406 Q3112.9188,192.6563 3113.2625,192.9922 Q3113.6063,193.3281 3114.7,193.7344 L3115.7625,194.1406 Q3117.2469,194.6875 3117.9578,195.5938 Q3118.6688,196.5 3118.6688,197.875 Q3118.6688,199.75 3117.5594,200.6719 Q3116.45,201.5938 3114.2,201.5938 Q3113.2781,201.5938 3112.3563,201.375 Q3111.4344,201.1563 3110.575,200.7344 L3110.575,198.2031 Q3111.5438,198.8906 3112.4656,199.2344 Q3113.3875,199.5781 3114.2781,199.5781 Q3115.1844,199.5781 3115.6844,199.1641 Q3116.1844,198.75 3116.1844,198.0156 Q3116.1844,197.4531 3115.8484,197.0391 Q3115.5125,196.625 3114.8875,196.375 L3113.6844,195.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="3134.7" y="199.5137">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2786.45" x2="3543.45" y1="211.3594" y2="211.3594"/><ellipse cx="2796.45" cy="223.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="2805.45" y="225.5698">topic : urt_topic_t*</text><ellipse cx="2796.45" cy="252.8711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="174" x="2805.45" y="255.1792">publishAttempts : unsigned int</text><ellipse cx="2796.45" cy="265.6758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="2805.45" y="267.9839">publishFails : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2786.45" x2="3121.45" y1="238.5664" y2="238.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="3121.45" y="241.8745">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3208.45" x2="3543.45" y1="238.5664" y2="238.5664"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2786.45" x2="3543.45" y1="274.5781" y2="274.5781"/><ellipse cx="2796.45" cy="286.4805" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="617" x="2805.45" y="288.7886">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="2796.45" cy="299.2852" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="733" x="2805.45" y="301.5933">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--class urt_core_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="163.2422" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="509" x="2241.45" y="162.3594"/><ellipse cx="2460.2" cy="178.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2459.6844,178.9219 Q2457.825,178.2188 2457.1766,177.4453 Q2456.5281,176.6719 2456.5281,175.3594 Q2456.5281,173.6719 2457.6063,172.7031 Q2458.6844,171.7344 2460.5594,171.7344 Q2461.4188,171.7344 2462.2703,171.9297 Q2463.1219,172.125 2463.9656,172.5156 L2463.9656,174.9063 Q2463.1844,174.3438 2462.3641,174.0547 Q2461.5438,173.7656 2460.7469,173.7656 Q2459.8719,173.7656 2459.3953,174.125 Q2458.9188,174.4844 2458.9188,175.1406 Q2458.9188,175.6563 2459.2625,175.9922 Q2459.6063,176.3281 2460.7,176.7344 L2461.7625,177.1406 Q2463.2469,177.6875 2463.9578,178.5938 Q2464.6688,179.5 2464.6688,180.875 Q2464.6688,182.75 2463.5594,183.6719 Q2462.45,184.5938 2460.2,184.5938 Q2459.2781,184.5938 2458.3563,184.375 Q2457.4344,184.1563 2456.575,183.7344 L2456.575,181.2031 Q2457.5438,181.8906 2458.4656,182.2344 Q2459.3875,182.5781 2460.2781,182.5781 Q2461.1844,182.5781 2461.6844,182.1641 Q2462.1844,181.75 2462.1844,181.0156 Q2462.1844,180.4531 2461.8484,180.0391 Q2461.5125,179.625 2460.8875,179.375 L2459.6844,178.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="2480.7" y="182.5137">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2242.45" x2="2749.45" y1="194.3594" y2="194.3594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2249.45" y="203.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="2261.45" y="208.5698">_nodes : urt_node_t*</text><line style="stroke: #000000; stroke-width: 1.0;" x1="2261.45" x2="2380.45" y1="210.5698" y2="210.5698"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2249.45" y="216.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="2261.45" y="221.3745">_topics : urt_topic_t*</text><line style="stroke: #000000; stroke-width: 1.0;" x1="2261.45" x2="2378.45" y1="223.3745" y2="223.3745"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2249.45" y="228.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="2261.45" y="234.1792">_evtSource : urt_osEventSource_t</text><line style="stroke: #000000; stroke-width: 1.0;" x1="2261.45" x2="2453.45" y1="236.1792" y2="236.1792"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2249.45" y="241.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="2261.45" y="246.9839">_lock : urt_osMutex_t</text><line style="stroke: #000000; stroke-width: 1.0;" x1="2261.45" x2="2380.45" y1="248.9839" y2="248.9839"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2242.45" x2="2749.45" y1="253.5781" y2="253.5781"/><ellipse cx="2252.45" cy="265.4805" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="2261.45" y="267.7886">urtCoreInit (void) : urt_status_t</text><ellipse cx="2252.45" cy="278.2852" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="2261.45" y="280.5933">urtCoreStartNodes (void) : urt_status_t</text><ellipse cx="2252.45" cy="291.0898" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="483" x="2261.45" y="293.3979">urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodesync_t) : urt_status_t</text><ellipse cx="2252.45" cy="303.8945" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="2261.45" y="306.2026">urtCoreStopNodes (void) : urt_status_t</text><ellipse cx="2252.45" cy="316.6992" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="2261.45" y="319.0073">urtCoreRetrieveTopic (id : urt_topicid_t) : urt_topic_t*</text><!--class urt_node_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="176.0469" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1104" x="1948.95" y="446.8594"/><ellipse cx="2463.2" cy="462.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2462.6844,463.4219 Q2460.825,462.7188 2460.1766,461.9453 Q2459.5281,461.1719 2459.5281,459.8594 Q2459.5281,458.1719 2460.6063,457.2031 Q2461.6844,456.2344 2463.5594,456.2344 Q2464.4188,456.2344 2465.2703,456.4297 Q2466.1219,456.625 2466.9656,457.0156 L2466.9656,459.4063 Q2466.1844,458.8438 2465.3641,458.5547 Q2464.5438,458.2656 2463.7469,458.2656 Q2462.8719,458.2656 2462.3953,458.625 Q2461.9188,458.9844 2461.9188,459.6406 Q2461.9188,460.1563 2462.2625,460.4922 Q2462.6063,460.8281 2463.7,461.2344 L2464.7625,461.6406 Q2466.2469,462.1875 2466.9578,463.0938 Q2467.6688,464 2467.6688,465.375 Q2467.6688,467.25 2466.5594,468.1719 Q2465.45,469.0938 2463.2,469.0938 Q2462.2781,469.0938 2461.3563,468.875 Q2460.4344,468.6563 2459.575,468.2344 L2459.575,465.7031 Q2460.5438,466.3906 2461.4656,466.7344 Q2462.3875,467.0781 2463.2781,467.0781 Q2464.1844,467.0781 2464.6844,466.6641 Q2465.1844,466.25 2465.1844,465.5156 Q2465.1844,464.9531 2464.8484,464.5391 Q2464.5125,464.125 2463.8875,463.875 L2462.6844,463.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="2483.7" y="467.0137">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1949.95" x2="3051.95" y1="478.8594" y2="478.8594"/><ellipse cx="1959.95" cy="490.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="1968.95" y="493.0698">next : urt_node_t*</text><ellipse cx="1959.95" cy="503.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1968.95" y="505.8745">thread : urt_osThread_t*</text><ellipse cx="1959.95" cy="516.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="1968.95" y="518.6792">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="1959.95" cy="529.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="1968.95" y="531.4839">setupparams : void*</text><ellipse cx="1959.95" cy="541.9805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="1968.95" y="544.2886">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="1959.95" cy="554.7852" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="1968.95" y="557.0933">loopparams : void*</text><ellipse cx="1959.95" cy="567.5898" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="130" x="1968.95" y="569.8979">stage : urt_nodesync_t</text><ellipse cx="1959.95" cy="580.3945" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="178" x="1968.95" y="582.7026">listener : urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1949.95" x2="3051.95" y1="589.2969" y2="589.2969"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1956.95" y="598.1992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="1968.95" y="603.5073">_main : urt_osThreadFunction_t</text><line style="stroke: #000000; stroke-width: 1.0;" x1="1968.95" x2="2147.95" y1="605.5073" y2="605.5073"/><ellipse cx="1959.95" cy="614.0039" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1078" x="1968.95" y="616.312">urtNodeInit (node : urt_node_t*, stacksize : size_t, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*) : urt_status_t</text><!--class urt_rtclass_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="73.6094" id="urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1509.45" y="497.8594"/><ellipse cx="1565.2" cy="513.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1564.6844,514.4219 Q1562.825,513.7188 1562.1766,512.9453 Q1561.5281,512.1719 1561.5281,510.8594 Q1561.5281,509.1719 1562.6063,508.2031 Q1563.6844,507.2344 1565.5594,507.2344 Q1566.4188,507.2344 1567.2703,507.4297 Q1568.1219,507.625 1568.9656,508.0156 L1568.9656,510.4063 Q1568.1844,509.8438 1567.3641,509.5547 Q1566.5438,509.2656 1565.7469,509.2656 Q1564.8719,509.2656 1564.3953,509.625 Q1563.9188,509.9844 1563.9188,510.6406 Q1563.9188,511.1563 1564.2625,511.4922 Q1564.6063,511.8281 1565.7,512.2344 L1566.7625,512.6406 Q1568.2469,513.1875 1568.9578,514.0938 Q1569.6688,515 1569.6688,516.375 Q1569.6688,518.25 1568.5594,519.1719 Q1567.45,520.0938 1565.2,520.0938 Q1564.2781,520.0938 1563.3563,519.875 Q1562.4344,519.6563 1561.575,519.2344 L1561.575,516.7031 Q1562.5438,517.3906 1563.4656,517.7344 Q1564.3875,518.0781 1565.2781,518.0781 Q1566.1844,518.0781 1566.6844,517.6641 Q1567.1844,517.25 1567.1844,516.5156 Q1567.1844,515.9531 1566.8484,515.5391 Q1566.5125,515.125 1565.8875,514.875 L1564.6844,514.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="1585.7" y="518.0137">urt_rtclass_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1510.45" x2="1705.45" y1="529.8594" y2="529.8594"/><ellipse cx="1520.45" cy="541.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="1529.45" y="544.0698">class : urt_rtclasstype_t</text><ellipse cx="1520.45" cy="554.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="171" x="1529.45" y="556.8745">params : urt_rtclassparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1510.45" x2="1705.45" y1="563.4688" y2="563.4688"/><!--class urt_rtclasstype_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="99.2188" id="urt_rtclasstype_t" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="1341.45" y="737.8594"/><ellipse cx="1364.1" cy="753.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1368.2094,759.8594 L1360.4906,759.8594 L1360.4906,747.4688 L1368.2094,747.4688 L1368.2094,749.625 L1362.9438,749.625 L1362.9438,752.2969 L1367.7094,752.2969 L1367.7094,754.4531 L1362.9438,754.4531 L1362.9438,757.7031 L1368.2094,757.7031 L1368.2094,759.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="1379.8" y="758.0137">urt_rtclasstype_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1342.45" x2="1493.45" y1="769.8594" y2="769.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="1347.45" y="784.0698">URT_RTCLASS_HARD = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="1347.45" y="796.8745">URT_RTCLASS_FIRM = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="1347.45" y="809.6792">URT_RTCLASS_SOFT = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1347.45" y="822.4839">URT_RTCLASS_NONE = 3</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1342.45" x2="1493.45" y1="829.0781" y2="829.0781"/><!--class urt_rtclassparams_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="99.2188" id="urt_rtclassparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="1529.95" y="737.8594"/><ellipse cx="1544.95" cy="753.8594" fill="#90EE90" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1540.825,755.7813 L1540.825,747.9688 L1543.2781,747.9688 L1543.2781,756.4063 Q1543.2781,757.3281 1543.7547,757.8594 Q1544.2313,758.3906 1545.0594,758.3906 Q1545.9031,758.3906 1546.3719,757.8594 Q1546.8406,757.3281 1546.8406,756.4063 L1546.8406,747.9688 L1549.2938,747.9688 L1549.2938,755.7813 Q1549.2938,758.3125 1548.2938,759.4531 Q1547.2938,760.5938 1545.0594,760.5938 Q1542.8406,760.5938 1541.8328,759.4531 Q1540.825,758.3125 1540.825,755.7813 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="1558.95" y="758.0137">urt_rtclassparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1530.95" x2="1684.95" y1="769.8594" y2="769.8594"/><ellipse cx="1540.95" cy="781.7617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="1549.95" y="784.0698">hrt : urt_hrtparams_t</text><ellipse cx="1540.95" cy="794.5664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="1549.95" y="796.8745">frt : urt_frtparams_t</text><ellipse cx="1540.95" cy="807.3711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="1549.95" y="809.6792">srt : urt_srtparans_t</text><ellipse cx="1540.95" cy="820.1758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="1549.95" y="822.4839">nrt : urt_nrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1530.95" x2="1684.95" y1="829.0781" y2="829.0781"/><!--class urt_hrtparams_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="86.4141" id="urt_hrtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="1285.45" y="1152.3594"/><ellipse cx="1323.4" cy="1168.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1322.8844,1168.9219 Q1321.025,1168.2188 1320.3766,1167.4453 Q1319.7281,1166.6719 1319.7281,1165.3594 Q1319.7281,1163.6719 1320.8063,1162.7031 Q1321.8844,1161.7344 1323.7594,1161.7344 Q1324.6188,1161.7344 1325.4703,1161.9297 Q1326.3219,1162.125 1327.1656,1162.5156 L1327.1656,1164.9063 Q1326.3844,1164.3438 1325.5641,1164.0547 Q1324.7438,1163.7656 1323.9469,1163.7656 Q1323.0719,1163.7656 1322.5953,1164.125 Q1322.1188,1164.4844 1322.1188,1165.1406 Q1322.1188,1165.6563 1322.4625,1165.9922 Q1322.8063,1166.3281 1323.9,1166.7344 L1324.9625,1167.1406 Q1326.4469,1167.6875 1327.1578,1168.5938 Q1327.8688,1169.5 1327.8688,1170.875 Q1327.8688,1172.75 1326.7594,1173.6719 Q1325.65,1174.5938 1323.4,1174.5938 Q1322.4781,1174.5938 1321.5563,1174.375 Q1320.6344,1174.1563 1319.775,1173.7344 L1319.775,1171.2031 Q1320.7438,1171.8906 1321.6656,1172.2344 Q1322.5875,1172.5781 1323.4781,1172.5781 Q1324.3844,1172.5781 1324.8844,1172.1641 Q1325.3844,1171.75 1325.3844,1171.0156 Q1325.3844,1170.4531 1325.0484,1170.0391 Q1324.7125,1169.625 1324.0875,1169.375 L1322.8844,1168.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="1342.5" y="1172.5137">urt_hrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1286.45" x2="1467.45" y1="1184.3594" y2="1184.3594"/><ellipse cx="1296.45" cy="1196.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="1305.45" y="1198.5698">deadlineOffset : urt_delay_t</text><ellipse cx="1296.45" cy="1209.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="1305.45" y="1211.3745">expectedRate : urt_delay_t</text><ellipse cx="1296.45" cy="1221.8711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="1305.45" y="1224.1792">qosTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1286.45" x2="1467.45" y1="1230.7734" y2="1230.7734"/><!--class urt_frtparams_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="112.0234" id="urt_frtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="1503.45" y="1139.3594"/><ellipse cx="1555.7" cy="1155.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1555.1844,1155.9219 Q1553.325,1155.2188 1552.6766,1154.4453 Q1552.0281,1153.6719 1552.0281,1152.3594 Q1552.0281,1150.6719 1553.1063,1149.7031 Q1554.1844,1148.7344 1556.0594,1148.7344 Q1556.9188,1148.7344 1557.7703,1148.9297 Q1558.6219,1149.125 1559.4656,1149.5156 L1559.4656,1151.9063 Q1558.6844,1151.3438 1557.8641,1151.0547 Q1557.0438,1150.7656 1556.2469,1150.7656 Q1555.3719,1150.7656 1554.8953,1151.125 Q1554.4188,1151.4844 1554.4188,1152.1406 Q1554.4188,1152.6563 1554.7625,1152.9922 Q1555.1063,1153.3281 1556.2,1153.7344 L1557.2625,1154.1406 Q1558.7469,1154.6875 1559.4578,1155.5938 Q1560.1688,1156.5 1560.1688,1157.875 Q1560.1688,1159.75 1559.0594,1160.6719 Q1557.95,1161.5938 1555.7,1161.5938 Q1554.7781,1161.5938 1553.8563,1161.375 Q1552.9344,1161.1563 1552.075,1160.7344 L1552.075,1158.2031 Q1553.0438,1158.8906 1553.9656,1159.2344 Q1554.8875,1159.5781 1555.7781,1159.5781 Q1556.6844,1159.5781 1557.1844,1159.1641 Q1557.6844,1158.75 1557.6844,1158.0156 Q1557.6844,1157.4531 1557.3484,1157.0391 Q1557.0125,1156.625 1556.3875,1156.375 L1555.1844,1155.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="96" x="1576.2" y="1159.5137">urt_frtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1504.45" x2="1711.45" y1="1171.3594" y2="1171.3594"/><ellipse cx="1514.45" cy="1183.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="1523.45" y="1185.5698">deadlineOffset : urt_delay_t</text><ellipse cx="1514.45" cy="1196.0664" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="1523.45" y="1198.3745">expectedRate : urt_delay_t</text><ellipse cx="1514.45" cy="1208.8711" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="1523.45" y="1211.1792">qosTimer : urt_osTimer_t</text><ellipse cx="1514.45" cy="1221.6758" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="1523.45" y="1223.9839">callback : urt_osTimerCallback_t</text><ellipse cx="1514.45" cy="1234.4805" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="1523.45" y="1236.7886">cbparams : void*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1504.45" x2="1711.45" y1="1243.3828" y2="1243.3828"/><!--class urt_srtparams_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="73.6094" id="urt_srtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="322" x="927.951" y="1158.3594"/><ellipse cx="1035.201" cy="1174.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1034.6854,1174.9219 Q1032.826,1174.2188 1032.1776,1173.4453 Q1031.5291,1172.6719 1031.5291,1171.3594 Q1031.5291,1169.6719 1032.6073,1168.7031 Q1033.6854,1167.7344 1035.5604,1167.7344 Q1036.4198,1167.7344 1037.2713,1167.9297 Q1038.1229,1168.125 1038.9666,1168.5156 L1038.9666,1170.9063 Q1038.1854,1170.3438 1037.3651,1170.0547 Q1036.5448,1169.7656 1035.7479,1169.7656 Q1034.8729,1169.7656 1034.3963,1170.125 Q1033.9198,1170.4844 1033.9198,1171.1406 Q1033.9198,1171.6563 1034.2635,1171.9922 Q1034.6073,1172.3281 1035.701,1172.7344 L1036.7635,1173.1406 Q1038.2479,1173.6875 1038.9588,1174.5938 Q1039.6698,1175.5 1039.6698,1176.875 Q1039.6698,1178.75 1038.5604,1179.6719 Q1037.451,1180.5938 1035.201,1180.5938 Q1034.2791,1180.5938 1033.3573,1180.375 Q1032.4354,1180.1563 1031.576,1179.7344 L1031.576,1177.2031 Q1032.5448,1177.8906 1033.4666,1178.2344 Q1034.3885,1178.5781 1035.2791,1178.5781 Q1036.1854,1178.5781 1036.6854,1178.1641 Q1037.1854,1177.75 1037.1854,1177.0156 Q1037.1854,1176.4531 1036.8494,1176.0391 Q1036.5135,1175.625 1035.8885,1175.375 L1034.6854,1174.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="99" x="1055.701" y="1178.5137">urt_srtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="928.951" x2="1248.951" y1="1190.3594" y2="1190.3594"/><ellipse cx="938.951" cy="1202.2617" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="947.951" y="1204.5698">params : void*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="928.951" x2="1248.951" y1="1211.1641" y2="1211.1641"/><ellipse cx="938.951" cy="1223.0664" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="296" x="947.951" y="1225.3745">*usefulness (dt : urt_delay_t, params : void*) : float</text><!--class urt_nrtparams_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="48" id="urt_nrtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="1747.95" y="1171.3594"/><ellipse cx="1762.95" cy="1187.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1762.4344,1187.9219 Q1760.575,1187.2188 1759.9266,1186.4453 Q1759.2781,1185.6719 1759.2781,1184.3594 Q1759.2781,1182.6719 1760.3563,1181.7031 Q1761.4344,1180.7344 1763.3094,1180.7344 Q1764.1688,1180.7344 1765.0203,1180.9297 Q1765.8719,1181.125 1766.7156,1181.5156 L1766.7156,1183.9063 Q1765.9344,1183.3438 1765.1141,1183.0547 Q1764.2938,1182.7656 1763.4969,1182.7656 Q1762.6219,1182.7656 1762.1453,1183.125 Q1761.6688,1183.4844 1761.6688,1184.1406 Q1761.6688,1184.6563 1762.0125,1184.9922 Q1762.3563,1185.3281 1763.45,1185.7344 L1764.5125,1186.1406 Q1765.9969,1186.6875 1766.7078,1187.5938 Q1767.4188,1188.5 1767.4188,1189.875 Q1767.4188,1191.75 1766.3094,1192.6719 Q1765.2,1193.5938 1762.95,1193.5938 Q1762.0281,1193.5938 1761.1063,1193.375 Q1760.1844,1193.1563 1759.325,1192.7344 L1759.325,1190.2031 Q1760.2938,1190.8906 1761.2156,1191.2344 Q1762.1375,1191.5781 1763.0281,1191.5781 Q1763.9344,1191.5781 1764.4344,1191.1641 Q1764.9344,1190.75 1764.9344,1190.0156 Q1764.9344,1189.4531 1764.5984,1189.0391 Q1764.2625,1188.625 1763.6375,1188.375 L1762.4344,1187.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="1776.95" y="1191.5137">urt_nrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1748.95" x2="1878.95" y1="1203.3594" y2="1203.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1748.95" x2="1878.95" y1="1211.3594" y2="1211.3594"/><!--class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="1935.95" y="756.8594"/><ellipse cx="2081.7" cy="772.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2082.5438,779.6094 L2080.0906,779.6094 L2080.0906,769.3594 L2076.95,769.3594 L2076.95,767.2188 L2085.6844,767.2188 L2085.6844,769.3594 L2082.5438,769.3594 L2082.5438,779.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="2102.2" y="777.0137">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1936.95" x2="2390.95" y1="788.8594" y2="788.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1936.95" x2="2390.95" y1="796.8594" y2="796.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="1941.95" y="811.0698">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f13anogsv9jdn)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="2426.95" y="756.8594"/><ellipse cx="2655.2" cy="772.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2656.0438,779.6094 L2653.5906,779.6094 L2653.5906,769.3594 L2650.45,769.3594 L2650.45,767.2188 L2659.1844,767.2188 L2659.1844,769.3594 L2656.0438,769.3594 L2656.0438,779.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="2675.7" y="777.0137">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2427.95" x2="3039.95" y1="788.8594" y2="788.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2427.95" x2="3039.95" y1="796.8594" y2="796.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="2432.95" y="811.0698">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--link urt_osCondvar_t to urt_osMutex_t--><path d="M5238.71,1244.8604 C5308.49,1301.0144 5433.09,1390.3354 5557.95,1425.8594 C5629.5,1446.2154 8167.44,1413.8714 8235.95,1442.8594 C8293.05,1467.0194 8340.65,1520.7924 8370.62,1561.8284 " fill="none" id="urt_osCondvar_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8373.83,1566.2614,8371.8035,1556.6232,8370.9027,1562.2079,8365.318,1561.307,8373.83,1566.2614" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osCondvar_t to urt_delay_t--><path d="M5124.47,1245.0164 C5054.48,1300.8684 4930.16,1389.4474 4805.95,1425.8594 C4724.68,1449.6824 4128.57,1439.5474 4043.95,1442.8594 C2822.83,1490.6524 1330.86,1590.3874 1027.35,1611.0594 " fill="none" id="urt_osCondvar_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1022.11,1611.4164,1031.3631,1614.7899,1027.0982,1611.0735,1030.8146,1606.8087,1022.11,1611.4164" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osCondvar_t to urt_condvarStatus_t--><path d="M5181.95,1245.1854 C5181.95,1326.2034 5181.95,1487.4084 5181.95,1567.4684 " fill="none" id="urt_osCondvar_t-urt_condvarStatus_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5181.95,1572.6224,5185.95,1563.6224,5181.95,1567.6224,5177.95,1563.6224,5181.95,1572.6224" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_delay_t--><path d="M4367.36,1244.9234 C4298.21,1300.0204 4176.32,1387.2214 4054.95,1425.8594 C3459.39,1615.4584 1392.19,1616.4784 1027.22,1615.1444 " fill="none" id="urt_osTimer_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1021.97,1615.1244,1030.9585,1619.1501,1026.97,1615.1387,1030.9814,1611.1501,1021.97,1615.1244" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_status_t--><path d="M4369.24,1244.8704 C4300.72,1301.0334 4178.26,1390.3634 4054.95,1425.8594 C4012.89,1437.9664 941.826,1420.9324 903.951,1442.8594 C857.847,1469.5504 830.998,1526.5104 816.938,1567.5794 " fill="none" id="urt_osTimer_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="815.286,1572.5054,821.9406,1565.2448,816.8761,1567.765,814.3559,1562.7005,815.286,1572.5054" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_osTimerCallback_t--><path d="M4412,1245.1854 C4389.33,1330.6744 4342.97,1505.4434 4323.21,1579.9534 " fill="none" id="urt_osTimer_t-urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4321.83,1585.1414,4327.9991,1577.464,4323.109,1580.3077,4320.2653,1575.4176,4321.83,1585.1414" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadPrio_t--><path d="M5754.62,1425.9564 C5749.94,1431.5634 5745.38,1437.2004 5740.95,1442.8594 C5704.81,1489.0654 5675.46,1551.4924 5660.25,1587.0324 " fill="none" id="urt_osThread_t-urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5658.29,1591.6524,5665.4907,1584.933,5660.2451,1587.0505,5658.1276,1581.8049,5658.29,1591.6524" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadFunction_t--><path d="M6086.42,1426.1164 C6105.51,1486.6524 6123.88,1544.8764 6135.04,1580.2614 " fill="none" id="urt_osThread_t-urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6136.63,1585.3134,6137.7388,1575.5271,6135.1266,1580.5448,6130.109,1577.9326,6136.63,1585.3134" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osTime_t--><path d="M6320.51,1343.0124 C6405.53,1376.9164 6499.17,1408.2054 6588.95,1425.8594 C6643,1436.4884 8522.02,1419.5914 8571.95,1442.8594 C8630.18,1469.9944 8674,1532.6544 8698.06,1574.3764 " fill="none" id="urt_osThread_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8700.61,1578.8504,8699.6254,1569.0509,8698.1327,1574.5072,8692.6763,1573.0146,8700.61,1578.8504" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadTerminateSignal_t--><path d="M6272.75,1426.0844 C6278.24,1431.6854 6283.65,1437.2814 6288.95,1442.8594 C6329.36,1485.3854 6371.04,1538.4174 6398.09,1574.2664 " fill="none" id="urt_osThread_t-urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6401.32,1578.5514,6399.1112,1568.9534,6398.3163,1574.5541,6392.7156,1573.7592,6401.32,1578.5514" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadState_t--><path d="M5935.99,1426.1164 C5920.8,1470.8844 5906.04,1514.3874 5894.53,1548.3244 " fill="none" id="urt_osThread_t-urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5892.85,1553.2604,5899.5268,1546.0202,5894.4547,1548.5249,5891.95,1543.4527,5892.85,1553.2604" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osEventListener_t to urt_osEventFlags_t--><path d="M7445.21,1658.9974 C7501.31,1701.7804 7586.43,1766.6934 7633.54,1802.6204 " fill="none" id="urt_osEventListener_t-urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7637.7,1805.7934,7632.9645,1797.1577,7633.7226,1802.7635,7628.1167,1803.5215,7637.7,1805.7934" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osEventSource_t to urt_osEventFlags_t--><path d="M7898.48,1653.0624 C7842.82,1695.5074 7751.91,1764.8314 7702.53,1802.4924 " fill="none" id="urt_osEventSource_t-urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7698.46,1805.5914,7708.0433,1803.3195,7702.4374,1802.5615,7703.1955,1796.9557,7698.46,1805.5914" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventSource_t--><path d="M7021.6,1238.5864 C7089.2,1293.2194 7216.32,1386.0904 7342.95,1425.8594 C7475.02,1467.3354 7521.44,1402.8164 7653.95,1442.8594 C7746.72,1470.8914 7840.99,1534.0534 7896.43,1575.5354 " fill="none" id="urt_events-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7900.68,1578.7324,7895.8844,1570.1299,7896.6815,1575.7303,7891.0811,1576.5274,7900.68,1578.7324" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventListener_t--><path d="M7013.94,1238.4034 C7092.81,1317.3654 7262.48,1487.2334 7344.16,1569.0164 " fill="none" id="urt_events-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7347.99,1572.8434,7344.4675,1563.646,7344.4595,1569.3028,7338.8026,1569.2949,7347.99,1572.8434" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventMask_t--><path d="M6949.85,1238.4034 C6906.29,1321.2564 6810.13,1504.1944 6770.04,1580.4424 " fill="none" id="urt_events-urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6767.49,1585.3084,6775.2174,1579.2021,6769.8158,1580.8823,6768.1356,1575.4807,6767.49,1585.3084" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_status_t--><path d="M6918.63,1238.4334 C6844.39,1294.0594 6703.38,1389.2984 6564.95,1425.8594 C6526.94,1435.8984 937.997,1423.2034 903.951,1442.8594 C857.815,1469.4954 830.973,1526.4664 816.923,1567.5534 " fill="none" id="urt_events-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="815.273,1572.4814,821.9249,1565.2183,816.8614,1567.7404,814.3394,1562.6769,815.273,1572.4814" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventWaitType_t--><path d="M6976.87,1238.4034 C6986.06,1316.8954 7005.77,1485.2144 7015.41,1567.5474 " fill="none" id="urt_events-urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7016.03,1572.8434,7018.9575,1563.4397,7015.4492,1567.8772,7011.0116,1564.369,7016.03,1572.8434" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_delay_t--><path d="M6918.29,1238.5944 C6843.95,1294.1684 6703.11,1389.0914 6564.95,1425.8594 C6497.28,1443.8684 4113.95,1440.6654 4043.95,1442.8594 C2822.5,1481.1484 1330.79,1588.3664 1027.34,1610.7364 " fill="none" id="urt_events-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1022.1,1611.1234,1031.3723,1614.4437,1027.0862,1610.7519,1030.778,1606.4658,1022.1,1611.1234" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_rtclass_t to urt_rtclasstype_t--><path d="M1572.59,582.4794 C1539.05,626.6994 1488.86,692.8694 1454.83,737.7394 " fill="none" id="urt_rtclass_t-urt_rtclasstype_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1580.53,572.0194,1573.7206,574.3925,1573.2921,581.5908,1580.1015,579.2177,1580.53,572.0194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1567.3261" y="591.5264">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1451.4538" y="726.7677">1</text><!--link urt_rtclass_t to urt_rtclassparams_t--><path d="M1607.95,585.0294 C1607.95,629.2094 1607.95,693.7294 1607.95,737.7394 " fill="none" id="urt_rtclass_t-urt_rtclassparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1607.95,572.0194,1603.95,578.0194,1607.95,584.0194,1611.95,578.0194,1607.95,572.0194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1599.2875" y="591.5264">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1599.3875" y="726.7677">1</text><!--link urt_rtclassparams_t to urt_hrtparams_t--><path d="M1549.06,845.4394 C1537.38,854.8394 1524.75,863.7994 1511.95,870.8594 C1501.37,876.6994 1494.64,870.4594 1485.95,878.8594 C1408.86,953.3624 1386.27,1084.9494 1379.66,1152.2084 " fill="none" id="urt_rtclassparams_t-urt_hrtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1559.06,837.1094,1551.8903,837.8806,1549.8446,844.7955,1557.0143,844.0242,1559.06,837.1094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1543.6223" y="857.221">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1354.1794" y="1141.1804">0..1</text><!--link urt_rtclassparams_t to urt_frtparams_t--><path d="M1607.95,850.0094 C1607.95,928.7394 1607.95,1063.8034 1607.95,1139.2574 " fill="none" id="urt_rtclassparams_t-urt_frtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1607.95,836.9294,1603.95,842.9294,1607.95,848.9294,1611.95,842.9294,1607.95,836.9294" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1599.3875" y="857.0157">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1582.4125" y="1128.1823">0..1</text><!--link urt_rtclassparams_t to urt_srtparams_t--><path d="M1553.65,845.7794 C1540.99,855.9194 1526.83,865.0694 1511.95,870.8594 C1486.67,880.6994 1291.16,864.8294 1267.95,878.8594 C1163.8,941.8214 1114.89,1089.5124 1097.17,1158.1334 " fill="none" id="urt_rtclassparams_t-urt_srtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1563.92,837.0894,1556.7564,837.9161,1554.7644,844.8466,1561.9279,844.0199,1563.92,837.0894" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1558.2908" y="857.1982">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1072.4965" y="1147.2801">0..1</text><!--link urt_rtclassparams_t to urt_nrtparams_t--><path d="M1696.41,842.4394 C1709.05,853.2294 1720.83,865.4294 1729.95,878.8594 C1794.42,973.8264 1809.46,1115.9634 1812.92,1171.2234 " fill="none" id="urt_rtclassparams_t-urt_nrtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1686.12,834.0894,1688.258,840.9762,1695.4374,841.6515,1693.2994,834.7646,1686.12,834.0894" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1693.9518" y="834.8913">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1785.5811" y="1160.2006">0..1</text><!--link urt_hrtparams_t to urt_delay_t--><path d="M1364.61,1238.4784 C1348.51,1287.8194 1316.41,1369.9174 1266.95,1425.8594 C1198.59,1503.1794 1091.25,1561.0324 1026.64,1591.2574 " fill="none" id="urt_hrtparams_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1022.06,1593.3854,1031.9077,1593.2327,1026.597,1591.2841,1028.5456,1585.9735,1022.06,1593.3854" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_hrtparams_t to urt_osTimer_t--><path d="M1375.35,1139.3074 C1376.22,1050.7904 1392.92,887.3294 1503.45,874.8594 C1538.42,870.9094 4002.48,870.9094 4037.45,874.8594 C4202.06,893.4294 4335.54,1060.5534 4393.6,1145.8074 " fill="none" id="urt_hrtparams_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1375.34,1152.3164,1379.3479,1146.3217,1375.3558,1140.3164,1371.3479,1146.3111,1375.34,1152.3164" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1375.7209" y="1141.3056">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4380.6289" y="1134.8453">1</text><!--link urt_frtparams_t to urt_delay_t--><path d="M1591.45,1251.3934 C1573.34,1303.0404 1539.51,1379.1424 1485.95,1425.8594 C1348.73,1545.5534 1129.15,1591.9364 1027.24,1607.7084 " fill="none" id="urt_frtparams_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1022.18,1608.4814,1031.6819,1611.0725,1027.1224,1607.7243,1030.4706,1603.1648,1022.18,1608.4814" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_frtparams_t to urt_osTimer_t--><path d="M1609.13,1125.8614 C1614.93,1035.2724 1640.8,886.8894 1747.45,874.8594 C1779.06,871.2894 4005.85,871.2894 4037.45,874.8594 C4202.06,893.4294 4335.54,1060.5534 4393.6,1145.8074 " fill="none" id="urt_frtparams_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1608.4,1139.0564,1612.7254,1133.2865,1609.063,1127.0747,1604.7376,1132.8445,1608.4,1139.0564" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1608.9423" y="1128.3539">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4389.7539" y="1134.8453">1</text><!--link urt_frtparams_t to urt_osTimerCallback_t--><path d="M1624.61,1264.0784 C1641.61,1317.5994 1673.69,1389.1924 1729.95,1425.8594 C1934.92,1559.4454 3657.8,1602.4794 4170.55,1612.3914 " fill="none" id="urt_frtparams_t-urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1620.81,1251.5814,1618.7289,1258.4857,1624.3017,1263.0621,1626.3828,1256.1579,1620.81,1251.5814" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1613.8898" y="1271.4211">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4154.9497" y="1608.9012">1</text><!--link urt_srtparams_t to urt_delay_t--><path d="M1078.87,1232.4024 C1058.26,1306.1514 1011.16,1474.6044 986.943,1561.2324 " fill="none" id="urt_srtparams_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="985.595,1566.0564,991.8723,1558.4672,986.9424,1561.2413,984.1682,1556.3114,985.595,1566.0564" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_message_t to urt_message_t--><path d="M3539.51,754.6594 C3553.85,762.4394 3562.45,773.3394 3562.45,787.3594 C3562.45,804.9594 3548.9,817.6394 3527.48,825.3994 " fill="none" id="urt_message_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3527.48,749.3194,3531.3431,755.4084,3538.4495,754.1845,3534.5865,748.0954,3527.48,749.3194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3535.7287" y="744.7477">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3535.274" y="823.4666">0..1</text><!--link urt_message_t to urt_osTime_t--><path d="M3540.74,789.2794 C4528.99,793.4994 8252.13,813.7194 8354.95,878.8594 C8615.06,1043.6424 8695.37,1454.3234 8714.12,1578.6374 " fill="none" id="urt_message_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3527.46,789.2194,3533.4468,793.2391,3539.4599,789.2589,3533.4732,785.2392,3527.46,789.2194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3535.708" y="786.0816">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8704.5472" y="1567.7848">1</text><!--link urt_message_t to urt_osMutex_t--><path d="M3540.85,788.7694 C4515.51,790.9594 8143.83,804.0994 8235.95,878.8594 C8448.21,1051.1044 8426.82,1430.9924 8411.58,1566.0364 " fill="none" id="urt_message_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3527.75,788.7494,3533.7412,792.7626,3539.75,788.7757,3533.7588,784.7626,3527.75,788.7494" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3535.2903" y="801.1062">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8403.9334" y="1555.3947">1</text><!--link urt_message_t to urt_osCondvar_t--><path d="M3540.69,794.5194 C3935.36,805.9194 4691.83,833.3894 4805.95,878.8594 C4950.62,936.4944 5080.35,1072.6224 5142.75,1145.8054 " fill="none" id="urt_message_t-urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3527.67,794.1494,3533.5533,798.3191,3539.6651,794.4921,3533.7818,790.3224,3527.67,794.1494" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3535.2077" y="806.6834">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5128.675" y="1134.843">1</text><!--link urt_subscriber_t to urt_subscriber_t--><path d="M2200.86,214.1194 C2215.25,222.0994 2223.45,232.0094 2223.45,243.8594 C2223.45,258.7294 2210.54,270.5494 2188.69,279.3194 " fill="none" id="urt_subscriber_t-urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2188.69,208.3994,2192.4204,214.5706,2199.5517,213.5007,2195.8213,207.3295,2188.69,208.3994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2196.0762" y="204.7284">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2196.2137" y="276.8674">0..1</text><!--link urt_subscriber_t to urt_topic_t--><path d="M2201.49,364.9494 C2203.31,365.2594 2205.13,365.5594 2206.95,365.8594 C2586.77,428.3294 2700.2,322.3794 3070.95,425.8594 C3082.5,429.0794 3094.15,432.9794 3105.76,437.3494 " fill="none" id="urt_subscriber_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2188.48,362.7094,2193.7113,367.6726,2200.3048,364.7527,2195.0735,359.7894,2188.48,362.7094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2196.946" y="379.713">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3073.7838" y="445.8938">0..1</text><!--link urt_topic_t to urt_subscriber_t--><path d="M3093.02,422.3094 C2732.5,324.8394 2617.32,427.5994 2241.95,365.8594 C2224.4,362.9694 2206.54,359.7194 2188.54,356.1794 " fill="none" id="urt_topic_t-urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3105.68,425.7794,3100.9528,420.3339,3094.108,422.603,3098.8352,428.0485,3105.68,425.7794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3090.0132" y="418.286">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="2196.0525" y="355.0484">0..*</text><!--link urt_subscriber_t to urt_osEventListener_t--><path d="M2201.68,362.2794 C2209.15,363.5394 2216.57,364.7294 2223.95,365.8594 C2796.17,453.1494 2946.9,395.7694 3524.95,425.8594 C4590.41,481.3294 7315.37,339.0094 8317.95,703.8594 C8635.06,819.2594 8789.3,1184.9924 8552.95,1425.8594 C8535.48,1443.6674 7678.81,1435.5504 7654.95,1442.8594 C7570,1468.8904 7486.44,1530.8534 7436.54,1572.8484 " fill="none" id="urt_subscriber_t-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2188.64,360.0194,2193.865,364.9893,2200.4622,362.0777,2195.2372,357.1078,2188.64,360.0194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2196.0253" y="358.9544">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7435.3278" y="1561.8427">1</text><!--link urt_subscriber_t to urt_rtclass_t--><path d="M1691.6,377.8894 C1668.05,421.8094 1643.73,467.1494 1627.43,497.5394 " fill="none" id="urt_subscriber_t-urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1697.89,366.1694,1691.5296,369.5672,1692.2197,376.7452,1698.5801,373.3474,1697.89,366.1694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1685.6817" y="386.1485">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1622.1874" y="486.6693">1</text><!--link urt_subscriber_t to urt_message_t--><path d="M1870.84,377.3694 C1880.42,393.1094 1889.07,409.4294 1895.95,425.8594 C1933.84,516.3794 1857.99,578.2394 1930.95,643.8594 C2024.11,727.6394 2933.89,680.3194 3056.95,703.8594 C3063.34,705.0794 3069.8,706.4294 3076.28,707.8894 " fill="none" id="urt_subscriber_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1863.71,366.0194,1863.5123,373.2278,1870.0901,376.1827,1870.2878,368.9744,1863.71,366.0194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1861.6063" y="385.9893">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3044.4815" y="702.1008">0..1</text><!--link urt_subscriber_t to urt_osTime_t--><path d="M2201.63,362.5794 C2209.12,363.7494 2216.56,364.8394 2223.95,365.8594 C3019.47,475.2394 5035.36,378.3594 5836.95,425.8594 C7050.89,497.7994 7472.53,157.4994 8558.95,703.8594 C8876.9,863.7494 8764.25,1429.5714 8728.27,1578.6424 " fill="none" id="urt_subscriber_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2188.57,360.4794,2193.8618,365.378,2200.419,362.3773,2195.1271,357.4787,2188.57,360.4794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2195.9541" y="374.6801">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8721.2176" y="1567.7907">1</text><!--link urt_subscriber_t to urt_delay_t--><path d="M1324.08,258.2894 C1046.91,277.0894 724.876,321.5094 635.951,425.8594 C347.673,764.1294 331.791,1101.7944 635.951,1425.8594 C676.79,1469.3714 855.69,1407.7584 903.951,1442.8594 C943.162,1471.3784 959.775,1526.0954 966.806,1566.1834 " fill="none" id="urt_subscriber_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1337.25,257.4194,1330.9954,253.8305,1325.277,258.2237,1331.5316,261.8126,1337.25,257.4194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1321.8645" y="254.591">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="957.52" y="1555.2039">2</text><!--link urt_subscriber_t to urt_status_t--><path d="M1337.17,265.9494 C1020.4,288.7894 620.171,334.9394 482.951,425.8594 C293.96,551.0794 123.902,1262.3564 280.951,1425.8594 C313.458,1459.7034 662.702,1418.7304 702.951,1442.8594 C748.758,1470.3204 776.03,1527.1224 790.474,1567.9444 " fill="none" id="urt_subscriber_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="792.172,1572.8404,793.0019,1563.0265,790.5336,1568.1164,785.4437,1565.6481,792.172,1572.8404" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_subscriber_t to urt_topicid_t--><path d="M1337.42,261.1594 C863.193,283.7894 151.524,332.8894 67.9508,425.8594 C-28.2397,532.8694 -34.1277,1210.5444 211.951,1425.8594 C241.002,1451.2784 527.348,1420.6934 558.951,1442.8594 C590.653,1465.0944 608.448,1504.1034 618.412,1539.3554 " fill="none" id="urt_subscriber_t-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="619.826,1544.5264,621.3109,1534.7901,618.5074,1539.7034,613.5941,1536.8999,619.826,1544.5264" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_topic_t--><path d="M3199.82,320.6294 C3214.59,352.7194 3232.07,390.6994 3248.16,425.6594 " fill="none" id="urt_publisher_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3194.3,308.6394,3193.1705,315.7615,3199.3103,319.5434,3200.4398,312.4213,3194.3,308.6394" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3188.9142" y="328.1759">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3236.546" y="414.8745">1</text><!--link urt_publisher_t to urt_message_t--><path d="M3384.37,308.4694 C3439.71,335.4794 3492.55,373.3094 3524.95,425.8594 C3575.8,508.3394 3571.49,558.8794 3524.95,643.8594 C3513.2,665.3094 3496.7,683.9994 3477.93,700.1494 " fill="none" id="urt_publisher_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="3473.63,703.7694,3483.0898,701.0285,3477.4534,700.5474,3477.9346,694.911,3473.63,703.7694" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_osTime_t--><path d="M3544.7,249.2894 C4845.9,265.3694 9050.12,325.0294 9147.95,425.8594 C9302.69,585.3494 9269.35,1239.7244 9147.95,1425.8594 C9083.08,1525.3274 8952.79,1572.8074 8852.73,1595.2494 " fill="none" id="urt_publisher_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8847.69,1596.3644,8857.3438,1598.315,8852.5707,1595.2788,8855.6069,1590.5058,8847.69,1596.3644" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_delay_t--><path d="M2991.92,308.4294 C2923.17,330.8194 2842.77,353.4694 2767.95,365.8594 C2666.17,382.7094 983.711,351.7394 911.951,425.8594 C602.8,745.1694 843.909,986.6544 911.951,1425.8594 C919.214,1472.7434 936.045,1523.9214 950.038,1561.1834 " fill="none" id="urt_publisher_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="951.904,1566.1164,952.4596,1556.2832,950.1343,1561.44,944.9775,1559.1147,951.904,1566.1164" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_status_t--><path d="M2992.42,308.3594 C2923.57,330.8094 2842.96,353.5294 2767.95,365.8594 C2658.32,383.8794 848.864,348.6694 768.951,425.8594 C443.206,740.5094 701.253,1388.6324 781.922,1567.9694 " fill="none" id="urt_publisher_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="784.025,1572.6294,783.9679,1562.7807,781.9678,1568.0722,776.6763,1566.0722,784.025,1572.6294" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_topic_t to urt_topic_t--><path d="M3501.99,500.4194 C3516.26,508.2794 3524.95,519.7594 3524.95,534.8594 C3524.95,553.8094 3511.26,567.0594 3490.05,574.6094 " fill="none" id="urt_topic_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3490.05,495.1094,3493.9131,501.1984,3501.0195,499.9745,3497.1565,493.8854,3490.05,495.1094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3497.7102" y="490.3242">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3498.0227" y="572.9296">0..1</text><!--link urt_topic_t to urt_osMutex_t--><path d="M3503.41,535.5094 C4389.39,534.9594 7859.04,543.1894 8317.95,703.8594 C8440.86,746.8894 8494.51,762.4794 8552.95,878.8594 C8662.04,1096.1184 8632.23,1196.0374 8552.95,1425.8594 C8534.2,1480.2284 8492.65,1530.9014 8458.34,1566.0654 " fill="none" id="urt_topic_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3490.24,535.5194,3496.24,539.5194,3502.24,535.5194,3496.24,531.5194,3490.24,535.5194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3497.9076" y="532.3127">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8456.9768" y="1555.4276">1</text><!--link urt_topic_t to urt_osEventSource_t--><path d="M3503.28,537.8594 C4365.39,546.9494 7668.82,589.0294 8119.95,703.8594 C8288.49,746.7594 8378.52,730.9194 8469.95,878.8594 C8533.86,982.2604 8552.9,1337.0044 8469.95,1425.8594 C8451.18,1445.9684 8249.13,1434.4104 8222.95,1442.8594 C8132.18,1472.1564 8040.89,1537.4024 7989.1,1578.5814 " fill="none" id="urt_topic_t-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3490.14,537.7194,3496.0957,541.7851,3502.1393,537.8512,3496.1836,533.7855,3490.14,537.7194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3497.8037" y="550.1845">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7988.0736" y="1567.7188">1</text><!--link urt_topic_t to urt_osTimer_t--><path d="M3502.36,610.3294 C3659.38,671.7594 3878.52,766.8294 4054.95,878.8594 C4181.09,958.9564 4309.68,1079.1164 4377.03,1145.6504 " fill="none" id="urt_topic_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3490.22,605.5994,3494.3609,611.503,3501.4031,609.9513,3497.2622,604.0476,3490.22,605.5994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3497.8868" y="605.1302">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4361.7287" y="1134.6662">1</text><!--link urt_topic_t to urt_message_t--><path d="M3287.14,657.0994 C3287.35,672.8394 3287.82,688.6794 3288.55,703.5894 " fill="none" id="urt_topic_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3287.03,643.9094,3283.0829,649.9443,3287.1355,655.9089,3291.0826,649.874,3287.03,643.9094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3277.9343" y="664.5234">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="3263.4102" y="692.8081">1..*</text><!--link urt_topic_t to urt_message_t--><path d="M3313.38,657.0994 C3313.68,672.8394 3313.7,688.6794 3313.41,703.5894 " fill="none" id="urt_topic_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3313.06,643.9094,3309.2063,650.0044,3313.3503,655.9059,3317.204,649.8108,3313.06,643.9094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3305.8759" y="664.5234">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3306.0511" y="692.8081">1</text><!--link urt_topic_t to urt_topicid_t--><path d="M3093.26,642.4494 C3091.49,642.9394 3089.72,643.4094 3087.95,643.8594 C2963.2,675.7694 871.68,623.6494 770.951,703.8594 C514.497,908.0794 578.854,1368.8954 614.787,1544.8064 " fill="none" id="urt_topic_t-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3105.87,638.7394,3098.9846,636.5966,3094.3585,642.1282,3101.2438,644.271,3105.87,638.7394" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3090.2106" y="639.5647">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="604.7076" y="1533.7983">1</text><!--link urt_topic_t to urt_osTime_t--><path d="M3490.16,536.5594 C4401.05,540.5894 8248.16,565.7394 8459.95,703.8594 C8760.08,899.5994 8736.92,1422.2074 8723.39,1573.3694 " fill="none" id="urt_topic_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8722.91,1578.5884,8727.7102,1569.9885,8723.3637,1573.609,8719.7432,1569.2625,8722.91,1578.5884" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_topic_t to urt_status_t--><path d="M3105.87,638.7294 C3099.89,640.6094 3093.91,642.3294 3087.95,643.8594 C2853.68,703.9994 1128.1,595.3294 911.951,703.8594 C823.431,748.2994 806.41,785.2794 773.951,878.8594 C694.284,1108.5464 754.836,1183.5014 773.951,1425.8594 C777.788,1474.5144 787.1,1529.5664 794.34,1567.6504 " fill="none" id="urt_topic_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="795.302,1572.6754,797.5389,1563.0839,794.3621,1567.7645,789.6815,1564.5877,795.302,1572.6754" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_topic_t--><path d="M2672.8,330.6194 C2704.03,343.7094 2736.59,356.0894 2767.95,365.8594 C2906.1,408.8894 2951.07,378.9494 3087.95,425.8594 C3093.87,427.8894 3099.82,430.0594 3105.79,432.3394 " fill="none" id="urt_core_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2660.44,325.3794,2664.3983,331.4069,2671.4847,330.0714,2667.5263,324.0438,2660.44,325.3794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2675.9727" y="345.6478">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="3074.8345" y="425.1022">0..*</text><!--link urt_core_t to urt_node_t--><path d="M2497.57,338.4494 C2498.17,373.2294 2498.85,412.5194 2499.44,446.6994 " fill="none" id="urt_core_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2497.34,325.3594,2493.4461,331.4288,2497.551,337.3575,2501.4449,331.2881,2497.34,325.3594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2489.0994" y="345.6259">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="2475.3626" y="435.848">0..*</text><!--link urt_core_t to urt_osEventSource_t--><path d="M2660.12,330.6694 C2694.85,345.1494 2731.92,358.0194 2767.95,365.8594 C2849.72,383.6494 8734.07,366.3894 8792.95,425.8594 C9105.65,741.6894 9102.5,1106.9394 8792.95,1425.8594 C8770.89,1448.5924 8253.28,1433.7174 8222.95,1442.8594 C8131.08,1470.5484 8039.44,1536.9744 7987.99,1578.7024 " fill="none" id="urt_core_t-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2647.94,325.4894,2651.8957,331.5186,2658.9827,330.1861,2655.0269,324.1569,2647.94,325.4894" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2653.5828" y="345.7679">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7996.1909" y="1567.8614">1</text><!--link urt_core_t to urt_osMutex_t--><path d="M2660.5,330.5394 C2695.14,344.9894 2732.07,357.8694 2767.95,365.8594 C3100.87,439.9794 5496.55,404.5494 5836.95,425.8594 C7007.85,499.1694 7403.25,198.3694 8461.95,703.8594 C8759.91,846.1194 8838.24,1164.1284 8636.95,1425.8594 C8619.01,1449.1894 8598.37,1428.0214 8572.95,1442.8594 C8519.24,1474.2154 8471.14,1527.3374 8440.31,1566.2664 " fill="none" id="urt_core_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2648.35,325.3694,2652.3057,331.3986,2659.3927,330.0661,2655.4369,324.0369,2648.35,325.3694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2662.7681" y="345.6368">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8436.72" y="1555.2985">1</text><!--link urt_core_t to urt_status_t--><path d="M2342.37,325.3994 C2304.61,341.7494 2263.61,356.7194 2223.95,365.8594 C2130.24,387.4694 560.764,356.6894 493.951,425.8594 C339.563,585.6894 343.32,1262.4794 493.951,1425.8594 C525.537,1460.1184 663.483,1418.0874 702.951,1442.8594 C747.905,1471.0744 775.234,1527.1584 789.929,1567.6264 " fill="none" id="urt_core_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="791.658,1572.4814,792.4045,1562.6609,789.9795,1567.7715,784.8688,1565.3465,791.658,1572.4814" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_nodesync_t--><path d="M2342.39,325.4894 C2304.63,341.8294 2263.63,356.7794 2223.95,365.8594 C2121.06,389.4194 407.095,359.5694 324.951,425.8594 C13.0693,677.5294 99.3411,1225.7594 160.632,1480.1734 " fill="none" id="urt_core_t-urt_nodesync_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="161.894,1485.3844,163.665,1475.6961,160.718,1480.5246,155.8894,1477.5776,161.894,1485.3844" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_topicid_t--><path d="M2342.38,325.4494 C2304.62,341.7994 2263.62,356.7494 2223.95,365.8594 C2125.03,388.5694 471.732,356.1594 397.951,425.8594 C280.236,537.0694 305.83,1353.4544 371.951,1425.8594 C400.089,1456.6714 525.296,1418.1914 558.951,1442.8594 C590.058,1465.6594 607.805,1504.4914 617.891,1539.4944 " fill="none" id="urt_core_t-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="619.324,1544.6284,620.7569,1534.8843,617.9797,1539.8125,613.0515,1537.0352,619.324,1544.6284" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeSetupCallback_t to urt_node_t--><path d="M2195.12,756.8094 C2234.54,724.7594 2304.23,672.0394 2367.21,626.1294 " fill="none" id="urt_nodeSetupCallback_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2371.34,623.1194,2361.7096,625.182,2367.2976,626.0619,2366.4176,631.6499,2371.34,623.1194" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_nodeSetupCallback_t--><path d="M2385.96,631.1094 C2326.9,675.7994 2258.13,725.9194 2212.8,756.8094 " fill="none" id="urt_node_t-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2396.49,623.1194,2389.2923,623.5589,2386.9297,630.372,2394.1274,629.9325,2396.49,623.1194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2379.5082" y="643.12">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2214.6109" y="745.5887">1</text><!--link urt_nodeSetupCallback_t to urt_status_t--><path d="M2088.8,817.9394 C2035.83,837.1894 1962.71,860.5594 1895.95,870.8594 C1881.58,873.0794 859.505,868.8594 848.951,878.8594 C750.017,972.6444 784.551,1419.7774 798.953,1567.4264 " fill="none" id="urt_nodeSetupCallback_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="799.457,1572.5504,802.5557,1563.2017,798.967,1567.5744,794.5942,1563.9857,799.457,1572.5504" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeLoopCallback_t to urt_node_t--><path d="M2697.88,756.8094 C2664.58,724.9594 2614.71,672.6694 2573.37,626.9594 " fill="none" id="urt_nodeLoopCallback_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2569.9,623.1194,2572.9674,632.4784,2573.2527,626.8287,2578.9024,627.1141,2569.9,623.1194" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_nodeLoopCallback_t--><path d="M2604.28,632.7794 C2646.45,677.0494 2690.9,726.2994 2715.55,756.8094 " fill="none" id="urt_node_t-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2595.05,623.1194,2596.31,630.2196,2603.3486,631.7874,2602.0886,624.6872,2595.05,623.1194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2594.5114" y="643.12">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2702.65" y="745.5887">1</text><!--link urt_nodeLoopCallback_t to urt_osEventMask_t--><path d="M2820.88,817.8694 C2882.59,837.2094 2967.83,860.7294 3044.95,870.8594 C3059.8,872.8094 7346.37,868.2594 7356.95,878.8594 C7399.89,921.8754 7399.09,1382.0614 7356.95,1425.8594 C7323.03,1461.1164 6961.58,1422.8024 6916.95,1442.8594 C6852.13,1471.9924 6800.02,1539.4474 6772.74,1580.6954 " fill="none" id="urt_nodeLoopCallback_t-urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6769.86,1585.0964,6778.136,1579.7571,6772.5985,1580.913,6771.4425,1575.3755,6769.86,1585.0964" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeLoopCallback_t to urt_status_t--><path d="M2642.64,817.8894 C2578.13,837.1694 2489.22,860.6094 2408.95,870.8594 C2398.64,872.1794 919.736,871.9694 911.951,878.8594 C820.178,960.0724 861.819,1304.9334 841.951,1425.8594 C833.979,1474.3764 822.643,1529.4484 814.429,1567.5754 " fill="none" id="urt_nodeLoopCallback_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="813.342,1572.6064,819.1522,1564.6539,814.3977,1567.7191,811.3325,1562.9647,813.342,1572.6064" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_node_t--><path d="M3065.37,511.5694 C3079.84,518.0294 3087.95,525.7894 3087.95,534.8594 C3087.95,546.2394 3075.18,555.5694 3053.09,562.8394 " fill="none" id="urt_node_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3053.09,506.8794,3057.2718,512.7541,3064.303,511.1535,3060.1212,505.2788,3053.09,506.8794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3060.9107" y="503.4479">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3061.0232" y="560.1949">0..1</text><!--link urt_node_t to urt_osThread_t--><path d="M2964.7,624.9994 C3006.3,631.8394 3047.84,638.2494 3087.95,643.8594 C4169.55,795.0294 4503.86,516.0594 5533.95,878.8594 C5594.62,900.2294 5655.19,930.8554 5711.85,964.7214 " fill="none" id="urt_node_t-urt_osThread_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2951.79,622.8694,2957.0597,627.7918,2963.6303,624.8208,2958.3606,619.8983,2951.79,622.8694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2980.7939" y="642.8492">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5693.8061" y="953.9774">1</text><!--link urt_node_t to urt_nodesync_t--><path d="M2034.05,624.9294 C1987.5,632.0894 1940.87,638.5794 1895.95,643.8594 C1664.49,671.0494 1056.39,597.6494 848.951,703.8594 C526.678,868.8594 328.754,1275.9744 244.826,1485.5724 " fill="none" id="urt_node_t-urt_nodesync_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2047.17,622.8994,2040.6293,619.8632,2035.3109,624.733,2041.8517,627.7692,2047.17,622.8994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2001.2601" y="642.8817">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="239.3047" y="1474.6753">1</text><!--link urt_node_t to urt_osEventMask_t--><path d="M2940.32,624.9294 C2989.95,632.5394 3039.93,639.1294 3087.95,643.8594 C3996.53,733.4394 6286.19,627.1494 7195.95,703.8594 C7702.36,746.5594 7995.23,492.9794 8325.95,878.8594 C8484.16,1063.4514 8496.82,1252.9204 8325.95,1425.8594 C8298.44,1453.7034 6952.86,1427.2884 6916.95,1442.8594 C6849.18,1472.2414 6795.7,1544.2724 6769.53,1585.1914 " fill="none" id="urt_node_t-urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2927.37,622.9194,2932.6883,627.7892,2939.2291,624.753,2933.9107,619.8832,2927.37,622.9194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2954.3517" y="642.9034">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6764.3309" y="1574.42">1</text><!--link urt_node_t to urt_osEventWaitType_t--><path d="M2939.57,624.9094 C2989.45,632.5494 3039.69,639.1494 3087.95,643.8594 C4125.76,745.2294 6747.55,557.2594 7779.95,703.8594 C8069.36,744.9594 8236.87,646.2794 8413.95,878.8594 C8487.59,975.5734 8499.33,1339.3414 8413.95,1425.8594 C8388.8,1451.3464 7156.02,1425.0644 7124.95,1442.8594 C7076.35,1470.6924 7047.81,1531.2334 7033.28,1572.5294 " fill="none" id="urt_node_t-urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2926.56,622.8894,2931.8792,627.7583,2938.4194,624.721,2933.1002,619.8521,2926.56,622.8894" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2962.1371" y="642.8709">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7026.5555" y="1561.7914">1</text><!--link urt_node_t to urt_osEventListener_t--><path d="M2939.2,624.8894 C2989.2,632.5494 3039.56,639.1494 3087.95,643.8594 C3366.21,670.9194 7848.24,638.0094 8119.95,703.8594 C8288.97,744.8294 8378.52,730.9194 8469.95,878.8594 C8597.76,1085.6624 8640.05,1252.1704 8469.95,1425.8594 C8438.26,1458.2144 7698.24,1429.5504 7654.95,1442.8594 C7570.28,1468.8914 7486.98,1530.5314 7437.01,1572.4924 " fill="none" id="urt_node_t-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2926.16,622.8694,2931.4792,627.7383,2938.0194,624.701,2932.7002,619.8321,2926.16,622.8694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2953.0415" y="642.8492">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7444.8286" y="1561.7487">1</text><!--link urt_node_t to urt_osThreadTerminateSignal_t--><path d="M2931.83,622.9094 C2984.25,631.1994 3037.2,638.4994 3087.95,643.8594 C3372.66,673.9394 8039.39,670.6994 8235.95,878.8594 C8402.86,1055.6204 8406.97,1253.0694 8235.95,1425.8594 C8203.77,1458.3774 6630.83,1424.4384 6588.95,1442.8594 C6527.6,1469.8454 6478.82,1532.7614 6451.66,1574.5504 " fill="none" id="urt_node_t-urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6448.94,1578.7784,6457.1767,1573.3787,6451.6478,1574.5751,6450.4515,1569.0462,6448.94,1578.7784" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2 2
@startuml
3 3

  
4 4
title **µRtWare**\nOverview\n
......
30 30
    uint64_t
31 31
  }
32 32

  
33
  class urt_debug <<(F,white)>> {
34
    + urtDebugAssert(condition : bool) : void
35
  }
36

  
37
  class urt_nodesync_t <<T,lightblue>> {
38
    uin8_t
39
    .. or ..
40
    int8_t
41
    .. or ..
42
    uint16_t
43
    .. or ..
44
    int16_t
45
    .. or ..
46
    uint32_t
47
    .. or ..
48
    int32_t
49
    .. or ..
50
    uint64_t
51
    .. or ..
52
    int64_t
53
  }
54

  
33 55
} 
34 56

  
35 57

  
36 58

  
37 59
package "interfaces" {
38 60

  
61
  class urt_config <<(C,grey)>> {
62
    + URT_CONFIG_DEBUG : bool
63
  }
64

  
39 65
  class urt_osTime_t <<(T,lightblue)>> {
40 66
    + urtTime2Us (t : urt_osTime_t*) : uint64_t
41 67
    + urtTimeNow (void) : urt_osTime_t
......
99 125
      URT_THREAD_TERMINATE_KILL = 9
100 126
    }
101 127

  
128
    enum urt_osThreadState_t {
129
      URT_THREAD_STATE_RUNNING = 0
130
      URT_THREAD_STATE_READY = 1
131
      URT_THREAD_STATE_SLEEPING = 2
132
      URT_THREAD_STATE_SUSPENDED = 3
133
      URT_THREAD_STATE_WAITING = 4
134
      URT_THREAD_STATE_TERMINATED = 5
135
    }
136

  
102 137
    class urt_osThread_t <<(T,lightblue)>> {
103 138
      + URT_THREAD_PRIO_LOW_MIN : urt_osThreadPrio_t
104 139
      + URT_THREAD_PRIO_LOW_MAX : urt_osThreadPrio_t
......
114 149
      + URT_THREAD_MAX_MSLEEP : unsigned int
115 150
      + URT_THREAD_MAX_USLEEP : unsigned int
116 151
      __
117
      + URT_THREAD_WORKING_AREA (var : varname, stacksize : size_t)
152
      + URT_THREAD_WORKING_AREA (varname, stacksize)
118 153
      ..
119 154
      + urtThreadInit (wa : void*, wasize : size_t, func : urt_osThreadFunction_t*, arg : void*) : urt_osThread_t*
120 155
      + urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void
121 156
      + urtThreadYield (void) : void
122 157
      + urtThreadGetPriority (thread : urt_osThread_t*) : urt_osThreadPrio_t
123 158
      + urtThreadSetPriority (thread : urt_osThread_t*, prio : urt_osThreadPrio_t) : void
124
      + urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*
125
      + urtThreadGetParent (thread : urt_osThread_t*) : urt_osThread_t*
126 159
      + urtThreadSuspend (void) : void
127
      + urtThreadIsSuspended (thread : urt_osThread_t*) : bool
128 160
      + urtThreadResume (thread : urt_osThread_t*) : urt_status_t
129 161
      + urtThreadSleep (seconds : float) : void
130 162
      + urtThreadSSleep (seconds : usnigned int) : void
......
134 166
      + urtThreadExit (void) : void
135 167
      + urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
136 168
      + urtThreadJoin (thread : urt_osThread_t*) : void
169
      + urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
170
      + urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*
171
      + urtThreadGetSibling (thread : urt_osThread_t*) : urt_psThread_t*
137 172
    }
138 173
    urt_osThread_t ..> urt_osThreadPrio_t
139 174
    urt_osThread_t ..> urt_osThreadFunction_t
140 175
    urt_osThread_t ..> urt_osTime_t
141 176
    urt_osThread_t ..> urt_osThreadTerminateSignal_t
177
    urt_osThread_t ..> urt_osThreadState_t
142 178

  
143 179
  } 
144 180

  
145 181
  package "events" {
146 182

  
147
    class urt_osEventMask_t <<(T,lightblue)>>
183
    class urt_osEventMask_t <<(T,lightblue)>> {
184
      + URT_EVENTMASK_MAXPRIO : urt_osEventMask_t
185
    }
148 186

  
149 187
    class urt_osEventFlags_t <<(T,lightblue)>>
150 188

  
......
181 219

  
182 220
  } 
183 221

  
222
    class urt_streams <<(F,white)>> {
223
      + urtPrintf(fmt : char*, ... ) : int
224
      + urtErrPrintf(fmt : char*, ... ) : int
225
    }
226

  
184 227
} 
185 228

  
186 229
package "middleware" {
......
306 349

  
307 350
  class urt_topic_t <<(S,lightgrey)>> {
308 351
    + next : urt_topic_t*
309
    + mutex : urt_osMutex_t
352
    + lock : urt_osMutex_t
310 353
    + evtSource : urt_osEventSource_t
311 354
    + numHrtSubscribers : unsigned int
312 355
    + hrtSubscribers : urt_subscriber_t*
......
319 362
    + numSubscribers : unsigned int
320 363
    __
321 364
    + urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
322
    + urtTopicContributeMessages (topic : urt_topic_t*, messages : urt_message_t*) : void
323 365
  }
324 366
  urt_topic_t "1" o- - "0..1" urt_topic_t
325 367
  urt_topic_t "1" *- - "1" urt_osMutex_t
......
335 377
  class urt_core_t <<(S,lightgrey)>> {
336 378
    - {static} _nodes : urt_node_t*
337 379
    - {static} _topics : urt_topic_t*
380
    - {static} _evtSource : urt_osEventSource_t
381
    - {static} _lock : urt_osMutex_t
338 382
    __
339 383
    + urtCoreInit (void) : urt_status_t
340
    + urtCoreStartAll (void) : urt_status_t
341
    + urtCoreStopAll (void) : urt_status_t
384
    + urtCoreStartNodes (void) : urt_status_t
385
    + urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodesync_t) : urt_status_t
386
    + urtCoreStopNodes (void) : urt_status_t
342 387
    + urtCoreRetrieveTopic (id : urt_topicid_t) : urt_topic_t*
343 388
  }
344 389
  urt_core_t "1" o- - "0..*" urt_topic_t
345 390
  urt_core_t "1" o- - "0..*" urt_node_t
391
  urt_core_t "1" *- - "1" urt_osEventSource_t
392
  urt_core_t "1" *- - "1" urt_osMutex_t
346 393
  urt_core_t ..> urt_status_t
394
  urt_core_t - -> urt_nodesync_t
347 395
  urt_core_t ..> urt_topicid_t
348 396

  
349 397
  package "node" {
350 398

  
351 399
    class urt_nodeSetupCallback_t <<(T,lightblue)>> {
352
      urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_status_t
400
      urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t
353 401
    }
354 402
    urt_nodeSetupCallback_t ..> urt_node_t
355 403
    urt_nodeSetupCallback_t ..> urt_status_t
356 404

  
357 405
    class urt_nodeLoopCallback_t <<(T,lightblue)>> {
358
      urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_status_t
406
      urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t
359 407
    }
360 408
    urt_nodeLoopCallback_t ..> urt_node_t
361 409
    urt_nodeLoopCallback_t ..> urt_osEventMask_t
......
368 416
      + setupparams : void*
369 417
      + loopcallback : urt_nodeLoopCallback_t*
370 418
      + loopparams : void*
371
      + waitmask : urt_osEventMask_t
372
      + waittype : urt_osEventWaitType_t
419
      + stage : urt_nodesync_t
420
      + listener : urt_osEventListener_t
373 421
      __
374 422
      - {static} _main : urt_osThreadFunction_t
375 423
      + urtNodeInit (node : urt_node_t*, stacksize : size_t, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*) : urt_status_t
376
      + urtNodeTerminateRecusively (node : urt_node_t*, sig : urt_osThreadTerminateSignal_t) : void
377
      + urtNodeJoinRecursively (node : urt_node_t*) : void
378 424
    }
379 425
    urt_node_t "1" o- - "0..1" urt_node_t
380 426
    urt_node_t "1" o- - "1" urt_osThread_t
381 427
    urt_node_t "1" o- - "1" urt_nodeSetupCallback_t
382 428
    urt_node_t "1" o- - "1" urt_nodeLoopCallback_t
429
    urt_node_t "1" *- - "1" urt_nodesync_t
383 430
    urt_node_t "1" *- - "1" urt_osEventMask_t
384 431
    urt_node_t "1" *- - "1" urt_osEventWaitType_t
432
    urt_node_t "1" *- - "1" urt_osEventListener_t
385 433
    urt_node_t ..> urt_osThreadTerminateSignal_t
386 434

  
387 435
  } 
doc/classdiagrams/overview.uml
54 54
    uint64_t
55 55
  }
56 56

  
57
  /' Just a function for debugging. '/
58
  class urt_debug <<(F,white)>> {
59
      'Checks the condition in debug mode.
60
    + urtDebugAssert(condition : bool) : void
61
  }
62

  
63
  /' Node synchronization type. '/
64
  class urt_nodesync_t <<T,lightblue>> {
65
    'configurable
66
    uin8_t
67
    .. or ..
68
    int8_t
69
    .. or ..
70
    uint16_t
71
    .. or ..
72
    int16_t
73
    .. or ..
74
    uint32_t
75
    .. or ..
76
    int32_t
77
    .. or ..
78
    uint64_t
79
    .. or ..
80
    int64_t
81
  }
82

  
57 83
} /' package "primitives" '/
58 84

  
59 85

  
60 86

  
61 87
package "interfaces" {
62 88

  
89
  /' Not a type but a set of configuration macros. '/
90
  class urt_config <<(C,grey)>> {
91
      'Selection to en-/disable debug checks.
92
    + URT_CONFIG_DEBUG : bool
93
  }
94

  
63 95
  /' OS time type with arbitrary resolution. '/
64 96
  class urt_osTime_t <<(T,lightblue)>> {
65 97
      'Converts an OS time to 64 bit microsecond precise value.
......
151 183
      URT_THREAD_TERMINATE_KILL = 9
152 184
    }
153 185

  
186
    /' Thread execution states. '/
187
    enum urt_osThreadState_t {
188
      'Thread is currently being executed.
189
      URT_THREAD_STATE_RUNNING = 0
190
      'Thread is ready but waiting to be scheduled.
191
      URT_THREAD_STATE_READY = 1
192
      'Thread is actively sleeping.
193
      URT_THREAD_STATE_SLEEPING = 2
194
      'Thread has ben suspended explicitely.
195
      URT_THREAD_STATE_SUSPENDED = 3
196
      'Thread is waiting for something (e.g. Mutex, event, etc.).
197
      URT_THREAD_STATE_WAITING = 4
198
      'Thread has terminated.
199
      URT_THREAD_STATE_TERMINATED = 5
200
    }
201

  
154 202
    /' OS thread interface. '/
155 203
    class urt_osThread_t <<(T,lightblue)>> {
156 204
        'Minimum priority for low priority threads.
......
180 228
      + URT_THREAD_MAX_USLEEP : unsigned int
181 229
      __
182 230
        'Macro to setup working area as static variable (handles alignment if required).
183
      + URT_THREAD_WORKING_AREA (var : varname, stacksize : size_t)
231
      + URT_THREAD_WORKING_AREA (varname, stacksize)
184 232
      ..
185 233
        'Initializes an urt_osThread_t object.
186 234
      + urtThreadInit (wa : void*, wasize : size_t, func : urt_osThreadFunction_t*, arg : void*) : urt_osThread_t*
......
193 241
        'Sets the priority of a thread.
194 242
      + urtThreadSetPriority (thread : urt_osThread_t*, prio : urt_osThreadPrio_t) : void
195 243
        'Retrieves the first thread in the list of children.
196
      + urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*
197
        'Retrieves the parent thread.
198
      + urtThreadGetParent (thread : urt_osThread_t*) : urt_osThread_t*
199
        'The calling threads suspends execution until it is woken up by calling urtTheadResume().
200 244
      + urtThreadSuspend (void) : void
201
        'Retrieves whether a  thread is currently suspended.
202
      + urtThreadIsSuspended (thread : urt_osThread_t*) : bool
203 245
        'Wakes a suspended thread.
204 246
      + urtThreadResume (thread : urt_osThread_t*) : urt_status_t
205 247
        'Suspends the calling thread for the specified time.
......
218 260
      + urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
219 261
        'Waits until the specified thread terminates.
220 262
      + urtThreadJoin (thread : urt_osThread_t*) : void
263
        'Retrieves the execution state of the specified thread.
264
      + urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
265
        'Retrieves the first child of a thread (or ""NULL"").
266
      + urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*
267
        'Retrieves a sibling (next child in a list) of the thread or ""NULL"".
268
      + urtThreadGetSibling (thread : urt_osThread_t*) : urt_psThread_t*
221 269
    }
222 270
    urt_osThread_t ..> urt_osThreadPrio_t
223 271
    urt_osThread_t ..> urt_osThreadFunction_t
224 272
    urt_osThread_t ..> urt_osTime_t
225 273
    urt_osThread_t ..> urt_osThreadTerminateSignal_t
274
    urt_osThread_t ..> urt_osThreadState_t
226 275

  
227 276
  } /' package "thread" '/
228 277

  
229 278
  package "events" {
230 279

  
231 280
    /' OS event mask type. '/
232
    class urt_osEventMask_t <<(T,lightblue)>>
281
    class urt_osEventMask_t <<(T,lightblue)>> {
282
        'The event mask, which will be handled with maximum priority by the event system.
283
      + URT_EVENTMASK_MAXPRIO : urt_osEventMask_t
284
    }
233 285

  
234 286
    /' OS event flag type. '/
235 287
    class urt_osEventFlags_t <<(T,lightblue)>>
......
278 330

  
279 331
  } /' package "events" '/
280 332

  
333
  /' Not a class/type but a set of output-related functions. '/
334
    class urt_streams <<(F,white)>> {
335
        'Prints a formatted string to the standard output stream (stdout).
336
      + urtPrintf(fmt : char*, ... ) : int
337
        'Prints a formatted string to the standard error stream (stderr).
338
      + urtErrPrintf(fmt : char*, ... ) : int
339
    }
340

  
281 341
} /' package "interfaces" '/
282 342

  
283 343
package "middleware" {
......
464 524
      'Pointer to the next topic in a list.
465 525
    + next : urt_topic_t*
466 526
      'Mutex lock for exclusive access.
467
    + mutex : urt_osMutex_t
527
    + lock : urt_osMutex_t
468 528
      'Event source to inform all subscribers when a new message is published.
469 529
    + evtSource : urt_osEventSource_t
470 530
      'Number of HRT subscribers.
......
487 547
    __
488 548
      'Initializes an urt_topic_t object.
489 549
    + urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
490
      'Appends the given list of messages to the topic's buffer.
491
    + urtTopicContributeMessages (topic : urt_topic_t*, messages : urt_message_t*) : void
492 550
  }
493 551
  urt_topic_t "1" o-- "0..1" urt_topic_t
494 552
  urt_topic_t "1" *-- "1" urt_osMutex_t
......
507 565
    - {static} _nodes : urt_node_t*
508 566
      'List of topics ordered by their identifiers.
509 567
    - {static} _topics : urt_topic_t*
568
      'Event source for control events.
569
    - {static} _evtSource : urt_osEventSource_t
570
      'Mutex used for synchronization.
571
    - {static} _lock : urt_osMutex_t
510 572
    __
511 573
      'Initializes the urt_core_t object.
512 574
    + urtCoreInit (void) : urt_status_t
513
      'Starts all nodes.
514
    + urtCoreStartAll (void) : urt_status_t
575
      'Starts all node threads (nodes will block before the loop).
576
    + urtCoreStartNodes (void) : urt_status_t
577
      'Nodes can use this function to synchronize globally.
578
    + urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodesync_t) : urt_status_t
515 579
      'Stops all nodes.
516
    + urtCoreStopAll (void) : urt_status_t
580
    + urtCoreStopNodes (void) : urt_status_t
517 581
      'Retrieves a topic given an identifier.
518 582
    + urtCoreRetrieveTopic (id : urt_topicid_t) : urt_topic_t*
519 583
  }
520 584
  urt_core_t "1" o-- "0..*" urt_topic_t
521 585
  urt_core_t "1" o-- "0..*" urt_node_t
586
  urt_core_t "1" *-- "1" urt_osEventSource_t
587
  urt_core_t "1" *-- "1" urt_osMutex_t
522 588
  urt_core_t ..> urt_status_t
589
  urt_core_t --> urt_nodesync_t
523 590
  urt_core_t ..> urt_topicid_t
524 591

  
525 592
  package "node" {
526 593

  
527 594
    /' Function type to be called during setup phase of node threads. '/
528 595
    class urt_nodeSetupCallback_t <<(T,lightblue)>> {
529
      'Takes the node and optional parameters as arguments.
530
      urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_status_t
596
      'Takes the node and optional parameters as arguments and returns a event mask for the next iteration.
597
      urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t
531 598
    }
532 599
    urt_nodeSetupCallback_t ..> urt_node_t
533 600
    urt_nodeSetupCallback_t ..> urt_status_t
534 601

  
535 602
    /' Function type to be called during loop phase of node threads. '/
536 603
    class urt_nodeLoopCallback_t <<(T,lightblue)>> {
537
      'Takes the node, a mask of occurred events and optional parameters as arguments.
538
      urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_status_t
604
      'Takes the node, a mask of occurred events and optional parameters as arguments and returns a event mask for the next iteration.
605
      urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t
539 606
    }
540 607
    urt_nodeLoopCallback_t ..> urt_node_t
541 608
    urt_nodeLoopCallback_t ..> urt_osEventMask_t
......
555 622
      + loopcallback : urt_nodeLoopCallback_t*
556 623
        'Optional parameters for the loop callback function.
557 624
      + loopparams : void*
558
        'A mask for which events to wait.
559
      + waitmask : urt_osEventMask_t
560
        'How the node will wait for events.
561
      + waittype : urt_osEventWaitType_t
625
        'Execution stage of the node.
626
      + stage : urt_nodesync_t
627
        'Event listener for middleware-wide control events.
628
      + listener : urt_osEventListener_t
562 629
      __
563 630
      'The main() function of the node thread.
564 631
      - {static} _main : urt_osThreadFunction_t
565 632
        'Initializes an urt_node_t object.
566 633
      + urtNodeInit (node : urt_node_t*, stacksize : size_t, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*) : urt_status_t
567
        'Terminate a node thread and all its child threads (if any).
568
      + urtNodeTerminateRecusively (node : urt_node_t*, sig : urt_osThreadTerminateSignal_t) : void
569
        'Wait for a node thread an all its child threads (if any) to terminate.
570
      + urtNodeJoinRecursively (node : urt_node_t*) : void
571 634
    }
572 635
    urt_node_t "1" o-- "0..1" urt_node_t
573 636
    urt_node_t "1" o-- "1" urt_osThread_t
574 637
    urt_node_t "1" o-- "1" urt_nodeSetupCallback_t
575 638
    urt_node_t "1" o-- "1" urt_nodeLoopCallback_t
639
    urt_node_t "1" *-- "1" urt_nodesync_t
576 640
    urt_node_t "1" *-- "1" urt_osEventMask_t
577 641
    urt_node_t "1" *-- "1" urt_osEventWaitType_t
642
    urt_node_t "1" *-- "1" urt_osEventListener_t
578 643
    urt_node_t ..> urt_osThreadTerminateSignal_t
579 644

  
580 645
  } /' package "node" '/
doc/statediagrams/core/urtCoreInit.svg
1
<?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="249px" preserveAspectRatio="none" style="width:887px;height:249px;" version="1.1" viewBox="0 0 887 249" width="887px" zoomAndPan="magnify"><defs><filter height="300%" id="fyy2dxbj9oizz" 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="398" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="112" x="386.5" y="47.6611">urtCoreInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="445.5" y="68.6143"/><ellipse cx="443" cy="82.8594" fill="#000000" filter="url(#fyy2dxbj9oizz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fyy2dxbj9oizz)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="866" x="10" y="112.8594"/><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="24" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="34" y="159.998">set node list pointer to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="182" y="159.998">NULL</text><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="195" x="248" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="258" y="159.998">set topic list pointer to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="405" y="159.998">NULL</text><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="223" x="471" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="203" x="481" y="159.998">initialize the event source object</text><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="722" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="732" y="159.998">initialize mutex lock</text><rect fill="#000000" filter="url(#fyy2dxbj9oizz)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="866" x="10" y="192.8281"/><ellipse cx="443" cy="228.8281" fill="none" filter="url(#fyy2dxbj9oizz)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="443.5" cy="229.3281" fill="#000000" filter="url(#fyy2dxbj9oizz)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="122" x2="122" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="118,128.8594,122,138.8594,126,128.8594,122,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="345.5" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="341.5,128.8594,345.5,138.8594,349.5,128.8594,345.5,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="582.5" x2="582.5" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="578.5,128.8594,582.5,138.8594,586.5,128.8594,582.5,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="788,128.8594,792,138.8594,796,128.8594,792,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="122" x2="122" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="118,182.8281,122,192.8281,126,182.8281,122,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="345.5" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="341.5,182.8281,345.5,192.8281,349.5,182.8281,345.5,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="582.5" x2="582.5" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="578.5,182.8281,582.5,192.8281,586.5,182.8281,582.5,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="788,182.8281,792,192.8281,796,182.8281,792,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="443" x2="443" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="439,102.8594,443,112.8594,447,102.8594,443,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="443" x2="443" y1="198.8281" y2="218.8281"/><polygon fill="#A80036" points="439,208.8281,443,218.8281,447,208.8281,443,212.8281" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtCoreInit()\n
5

  
6

  
7

  
8
start
9
fork
10
  :set node list pointer to ""NULL"";
11
fork again
12
  :set topic list pointer to ""NULL"";
13
fork again
14
  :initialize the event source object;
15
fork again
16
  :initialize mutex lock;
17
endfork
18
stop
19

  
20
@enduml
21

  
22
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
23
(GPL source distribution)
24
Java Runtime: OpenJDK Runtime Environment
25
JVM: OpenJDK 64-Bit Server VM
26
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
27
Operating System: Linux
28
OS Version: 4.15.0-36-generic
29
Default Encoding: UTF-8
30
Language: en
31
Country: US
32
--></g></svg>
doc/statediagrams/core/urtCoreInit.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nurtCoreInit()\n
25

  
26

  
27

  
28
start
29
fork
30
  :set node list pointer to ""NULL"";
31
fork again
32
  :set topic list pointer to ""NULL"";
33
fork again
34
  :initialize the event source object;
35
fork again
36
  :initialize mutex lock;
37
endfork
38
stop
39

  
40
@enduml
doc/statediagrams/core/urtCoreRetrieveTopic.svg
1
<?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="403px" preserveAspectRatio="none" style="width:510px;height:403px;" version="1.1" viewBox="0 0 510 403" width="510px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ejq1yq9yd0kp" 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="209.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="208" x="150.25" y="47.6611">urtCoreRetrieveTopic()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="257.25" y="68.6143"/><ellipse cx="241.5" cy="82.8594" fill="#000000" filter="url(#f1ejq1yq9yd0kp)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" points="119.5,168.5698,363.5,168.5698,375.5,180.5698,363.5,192.5698,119.5,192.5698,107.5,180.5698,119.5,168.5698" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="244" x="119.5" y="184.3779">Do the topic's ID and the argument match?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="87.5" y="177.9756">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="375.5" y="177.9756">no</text><rect fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="38" y="202.5698"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="99" x="48" y="223.7085">return the topic</text><ellipse cx="97.5" cy="266.5386" fill="none" filter="url(#f1ejq1yq9yd0kp)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="98" cy="267.0386" fill="#000000" filter="url(#f1ejq1yq9yd0kp)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="170" x="300.5" y="202.5698"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="150" x="310.5" y="223.7085">iterate to the next topic</text><polygon fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" points="183.5,112.8594,299.5,112.8594,311.5,124.8594,299.5,136.8594,183.5,136.8594,171.5,124.8594,183.5,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="245.5" y="147.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="183.5" y="128.6675">Topics left to check?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="157.5" y="122.2651">no</text><rect fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="91" x="196" y="318.5386"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="206" y="339.6772">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="249" y="339.6772">NULL</text><ellipse cx="241.5" cy="382.5073" fill="none" filter="url(#f1ejq1yq9yd0kp)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="242" cy="383.0073" fill="#000000" filter="url(#f1ejq1yq9yd0kp)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="97.5" x2="97.5" y1="236.5386" y2="256.5386"/><polygon fill="#A80036" points="93.5,246.5386,97.5,256.5386,101.5,246.5386,97.5,250.5386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107.5" x2="97.5" y1="180.5698" y2="180.5698"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="97.5" x2="97.5" y1="180.5698" y2="202.5698"/><polygon fill="#A80036" points="93.5,192.5698,97.5,202.5698,101.5,192.5698,97.5,196.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="375.5" x2="385.5" y1="180.5698" y2="180.5698"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385.5" x2="385.5" y1="180.5698" y2="202.5698"/><polygon fill="#A80036" points="381.5,192.5698,385.5,202.5698,389.5,192.5698,385.5,196.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385.5" x2="385.5" y1="236.5386" y2="286.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385.5" x2="484.5" y1="286.5386" y2="286.5386"/><polygon fill="#A80036" points="480.5,224.6519,484.5,214.6519,488.5,224.6519,484.5,220.6519" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="484.5" x2="484.5" y1="124.8594" y2="286.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="484.5" x2="311.5" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="321.5,120.8594,311.5,124.8594,321.5,128.8594,317.5,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="136.8594" y2="168.5698"/><polygon fill="#A80036" points="237.5,158.5698,241.5,168.5698,245.5,158.5698,241.5,162.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="171.5" x2="24" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="20,210.6519,24,220.6519,28,210.6519,24,214.6519" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="124.8594" y2="298.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="241.5" y1="298.5386" y2="298.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="298.5386" y2="318.5386"/><polygon fill="#A80036" points="237.5,308.5386,241.5,318.5386,245.5,308.5386,241.5,312.5386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="237.5,102.8594,241.5,112.8594,245.5,102.8594,241.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="352.5073" y2="372.5073"/><polygon fill="#A80036" points="237.5,362.5073,241.5,372.5073,245.5,362.5073,241.5,366.5073" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtCoreRetrieveTopic()\n
5

  
6

  
7

  
8
start
9
while (Topics left to check?) is (yes)
10
  if (Do the topic's ID and the argument match?) then (yes)
11
    :return the topic;
12
    stop
13
  else (no)
14
    :iterate to the next topic;
15
  endif
16
endwhile (no)
17
:return ""NULL"";
18
stop
19

  
20
@enduml
21

  
22
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
23
(GPL source distribution)
24
Java Runtime: OpenJDK Runtime Environment
25
JVM: OpenJDK 64-Bit Server VM
26
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
27
Operating System: Linux
28
OS Version: 4.15.0-36-generic
29
Default Encoding: UTF-8
30
Language: en
31
Country: US
32
--></g></svg>
doc/statediagrams/core/urtCoreRetrieveTopic.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nurtCoreRetrieveTopic()\n
25

  
26

  
27

  
28
start
29
while (Topics left to check?) is (yes)
30
  if (Do the topic's ID and the argument match?) then (yes)
31
    :return the topic;
32
    stop
33
  else (no)
34
    :iterate to the next topic;
35
  endif
36
endwhile (no)
37
:return ""NULL"";
38
stop
39

  
40
@enduml
doc/statediagrams/core/urtCoreStartNodes.svg
1
<?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="304px" preserveAspectRatio="none" style="width:230px;height:304px;" version="1.1" viewBox="0 0 230 304" width="230px" zoomAndPan="magnify"><defs><filter height="300%" id="f1oes4tdg31mgq" 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="69.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="181" x="23.5" y="47.6611">urtCoreStartNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="117" y="68.6143"/><ellipse cx="119" cy="82.8594" fill="#000000" filter="url(#f1oes4tdg31mgq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1oes4tdg31mgq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="53" y="173.6641"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="63" y="194.8027">start node thread</text><rect fill="#FEFECE" filter="url(#f1oes4tdg31mgq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="46" y="236.7305"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="56" y="257.8691">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1oes4tdg31mgq)" points="64,112.8594,174,112.8594,186,124.8594,174,136.8594,64,136.8594,52,124.8594,64,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="123" y="147.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="64" y="128.6675">Nodes left to start?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="38" y="122.2651">no</text><ellipse cx="24" cy="170.8594" fill="none" filter="url(#f1oes4tdg31mgq)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="24.5" cy="171.3594" fill="#000000" filter="url(#f1oes4tdg31mgq)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="207.6328" y2="236.7305"/><polygon fill="#A80036" points="115,226.7305,119,236.7305,123,226.7305,119,230.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="136.8594" y2="173.6641"/><polygon fill="#A80036" points="115,163.6641,119,173.6641,123,163.6641,119,167.6641" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="270.6992" y2="280.6992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="204" y1="280.6992" y2="280.6992"/><polygon fill="#A80036" points="200,216.7305,204,206.7305,208,216.7305,204,212.7305" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="204" x2="204" y1="124.8594" y2="280.6992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="204" x2="186" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="196,120.8594,186,124.8594,196,128.8594,192,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="52" x2="24" y1="124.8594" y2="124.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="124.8594" y2="160.8594"/><polygon fill="#A80036" points="20,150.8594,24,160.8594,28,150.8594,24,154.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="115,102.8594,119,112.8594,123,102.8594,119,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtCoreStartNodes()\n
5

  
6

  
7

  
8
start
9
while (Nodes left to start?) is (yes)
10
  :start node thread;
11
  :iterate to next node;
12
endwhile (no)
13
stop
14

  
15
@enduml
16

  
17
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
18
(GPL source distribution)
19
Java Runtime: OpenJDK Runtime Environment
20
JVM: OpenJDK 64-Bit Server VM
21
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
22
Operating System: Linux
23
OS Version: 4.15.0-36-generic
24
Default Encoding: UTF-8
25
Language: en
26
Country: US
27
--></g></svg>
doc/statediagrams/core/urtCoreStartNodes.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nurtCoreStartNodes()\n
25

  
26

  
27

  
28
start
29
while (Nodes left to start?) is (yes)
30
  :start node thread;
31
  :iterate to next node;
32
endwhile (no)
33
stop
34

  
35
@enduml
doc/statediagrams/core/urtCoreStopNodes.svg
1
<?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="553px" preserveAspectRatio="none" style="width:269px;height:553px;" version="1.1" viewBox="0 0 269 553" width="269px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ew74r5cjc25p" 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="89.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="178" x="44.75" y="47.6611">urtCoreStopNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="136.75" y="68.6143"/><ellipse cx="138" cy="82.8594" fill="#000000" filter="url(#f1ew74r5cjc25p)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="44.5" y="168.5698"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="54.5" y="189.7085">request node to terminate</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="65" y="231.6362"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="75" y="252.7749">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" points="84,112.8594,192,112.8594,204,124.8594,192,136.8594,84,136.8594,72,124.8594,84,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="142" y="147.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="84" y="128.6675">Nodes left to stop?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="58" y="122.2651">no</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="52.5" y="307.605"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="151" x="62.5" y="328.7437">broadcast control event</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="184" x="46" y="422.3784"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="164" x="56" y="443.5171">wait for node to terminate</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="65" y="485.4448"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="75" y="506.5835">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" points="75,361.5737,201,361.5737,213,373.5737,201,385.5737,75,385.5737,63,373.5737,75,361.5737" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="142" y="395.7842">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="75" y="377.3818">Nodes left to wait for?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="49" y="370.9795">no</text><ellipse cx="24" cy="419.5737" fill="none" filter="url(#f1ew74r5cjc25p)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="24.5" cy="420.0737" fill="#000000" filter="url(#f1ew74r5cjc25p)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="202.5386" y2="231.6362"/><polygon fill="#A80036" points="134,221.6362,138,231.6362,142,221.6362,138,225.6362" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="136.8594" y2="168.5698"/><polygon fill="#A80036" points="134,158.5698,138,168.5698,142,158.5698,138,162.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="265.605" y2="275.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="243.5" y1="275.605" y2="275.605"/><polygon fill="#A80036" points="239.5,211.6362,243.5,201.6362,247.5,211.6362,243.5,207.6362" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243.5" x2="243.5" y1="124.8594" y2="275.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243.5" x2="204" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="214,120.8594,204,124.8594,214,128.8594,210,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="72" x2="32.5" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="28.5,197.6362,32.5,207.6362,36.5,197.6362,32.5,201.6362" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32.5" x2="32.5" y1="124.8594" y2="287.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32.5" x2="138" y1="287.605" y2="287.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="287.605" y2="307.605"/><polygon fill="#A80036" points="134,297.605,138,307.605,142,297.605,138,301.605" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="134,102.8594,138,112.8594,142,102.8594,138,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="456.3472" y2="485.4448"/><polygon fill="#A80036" points="134,475.4448,138,485.4448,142,475.4448,138,479.4448" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="385.5737" y2="422.3784"/><polygon fill="#A80036" points="134,412.3784,138,422.3784,142,412.3784,138,416.3784" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="519.4136" y2="529.4136"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="242" y1="529.4136" y2="529.4136"/><polygon fill="#A80036" points="238,465.4448,242,455.4448,246,465.4448,242,461.4448" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="242" x2="242" y1="373.5737" y2="529.4136"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="242" x2="213" y1="373.5737" y2="373.5737"/><polygon fill="#A80036" points="223,369.5737,213,373.5737,223,377.5737,219,373.5737" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="63" x2="24" y1="373.5737" y2="373.5737"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="373.5737" y2="409.5737"/><polygon fill="#A80036" points="20,399.5737,24,409.5737,28,399.5737,24,403.5737" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="341.5737" y2="361.5737"/><polygon fill="#A80036" points="134,351.5737,138,361.5737,142,351.5737,138,355.5737" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtCoreStopNodes()\n
5

  
6

  
7

  
8
start
9
while (Nodes left to stop?) is (yes)
10
  :request node to terminate;
11
  :iterate to next node;
12
endwhile (no)
13
:broadcast control event;
14
while (Nodes left to wait for?) is (yes)
15
  :wait for node to terminate;
16
  :iterate to next node;
17
endwhile (no)
18
stop
19

  
20
@enduml
21

  
22
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
23
(GPL source distribution)
24
Java Runtime: OpenJDK Runtime Environment
25
JVM: OpenJDK 64-Bit Server VM
26
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
27
Operating System: Linux
28
OS Version: 4.15.0-36-generic
29
Default Encoding: UTF-8
30
Language: en
31
Country: US
32
--></g></svg>
doc/statediagrams/core/urtCoreStopNodes.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nurtCoreStopNodes()\n
25

  
26

  
27

  
28
start
29
while (Nodes left to stop?) is (yes)
30
  :request node to terminate;
31
  :iterate to next node;
32
endwhile (no)
33
:broadcast control event;
34
while (Nodes left to wait for?) is (yes)
35
  :wait for node to terminate;
36
  :iterate to next node;
37
endwhile (no)
38
stop
39

  
40
@enduml
doc/statediagrams/core/urtCoreSynchronizeNodes.svg
1
<?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="618px" preserveAspectRatio="none" style="width:416px;height:618px;" version="1.1" viewBox="0 0 416 618" width="416px" zoomAndPan="magnify"><defs><filter height="300%" id="f1r9x1l3440zyt" 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="162.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="246" x="84" y="47.6611">urtCoreSynchronizeNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="210" y="68.6143"/><ellipse cx="212" cy="82.8594" fill="#000000" filter="url(#f1r9x1l3440zyt)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="143" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="153" y="133.998">acquire mutex lock</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="82" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="92" y="187.9668">set node's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="162" y="187.9668">stage</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="201" y="187.9668">variable to argument</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="316" x="54" y="276.5073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="64" y="297.646">compare argument with the node's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="288" y="297.646">stage</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="327" y="297.646">value</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="139" y="339.5737"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="149" y="360.7124">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" points="154.5,220.7969,269.5,220.7969,281.5,232.7969,269.5,244.7969,154.5,244.7969,142.5,232.7969,154.5,220.7969" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="216" y="255.0073">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="154.5" y="236.605">Nodes left to check?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="128.5" y="230.2026">no</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="157.5" y="415.5425"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="89" x="167.5" y="436.6812">release mutex</text><polygon fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" points="117.5,469.5112,306.5,469.5112,318.5,481.5112,306.5,493.5112,117.5,493.5112,105.5,481.5112,117.5,469.5112" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="117.5" y="485.3193">Are all nodes in the same stage?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="85.5" y="478.917">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="318.5" y="478.917">no</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="10" y="503.5112"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="151" x="20" y="524.6499">broadcast control event</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="252" y="503.5112"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="133" x="262" y="524.6499">wait for control event</text><polygon fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" points="212,543.48,224,555.48,212,567.48,200,555.48,212,543.48" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="212" cy="597.48" fill="none" filter="url(#f1r9x1l3440zyt)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="212.5" cy="597.98" fill="#000000" filter="url(#f1r9x1l3440zyt)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="208,102.8594,212,112.8594,216,102.8594,212,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="208,156.8281,212,166.8281,216,156.8281,212,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="310.4761" y2="339.5737"/><polygon fill="#A80036" points="208,329.5737,212,339.5737,216,329.5737,212,333.5737" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="244.7969" y2="276.5073"/><polygon fill="#A80036" points="208,266.5073,212,276.5073,216,266.5073,212,270.5073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="373.5425" y2="383.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="382" y1="383.5425" y2="383.5425"/><polygon fill="#A80036" points="378,319.5737,382,309.5737,386,319.5737,382,315.5737" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382" x2="382" y1="232.7969" y2="383.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382" x2="281.5" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="291.5,228.7969,281.5,232.7969,291.5,236.7969,287.5,232.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="142.5" x2="42" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="38,305.5737,42,315.5737,46,305.5737,42,309.5737" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="42" x2="42" y1="232.7969" y2="395.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="42" x2="212" y1="395.5425" y2="395.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="395.5425" y2="415.5425"/><polygon fill="#A80036" points="208,405.5425,212,415.5425,216,405.5425,212,409.5425" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="208,210.7969,212,220.7969,216,210.7969,212,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="105.5" x2="95.5" y1="481.5112" y2="481.5112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="95.5" y1="481.5112" y2="503.5112"/><polygon fill="#A80036" points="91.5,493.5112,95.5,503.5112,99.5,493.5112,95.5,497.5112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="318.5" x2="328.5" y1="481.5112" y2="481.5112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="328.5" y1="481.5112" y2="503.5112"/><polygon fill="#A80036" points="324.5,493.5112,328.5,503.5112,332.5,493.5112,328.5,497.5112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="95.5" y1="537.48" y2="555.48"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="200" y1="555.48" y2="555.48"/><polygon fill="#A80036" points="190,551.48,200,555.48,190,559.48,194,555.48" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="328.5" y1="537.48" y2="555.48"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="224" y1="555.48" y2="555.48"/><polygon fill="#A80036" points="234,551.48,224,555.48,234,559.48,230,555.48" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="449.5112" y2="469.5112"/><polygon fill="#A80036" points="208,459.5112,212,469.5112,216,459.5112,212,463.5112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="567.48" y2="587.48"/><polygon fill="#A80036" points="208,577.48,212,587.48,216,577.48,212,581.48" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtCoreSynchronizeNodes()\n
5

  
6

  
7

  
8
start
9
:acquire mutex lock;
10
:set node's ""stage"" variable to argument;
11
while (Nodes left to check?) is (yes)
12
  :compare argument with the node's ""stage"" value;
13
  :iterate to next node;
14
endwhile (no)
15
:release mutex;
16
if (Are all nodes in the same stage?) then (yes)
17
  :broadcast control event;
18
else (no)
19
  :wait for control event;
20
endif
21
stop
22

  
23
@enduml
24

  
25
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
26
(GPL source distribution)
27
Java Runtime: OpenJDK Runtime Environment
28
JVM: OpenJDK 64-Bit Server VM
29
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
30
Operating System: Linux
31
OS Version: 4.15.0-36-generic
32
Default Encoding: UTF-8
33
Language: en
34
Country: US
35
--></g></svg>
doc/statediagrams/core/urtCoreSynchronizeNodes.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nurtCoreSynchronizeNodes()\n
25

  
26

  
27

  
28
start
29
:acquire mutex lock;
30
:set node's ""stage"" variable to argument;
31
while (Nodes left to check?) is (yes)
32
  :compare argument with the node's ""stage"" value;
33
  :iterate to next node;
34
endwhile (no)
35
:release mutex;
36
if (Are all nodes in the same stage?) then (yes)
37
  :broadcast control event;
38
else (no)
39
  :wait for control event;
40
endif
41
stop
42

  
43
@enduml
doc/statediagrams/general/deinitialization.svg
1
<?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="528px" preserveAspectRatio="none" style="width:574px;height:528px;" version="1.1" viewBox="0 0 574 528" width="574px" zoomAndPan="magnify"><defs><filter height="300%" id="fxpz2tqgpdftz" 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="241.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="131" x="220.5" y="47.6611">Deinitialization</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="289" y="68.6143"/><ellipse cx="339.5" cy="82.8594" fill="#000000" filter="url(#fxpz2tqgpdftz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M38,172.9878 L38,198.1206 A0,0 0 0 0 38,198.1206 L127,198.1206 A0,0 0 0 0 127,198.1206 L127,190.9878 L147,185.5542 L127,182.9878 L127,182.9878 L117,172.9878 L38,172.9878 A0,0 0 0 0 38,172.9878 " fill="#FBFB77" filter="url(#fxpz2tqgpdftz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M117,172.9878 L117,182.9878 L127,182.9878 L117,172.9878 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="44" y="190.0547">recursively</text><rect fill="#FEFECE" filter="url(#fxpz2tqgpdftz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="385" x="147" y="168.5698"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="365" x="157" y="189.7085">request current node and al its child threads to terminate</text><rect fill="#FEFECE" filter="url(#fxpz2tqgpdftz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="266.5" y="231.6362"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="276.5" y="252.7749">iterate to next node</text><polygon fill="#FEFECE" filter="url(#fxpz2tqgpdftz)" points="266,112.8594,413,112.8594,425,124.8594,413,136.8594,266,136.8594,254,124.8594,266,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="343.5" y="147.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="266" y="128.6675">Nodes left to be stopped?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="240" y="122.2651">no</text><path d="M56,421.23 L56,446.3628 A0,0 0 0 0 56,446.3628 L145,446.3628 A0,0 0 0 0 145,446.3628 L145,439.23 L165,433.7964 L145,431.23 L145,431.23 L135,421.23 L56,421.23 A0,0 0 0 0 56,421.23 " fill="#FBFB77" filter="url(#fxpz2tqgpdftz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M135,421.23 L135,431.23 L145,431.23 L135,421.23 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="62" y="438.2969">recursively</text><rect fill="#FEFECE" filter="url(#fxpz2tqgpdftz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="349" x="165" y="416.812"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="329" x="175" y="437.9507">wait for current node and al its child threads to stop</text><polygon fill="#FEFECE" filter="url(#fxpz2tqgpdftz)" points="263.5,368.4097,415.5,368.4097,427.5,380.4097,415.5,392.4097,263.5,392.4097,251.5,380.4097,263.5,368.4097" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="343.5" y="402.6201">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="152" x="263.5" y="384.2178">Current node still running?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="427.5" y="377.8154">no</text><polygon fill="#FEFECE" filter="url(#fxpz2tqgpdftz)" points="339.5,470.7808,351.5,482.7808,339.5,494.7808,327.5,482.7808,339.5,470.7808" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fxpz2tqgpdftz)" points="285.5,307.605,393.5,307.605,405.5,319.605,393.5,331.605,285.5,331.605,273.5,319.605,285.5,307.605" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="343.5" y="341.8154">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="285.5" y="323.4131">Nodes left to stop?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="259.5" y="317.0107">no</text><ellipse cx="24" cy="365.605" fill="none" filter="url(#fxpz2tqgpdftz)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="24.5" cy="366.105" fill="#000000" filter="url(#fxpz2tqgpdftz)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="202.5386" y2="231.6362"/><polygon fill="#A80036" points="335.5,221.6362,339.5,231.6362,343.5,221.6362,339.5,225.6362" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="136.8594" y2="168.5698"/><polygon fill="#A80036" points="335.5,158.5698,339.5,168.5698,343.5,158.5698,339.5,162.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="265.605" y2="275.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="544" y1="275.605" y2="275.605"/><polygon fill="#A80036" points="540,211.6362,544,201.6362,548,211.6362,544,207.6362" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544" x2="544" y1="124.8594" y2="275.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544" x2="425" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="435,120.8594,425,124.8594,435,128.8594,431,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="254" x2="26" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="22,197.6362,26,207.6362,30,197.6362,26,201.6362" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="26" x2="26" y1="124.8594" y2="287.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="26" x2="339.5" y1="287.605" y2="287.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="287.605" y2="307.605"/><polygon fill="#A80036" points="335.5,297.605,339.5,307.605,343.5,297.605,339.5,301.605" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="335.5,102.8594,339.5,112.8594,343.5,102.8594,339.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="392.4097" y2="416.812"/><polygon fill="#A80036" points="335.5,406.812,339.5,416.812,343.5,406.812,339.5,410.812" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="427.5" x2="524" y1="380.4097" y2="380.4097"/><polygon fill="#A80036" points="520,423.7964,524,433.7964,528,423.7964,524,427.7964" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524" x2="524" y1="380.4097" y2="482.7808"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524" x2="351.5" y1="482.7808" y2="482.7808"/><polygon fill="#A80036" points="361.5,478.7808,351.5,482.7808,361.5,486.7808,357.5,482.7808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="450.7808" y2="470.7808"/><polygon fill="#A80036" points="335.5,460.7808,339.5,470.7808,343.5,460.7808,339.5,464.7808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="331.605" y2="368.4097"/><polygon fill="#A80036" points="335.5,358.4097,339.5,368.4097,343.5,358.4097,339.5,362.4097" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="339.5" y1="494.7808" y2="504.7808"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339.5" x2="548" y1="504.7808" y2="504.7808"/><polygon fill="#A80036" points="544,425.394,548,415.394,552,425.394,548,421.394" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="548" x2="548" y1="319.605" y2="504.7808"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="548" x2="405.5" y1="319.605" y2="319.605"/><polygon fill="#A80036" points="415.5,315.605,405.5,319.605,415.5,323.605,411.5,319.605" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="24" y1="319.605" y2="319.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="319.605" y2="355.605"/><polygon fill="#A80036" points="20,345.605,24,355.605,28,345.605,24,349.605" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nDeinitialization\n
5

  
6

  
7

  
8
start
9
while (Nodes left to be stopped?) is (yes)
10
  :request current node and al its child threads to terminate;
11
  note
12
    recursively
13
  endnote
14
  :iterate to next node;
15
endwhile (no)
16
while (Nodes left to stop?) is (yes)
17
  if (Current node still running?) then (yes)
18
    :wait for current node and al its child threads to stop;
19
    note
20
      recursively
21
    endnote
22
  else (no)
23
  endif
24
endwhile (no)
25
stop
26

  
27
@enduml
28

  
29
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
30
(GPL source distribution)
31
Java Runtime: OpenJDK Runtime Environment
32
JVM: OpenJDK 64-Bit Server VM
33
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
34
Operating System: Linux
35
OS Version: 4.15.0-36-generic
36
Default Encoding: UTF-8
37
Language: en
38
Country: US
39
--></g></svg>
doc/statediagrams/general/deinitialization.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nDeinitialization\n
25

  
26

  
27

  
28
start
29
while (Nodes left to be stopped?) is (yes)
30
  :request current node and al its child threads to terminate;
31
  note
32
    recursively
33
  endnote
34
  :iterate to next node;
35
endwhile (no)
36
while (Nodes left to stop?) is (yes)
37
  if (Current node still running?) then (yes)
38
    :wait for current node and al its child threads to stop;
39
    note
40
      recursively
41
    endnote
42
  else (no)
43
  endif
44
endwhile (no)
45
stop
46

  
47
@enduml
doc/statediagrams/general/initialization.svg
1
<?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;"/><!--
1
<?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;"/><!--
2 2
@startuml
3 3

  
4 4
title **µRtWare**\nInitialization\n
......
7 7

  
8 8
start
9 9
fork
10
  :core;
10 11
  fork
11
    partition "urt_core_t" {
12
      note
13
        must be initialized statically
14
        (in startup thread)
15
      endnote
16
      :initialize members;
17
    }
12
    fork
13
      :topics;
14
    fork again
15
      :messages;
16
    endfork
17
    :publishers;
18 18
  fork again
19
    partition "urt_osThread_t" {
20
      :initialize work area;
21
      note
22
        must be initialized statically
23
        (in preamble / static memory allocation)
24
      endnote
25
      :initialize members;
26
    }
19
    :nodes;
27 20
  endfork
28
  fork
29
    partition "urt_topic_t" {
30
      :initialize members;
31
      :insert self to topic list;
32
    }
33
    partition "urt_publisher_t" {
34
      :initialize members;
35
      :find topic in topic list;
36
      if (Any messages to contribute?) then (yes)
37
        :lock topic;
38
        :contribute messages;
39
        :unlock topic;
40
      else (no)
41
      endif
42
    }
43
  fork again
44
    partition "urt_node_t" {
45
      :initialize members;
46
      :insert self to node list;
47
    }
48
  endfork
49
fork again
50
  partition "urt_subscriber_t" {
51
    :initialize members;
52
  }
53 21
fork again
54
  partition "urt_message_t" {
55
    :initialize members;
56
  }
22
  :subscribers;
57 23
endfork
58 24
stop
59 25

  
doc/statediagrams/general/initialization.uml
27 27

  
28 28
start
29 29
fork
30
  :core;
30 31
  fork
31
    partition "urt_core_t" {
32
      note
33
        must be initialized statically
34
        (in startup thread)
35
      endnote
36
      :initialize members;
37
    }
32
    fork
33
      :topics;
34
    fork again
35
      :messages;
36
    endfork
37
    :publishers;
38 38
  fork again
39
    partition "urt_osThread_t" {
40
      :initialize work area;
41
      note
42
        must be initialized statically
43
        (in preamble / static memory allocation)
44
      endnote
45
      :initialize members;
46
    }
39
    :nodes;
47 40
  endfork
48
  fork
49
    partition "urt_topic_t" {
50
      :initialize members;
51
      :insert self to topic list;
52
    }
53
    partition "urt_publisher_t" {
54
      :initialize members;
55
      :find topic in topic list;
56
      if (Any messages to contribute?) then (yes)
57
        :lock topic;
58
        :contribute messages;
59
        :unlock topic;
60
      else (no)
61
      endif
62
    }
63
  fork again
64
    partition "urt_node_t" {
65
      :initialize members;
66
      :insert self to node list;
67
    }
68
  endfork
69
fork again
70
  partition "urt_subscriber_t" {
71
    :initialize members;
72
  }
73 41
fork again
74
  partition "urt_message_t" {
75
    :initialize members;
76
  }
42
  :subscribers;
77 43
endfork
78 44
stop
79 45

  
doc/statediagrams/message/urtMessageInit.svg
1
<?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="197px" preserveAspectRatio="none" style="width:168px;height:197px;" version="1.1" viewBox="0 0 168 197" width="168px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ivv1i11bxbzw" 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="39.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="47.6611">urtMessageInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="87" y="68.6143"/><ellipse cx="84.5" cy="82.8594" fill="#000000" filter="url(#f1ivv1i11bxbzw)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ivv1i11bxbzw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="19" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="29" y="133.998">initialize members</text><ellipse cx="84.5" cy="176.8281" fill="none" filter="url(#f1ivv1i11bxbzw)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="85" cy="177.3281" fill="#000000" filter="url(#f1ivv1i11bxbzw)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="80.5,102.8594,84.5,112.8594,88.5,102.8594,84.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="80.5,156.8281,84.5,166.8281,88.5,156.8281,84.5,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtMessageInit()\n
5

  
6

  
7

  
8
start
9
:initialize members;
10
stop
11

  
12
@enduml
13

  
14
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
15
(GPL source distribution)
16
Java Runtime: OpenJDK Runtime Environment
17
JVM: OpenJDK 64-Bit Server VM
18
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
19
Operating System: Linux
20
OS Version: 4.15.0-36-generic
21
Default Encoding: UTF-8
22
Language: en
23
Country: US
24
--></g></svg>
doc/statediagrams/message/urtMessageInit.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nurtMessageInit()\n
25

  
26

  
27

  
28
start
29
:initialize members;
30
stop
31

  
32
@enduml
doc/statediagrams/node/_main.svg
1
<?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="1039px" preserveAspectRatio="none" style="width:508px;height:1039px;" version="1.1" viewBox="0 0 508 1039" width="508px" zoomAndPan="magnify"><defs><filter height="300%" id="fi9az5e5ckvfv" 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="208.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="66" x="220.25" y="47.6611">_main()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="256.25" y="68.6143"/><ellipse cx="267" cy="82.8594" fill="#000000" filter="url(#fi9az5e5ckvfv)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fi9az5e5ckvfv)" height="352.1094" style="stroke: #000000; stroke-width: 2.0;" width="424" x="39.5" y="103.6611"/><path d="M89.5,104.6611 L89.5,112.958 L79.5,122.958 L39.5,122.958 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="40" x="42.5" y="117.6563">setup</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="188.5" y="139.958"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="198.5" y="161.0967">register to core event</text><path d="M49.5,198.3447 L49.5,223.4775 A0,0 0 0 0 49.5,223.4775 L164.5,223.4775 A0,0 0 0 0 164.5,223.4775 L164.5,216.3447 L184.5,210.9111 L164.5,208.3447 L164.5,208.3447 L154.5,198.3447 L49.5,198.3447 A0,0 0 0 0 49.5,198.3447 " fill="#FBFB77" filter="url(#fi9az5e5ckvfv)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M154.5,198.3447 L154.5,208.3447 L164.5,208.3447 L154.5,198.3447 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="55.5" y="215.4116">must not loop!</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="184.5" y="193.9268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="145" x="194.5" y="215.0654">execute setup callback</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="373" x="80.5" y="247.8955"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="353" x="90.5" y="269.0342">check returned event mask not to define the core event</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="299" x="117.5" y="301.8643"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="279" x="127.5" y="323.0029">suspend all child threads (if any, recursively)</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="327" x="103.5" y="355.833"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="113.5" y="376.9717">synchronize by calling</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="252.5" y="376.9717">urtCoreSynchronizeNdes()</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="123.5" y="409.8018"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="267" x="133.5" y="430.9404">resume all child threads (if any, recusively)</text><rect fill="#FFFFFF" filter="url(#fi9az5e5ckvfv)" height="375.3159" style="stroke: #000000; stroke-width: 2.0;" width="487.5" x="10" y="466.5723"/><path d="M50,467.5723 L50,475.8691 L40,485.8691 L10,485.8691 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="13" y="480.5674">loop</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="201.5" y="558.5796"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="211.5" y="579.7183">wait for any event</text><path d="M54,665.3687 L54,690.5015 A0,0 0 0 0 54,690.5015 L169,690.5015 A0,0 0 0 0 169,690.5015 L169,683.3687 L189,677.9351 L169,675.3687 L169,675.3687 L159,665.3687 L54,665.3687 A0,0 0 0 0 54,665.3687 " fill="#FBFB77" filter="url(#fi9az5e5ckvfv)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M159,665.3687 L159,675.3687 L169,675.3687 L159,665.3687 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="60" y="682.4355">must not loop!</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="189" y="660.9507"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="199" y="682.0894">execute loop callback</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="373" x="80.5" y="729.9194"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="353" x="90.5" y="751.0581">check returned event mask not to define the core event</text><polygon fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" points="204,612.5483,330,612.5483,342,624.5483,330,636.5483,204,636.5483,192,624.5483,204,612.5483" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="271" y="646.7588">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="204" y="628.3564">Was not a core event?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="342" y="621.9541">no</text><polygon fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" points="267,783.8882,279,795.8882,267,807.8882,255,795.8882,267,783.8882" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" points="199,502.8691,335,502.8691,347,514.8691,335,526.8691,199,526.8691,187,514.8691,199,502.8691" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="271" y="537.0796">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="199" y="518.6772">Termination requested?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="167" y="512.2749">yes</text><rect fill="#FFFFFF" filter="url(#fi9az5e5ckvfv)" height="136.2344" style="stroke: #000000; stroke-width: 2.0;" width="208" x="163" y="852.6899"/><path d="M210,853.6899 L210,861.9868 L200,871.9868 L163,871.9868 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="37" x="166" y="866.6851">outro</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="173" y="888.9868"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="183" y="910.1255">unregister from core event</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="203.5" y="942.9556"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="107" x="213.5" y="964.0942">terminate thread</text><ellipse cx="267" cy="1018.9243" fill="none" filter="url(#fi9az5e5ckvfv)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="267.5" cy="1019.4243" fill="#000000" filter="url(#fi9az5e5ckvfv)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="173.9268" y2="193.9268"/><polygon fill="#A80036" points="263,183.9268,267,193.9268,271,183.9268,267,187.9268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="227.8955" y2="247.8955"/><polygon fill="#A80036" points="263,237.8955,267,247.8955,271,237.8955,267,241.8955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="281.8643" y2="301.8643"/><polygon fill="#A80036" points="263,291.8643,267,301.8643,271,291.8643,267,295.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="335.833" y2="355.833"/><polygon fill="#A80036" points="263,345.833,267,355.833,271,345.833,267,349.833" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="389.8018" y2="409.8018"/><polygon fill="#A80036" points="263,399.8018,267,409.8018,271,399.8018,267,403.8018" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="92.8594" y2="139.958"/><polygon fill="#A80036" points="263,129.958,267,139.958,271,129.958,267,133.958" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="694.9194" y2="729.9194"/><polygon fill="#A80036" points="263,719.9194,267,729.9194,271,719.9194,267,723.9194" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="636.5483" y2="660.9507"/><polygon fill="#A80036" points="263,650.9507,267,660.9507,271,650.9507,267,654.9507" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342" x2="463.5" y1="624.5483" y2="624.5483"/><polygon fill="#A80036" points="459.5,702.4194,463.5,712.4194,467.5,702.4194,463.5,706.4194" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="463.5" x2="463.5" y1="624.5483" y2="795.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="463.5" x2="279" y1="795.8882" y2="795.8882"/><polygon fill="#A80036" points="289,791.8882,279,795.8882,289,799.8882,285,795.8882" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="763.8882" y2="783.8882"/><polygon fill="#A80036" points="263,773.8882,267,783.8882,271,773.8882,267,777.8882" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="592.5483" y2="612.5483"/><polygon fill="#A80036" points="263,602.5483,267,612.5483,271,602.5483,267,606.5483" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="526.8691" y2="558.5796"/><polygon fill="#A80036" points="263,548.5796,267,558.5796,271,548.5796,267,552.5796" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="807.8882" y2="817.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="481.5" y1="817.8882" y2="817.8882"/><polygon fill="#A80036" points="477.5,669.5327,481.5,659.5327,485.5,669.5327,481.5,665.5327" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="481.5" x2="481.5" y1="514.8691" y2="817.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="481.5" x2="347" y1="514.8691" y2="514.8691"/><polygon fill="#A80036" points="357,510.8691,347,514.8691,357,518.8691,353,514.8691" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="187" x2="32" y1="514.8691" y2="514.8691"/><polygon fill="#A80036" points="28,655.5327,32,665.5327,36,655.5327,32,659.5327" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="32" y1="514.8691" y2="829.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="267" y1="829.8882" y2="829.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="829.8882" y2="888.9868"/><polygon fill="#A80036" points="263,878.9868,267,888.9868,271,878.9868,267,882.9868" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="443.7705" y2="502.8691"/><polygon fill="#A80036" points="263,492.8691,267,502.8691,271,492.8691,267,496.8691" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="922.9556" y2="942.9556"/><polygon fill="#A80036" points="263,932.9556,267,942.9556,271,932.9556,267,936.9556" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="976.9243" y2="1008.9243"/><polygon fill="#A80036" points="263,998.9243,267,1008.9243,271,998.9243,267,1002.9243" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\n_main()\n
5

  
6

  
7

  
8
start
9
partition "setup" {
10
  :register to core event;
11
  :execute setup callback;
12
  note
13
    must not loop!
14
  endnote
15
  :check returned event mask not to define the core event;
16
  :suspend all child threads (if any, recursively);
17
  :synchronize by calling ""urtCoreSynchronizeNdes()"";
18
  :resume all child threads (if any, recusively);
19
}
20
partition "loop" {
21
  while (Termination requested?) is (no)
22
    :wait for any event;
23
    if (Was not a core event?) then (yes)
24
      :execute loop callback;
25
      note
26
        must not loop!
27
      endnote
28
      :check returned event mask not to define the core event;
29
    else (no)
30
    endif
31
  endwhile (yes)
32
}
33
partition "outro" {
34
  :unregister from core event;
35
  :terminate thread;
36
}
37
stop
38

  
39
@enduml
40

  
41
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
42
(GPL source distribution)
43
Java Runtime: OpenJDK Runtime Environment
44
JVM: OpenJDK 64-Bit Server VM
45
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
46
Operating System: Linux
47
OS Version: 4.15.0-36-generic
48
Default Encoding: UTF-8
49
Language: en
50
Country: US
51
--></g></svg>
doc/statediagrams/node/_main.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\n_main()\n
25

  
26

  
27

  
28
start
29
partition "setup" {
30
  :register to core event;
31
  :execute setup callback;
32
  note
33
    must not loop!
34
  endnote
35
  :check returned event mask not to define the core event;
36
  :suspend all child threads (if any, recursively);
37
  :synchronize by calling ""urtCoreSynchronizeNdes()"";
38
  :resume all child threads (if any, recusively);
39
}
40
partition "loop" {
41
  while (Termination requested?) is (no)
42
    :wait for any event;
43
    if (Was not a core event?) then (yes)
44
      :execute loop callback;
45
      note
46
        must not loop!
47
      endnote
48
      :check returned event mask not to define the core event;
49
    else (no)
50
    endif
51
  endwhile (yes)
52
}
53
partition "outro" {
54
  :unregister from core event;
55
  :terminate thread;
56
}
57
stop
58

  
59
@enduml
doc/statediagrams/node/nodethread.svg
1
<?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="500px" preserveAspectRatio="none" style="width:598px;height:500px;" version="1.1" viewBox="0 0 598 500" width="598px" zoomAndPan="magnify"><defs><filter height="300%" id="f2m2ok2ab1v62" 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="253.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="116" x="240" y="47.6611">Node Thread</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="301" y="68.6143"/><ellipse cx="453.5" cy="82.8594" fill="#000000" filter="url(#f2m2ok2ab1v62)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M236,117.2773 L236,142.4102 A0,0 0 0 0 236,142.4102 L351,142.4102 A0,0 0 0 0 351,142.4102 L351,135.2773 L371,129.8438 L351,127.2773 L351,127.2773 L341,117.2773 L236,117.2773 A0,0 0 0 0 236,117.2773 " fill="#FBFB77" filter="url(#f2m2ok2ab1v62)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M341,117.2773 L341,127.2773 L351,127.2773 L341,117.2773 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="242" y="134.3442">must not loop!</text><rect fill="#FEFECE" filter="url(#f2m2ok2ab1v62)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="371" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="145" x="381" y="133.998">execute setup callback</text><path d="M10,171.2461 L10,196.3789 A0,0 0 0 0 10,196.3789 L300,196.3789 A0,0 0 0 0 300,196.3789 L300,189.2461 L320,183.8125 L300,181.2461 L300,181.2461 L290,171.2461 L10,171.2461 A0,0 0 0 0 10,171.2461 " fill="#FBFB77" filter="url(#f2m2ok2ab1v62)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M290,171.2461 L290,181.2461 L300,181.2461 L290,171.2461 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="269" x="16" y="188.313">threads are woken simultaneously by core</text><rect fill="#FEFECE" filter="url(#f2m2ok2ab1v62)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="267" x="320" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="247" x="330" y="187.9668">suspend thread and all children (if any)</text><path d="M184,280.9253 L184,306.0581 A0,0 0 0 0 184,306.0581 L381,306.0581 A0,0 0 0 0 381,306.0581 L381,298.9253 L401,293.4917 L381,290.9253 L381,290.9253 L371,280.9253 L184,280.9253 A0,0 0 0 0 184,280.9253 " fill="#FBFB77" filter="url(#f2m2ok2ab1v62)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M371,280.9253 L371,290.9253 L381,290.9253 L371,280.9253 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="190" y="297.9922">maks specified by callbacks</text><rect fill="#FEFECE" filter="url(#f2m2ok2ab1v62)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="401" y="276.5073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="85" x="411" y="297.646">wait for event</text><path d="M240.5,343.9917 L240.5,369.1245 A0,0 0 0 0 240.5,369.1245 L355.5,369.1245 A0,0 0 0 0 355.5,369.1245 L355.5,361.9917 L375.5,356.5581 L355.5,353.9917 L355.5,353.9917 L345.5,343.9917 L240.5,343.9917 A0,0 0 0 0 240.5,343.9917 " fill="#FBFB77" filter="url(#f2m2ok2ab1v62)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M345.5,343.9917 L345.5,353.9917 L355.5,353.9917 L345.5,343.9917 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="246.5" y="361.0586">must not loop!</text><rect fill="#FEFECE" filter="url(#f2m2ok2ab1v62)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="375.5" y="339.5737"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="385.5" y="360.7124">execute loop callback</text><polygon fill="#FEFECE" filter="url(#f2m2ok2ab1v62)" points="385.5,220.7969,521.5,220.7969,533.5,232.7969,521.5,244.7969,385.5,244.7969,373.5,232.7969,385.5,220.7969" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="457.5" y="255.0073">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="385.5" y="236.605">Termination requested?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="353.5" y="230.2026">yes</text><rect fill="#FEFECE" filter="url(#f2m2ok2ab1v62)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="390" y="415.5425"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="107" x="400" y="436.6812">terminate thread</text><ellipse cx="453.5" cy="479.5112" fill="none" filter="url(#f2m2ok2ab1v62)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="454" cy="480.0112" fill="#000000" filter="url(#f2m2ok2ab1v62)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="449.5,102.8594,453.5,112.8594,457.5,102.8594,453.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="449.5,156.8281,453.5,166.8281,457.5,156.8281,453.5,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="310.4761" y2="339.5737"/><polygon fill="#A80036" points="449.5,329.5737,453.5,339.5737,457.5,329.5737,453.5,333.5737" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="244.7969" y2="276.5073"/><polygon fill="#A80036" points="449.5,266.5073,453.5,276.5073,457.5,266.5073,453.5,270.5073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="373.5425" y2="383.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="545.5" y1="383.5425" y2="383.5425"/><polygon fill="#A80036" points="541.5,319.5737,545.5,309.5737,549.5,319.5737,545.5,315.5737" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="545.5" x2="545.5" y1="232.7969" y2="383.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="545.5" x2="533.5" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="543.5,228.7969,533.5,232.7969,543.5,236.7969,539.5,232.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="172" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="168,305.5737,172,315.5737,176,305.5737,172,309.5737" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="172" x2="172" y1="232.7969" y2="395.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="172" x2="453.5" y1="395.5425" y2="395.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="395.5425" y2="415.5425"/><polygon fill="#A80036" points="449.5,405.5425,453.5,415.5425,457.5,405.5425,453.5,409.5425" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="449.5,210.7969,453.5,220.7969,457.5,210.7969,453.5,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="453.5" x2="453.5" y1="449.5112" y2="469.5112"/><polygon fill="#A80036" points="449.5,459.5112,453.5,469.5112,457.5,459.5112,453.5,463.5112" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nNode Thread\n
5

  
6

  
7

  
8
start
9
:execute setup callback;
10
note
11
  must not loop!
12
endnote
13
:suspend thread and all children (if any);
14
note
15
  threads are woken simultaneously by core
16
endnote
17
while (Termination requested?) is (no)
18
  :wait for event;
19
  note
20
    maks specified by callbacks
21
  endnote
22
  :execute loop callback;
23
  note
24
    must not loop!
25
  endnote
26
endwhile (yes)
27
:terminate thread;
28
stop
29

  
30
@enduml
31

  
32
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
33
(GPL source distribution)
34
Java Runtime: OpenJDK Runtime Environment
35
JVM: OpenJDK 64-Bit Server VM
36
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
37
Operating System: Linux
38
OS Version: 4.15.0-36-generic
39
Default Encoding: UTF-8
40
Language: en
41
Country: US
42
--></g></svg>
doc/statediagrams/node/nodethread.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nNode Thread\n
25

  
26

  
27

  
28
start
29
:execute setup callback;
30
note
31
  must not loop!
32
endnote
33
:suspend thread and all children (if any);
34
note
35
  threads are woken simultaneously by core
36
endnote
37
while (Termination requested?) is (no)
38
  :wait for event;
39
  note
40
    maks specified by callbacks
41
  endnote
42
  :execute loop callback;
43
  note
44
    must not loop!
45
  endnote
46
endwhile (yes)
47
:terminate thread;
48
stop
49

  
50
@enduml
doc/statediagrams/node/urtNodeInit.svg
1
<?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="251px" preserveAspectRatio="none" style="width:413px;height:251px;" version="1.1" viewBox="0 0 413 251" width="413px" zoomAndPan="magnify"><defs><filter height="300%" id="f1fe41zbnav97i" 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="161.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="116" x="147.75" y="47.6611">urtNodeInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="208.75" y="68.6143"/><ellipse cx="291.5" cy="82.8594" fill="#000000" filter="url(#f1fe41zbnav97i)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,117.2773 L10,142.4102 A0,0 0 0 0 10,142.4102 L206,142.4102 A0,0 0 0 0 206,142.4102 L206,135.2773 L226,129.8438 L206,127.2773 L206,127.2773 L196,117.2773 L10,117.2773 A0,0 0 0 0 10,117.2773 " fill="#FBFB77" filter="url(#f1fe41zbnav97i)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M196,117.2773 L196,127.2773 L206,127.2773 L196,117.2773 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="175" x="16" y="134.3442">including the thread object!</text><rect fill="#FEFECE" filter="url(#f1fe41zbnav97i)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="226" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="236" y="133.998">initialize members</text><rect fill="#FEFECE" filter="url(#f1fe41zbnav97i)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="222" x="180.5" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="202" x="190.5" y="187.9668">insert self to core's list of nodes</text><ellipse cx="291.5" cy="230.7969" fill="none" filter="url(#f1fe41zbnav97i)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="292" cy="231.2969" fill="#000000" filter="url(#f1fe41zbnav97i)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="291.5" x2="291.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="287.5,102.8594,291.5,112.8594,295.5,102.8594,291.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="291.5" x2="291.5" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="287.5,156.8281,291.5,166.8281,295.5,156.8281,291.5,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="291.5" x2="291.5" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="287.5,210.7969,291.5,220.7969,295.5,210.7969,291.5,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtNodeInit()\n
5

  
6

  
7

  
8
start
9
:initialize members;
10
note
11
  including the thread object!
12
endnote
13
:insert self to core's list of nodes;
14
stop
15

  
16
@enduml
17

  
18
PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
19
(GPL source distribution)
20
Java Runtime: OpenJDK Runtime Environment
21
JVM: OpenJDK 64-Bit Server VM
22
Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
23
Operating System: Linux
24
OS Version: 4.15.0-36-generic
25
Default Encoding: UTF-8
26
Language: en
27
Country: US
28
--></g></svg>
doc/statediagrams/node/urtNodeInit.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2018  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
@startuml
23

  
24
title **µRtWare**\nurtNodeInit()\n
25

  
26

  
27

  
28
start
29
:initialize members;
30
note
31
  including the thread object!
32
endnote
33
:insert self to core's list of nodes;
34
stop
35

  
36
@enduml
doc/statediagrams/publisher/publish.svg
1
<?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="866px" preserveAspectRatio="none" style="width:2377px;height:866px;" version="1.1" viewBox="0 0 2377 866" width="2377px" zoomAndPan="magnify"><defs><filter height="300%" id="fee41veaagnt2" 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="1143" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="183" x="1096" y="47.6611">urtPublisherPublish()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1190.5" y="68.6143"/><ellipse cx="657.25" cy="82.8594" fill="#000000" filter="url(#fee41veaagnt2)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="617.25" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="627.25" y="133.998">lock topic</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="588.75" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="598.75" y="187.9668">lock next message</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="344" x="485.25" y="276.5073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="324" x="495.25" y="297.646">wait for condition variable to be signaled or timeout</text><polygon fill="#FEFECE" filter="url(#fee41veaagnt2)" points="509.25,220.7969,805.25,220.7969,817.25,232.7969,805.25,244.7969,509.25,244.7969,497.25,232.7969,509.25,220.7969" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="661.25" y="255.0073">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="296" x="509.25" y="236.605">HRT consumers left for the message &amp; no timeout?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="483.25" y="230.2026">no</text><polygon fill="#FEFECE" filter="url(#fee41veaagnt2)" points="604.25,352.4761,710.25,352.4761,722.25,364.4761,710.25,376.4761,604.25,376.4761,592.25,364.4761,604.25,352.4761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="604.25" y="368.2842">Timeout occurred?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="572.25" y="361.8818">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="722.25" y="361.8818">no</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="10" y="386.4761"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="20" y="407.6147">unlock message</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="23" y="455.4448"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="33" y="476.5835">unlock topic</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="24" y="524.4136"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="34" y="545.5522">return error</text><ellipse cx="71" cy="603.3823" fill="none" filter="url(#fee41veaagnt2)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="71.5" cy="603.8823" fill="#000000" filter="url(#fee41veaagnt2)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fee41veaagnt2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2223" x="142" y="386.4761"/><rect fill="#000000" filter="url(#fee41veaagnt2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="861" x="156" y="442.7964"/><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="170" y="468.7964"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="180" y="489.9351">iterate topic pointer to this message</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="449" y="468.7964"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="82" x="459" y="489.9351">copy payload</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="579" y="468.7964"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="589" y="489.9351">set origin time</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="717" y="468.7964"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="727" y="489.9351">set number of HRT consumers (from topic)</text><rect fill="#000000" filter="url(#fee41veaagnt2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="861" x="156" y="522.7651"/><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="525.5" y="563.7651"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="535.5" y="584.9038">unlock message</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="350" x="1045" y="503.2808"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="330" x="1055" y="524.4194">set QoS timer (rate) wrt. most critical HRT subscriber</text><path d="M1457,526.1011 L1457,551.2339 A0,0 0 0 0 1457,551.2339 L1946,551.2339 A0,0 0 0 0 1946,551.2339 L1946,544.1011 L1966,538.6675 L1946,536.1011 L1946,536.1011 L1936,526.1011 L1457,526.1011 A0,0 0 0 0 1457,526.1011 " fill="#FBFB77" filter="url(#fee41veaagnt2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1936,526.1011 L1936,536.1011 L1946,536.1011 L1936,526.1011 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="468" x="1463" y="543.168">no lock required since this timer is only accessed when the topic is locked</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="351" x="1966" y="521.6831"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="331" x="1976" y="542.8218">set QoS timer (delay) wrt. origin time of the message</text><polygon fill="#FEFECE" filter="url(#fee41veaagnt2)" points="2050,473.2808,2233,473.2808,2245,485.2808,2233,497.2808,2050,497.2808,2038,485.2808,2050,473.2808" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2145.5" y="507.4912">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="2050" y="489.0889">QoS timer (delay) is not armed?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2245" y="482.6865">no</text><polygon fill="#FEFECE" filter="url(#fee41veaagnt2)" points="2141.5,580.0542,2153.5,592.0542,2141.5,604.0542,2129.5,592.0542,2141.5,580.0542" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fee41veaagnt2)" points="2080.5,412.4761,2202.5,412.4761,2214.5,424.4761,2202.5,436.4761,2080.5,436.4761,2068.5,424.4761,2080.5,412.4761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2145.5" y="446.6865">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="2080.5" y="428.2842">HRT subscribers left?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2054.5" y="421.8818">no</text><rect fill="#000000" filter="url(#fee41veaagnt2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2223" x="142" y="648.0542"/><path d="M895,678.4722 L895,703.605 A0,0 0 0 0 895,703.605 L1194,703.605 A0,0 0 0 0 1194,703.605 L1194,696.4722 L1214,691.0386 L1194,688.4722 L1194,688.4722 L1184,678.4722 L895,678.4722 A0,0 0 0 0 895,678.4722 " fill="#FBFB77" filter="url(#fee41veaagnt2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1184,678.4722 L1184,688.4722 L1194,688.4722 L1184,678.4722 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="278" x="901" y="695.5391">must be within lock because of HRT counter</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="1214" y="674.0542"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="1224" y="695.1929">fire event</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1205.5" y="728.0229"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1215.5" y="749.1616">unlock topic</text><rect fill="#FEFECE" filter="url(#fee41veaagnt2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1196.5" y="781.9917"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="1206.5" y="803.1304">return success</text><ellipse cx="1253.5" cy="845.9604" fill="none" filter="url(#fee41veaagnt2)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1254" cy="846.4604" fill="#000000" filter="url(#fee41veaagnt2)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="657.25" x2="657.25" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="653.25,102.8594,657.25,112.8594,661.25,102.8594,657.25,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="657.25" x2="657.25" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="653.25,156.8281,657.25,166.8281,661.25,156.8281,657.25,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="657.25" x2="657.25" y1="244.7969" y2="276.5073"/><polygon fill="#A80036" points="653.25,266.5073,657.25,276.5073,661.25,266.5073,657.25,270.5073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="657.25" x2="657.25" y1="310.4761" y2="320.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="657.25" x2="841.25" y1="320.4761" y2="320.4761"/><polygon fill="#A80036" points="837.25,285.0894,841.25,275.0894,845.25,285.0894,841.25,281.0894" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="841.25" x2="841.25" y1="232.7969" y2="320.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="841.25" x2="817.25" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="827.25,228.7969,817.25,232.7969,827.25,236.7969,823.25,232.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="497.25" x2="473.25" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="469.25,271.0894,473.25,281.0894,477.25,271.0894,473.25,275.0894" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="473.25" x2="473.25" y1="232.7969" y2="332.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="473.25" x2="657.25" y1="332.4761" y2="332.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="657.25" x2="657.25" y1="332.4761" y2="352.4761"/><polygon fill="#A80036" points="653.25,342.4761,657.25,352.4761,661.25,342.4761,657.25,346.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="657.25" x2="657.25" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="653.25,210.7969,657.25,220.7969,661.25,210.7969,657.25,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="420.4448" y2="455.4448"/><polygon fill="#A80036" points="67,445.4448,71,455.4448,75,445.4448,71,449.4448" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="489.4136" y2="524.4136"/><polygon fill="#A80036" points="67,514.4136,71,524.4136,75,514.4136,71,518.4136" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="558.3823" y2="593.3823"/><polygon fill="#A80036" points="67,583.3823,71,593.3823,75,583.3823,71,587.3823" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="295.5" x2="295.5" y1="448.7964" y2="468.7964"/><polygon fill="#A80036" points="291.5,458.7964,295.5,468.7964,299.5,458.7964,295.5,462.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="500" x2="500" y1="448.7964" y2="468.7964"/><polygon fill="#A80036" points="496,458.7964,500,468.7964,504,458.7964,500,462.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="634" x2="634" y1="448.7964" y2="468.7964"/><polygon fill="#A80036" points="630,458.7964,634,468.7964,638,458.7964,634,462.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="860" y1="448.7964" y2="468.7964"/><polygon fill="#A80036" points="856,458.7964,860,468.7964,864,458.7964,860,462.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="295.5" x2="295.5" y1="502.7651" y2="522.7651"/><polygon fill="#A80036" points="291.5,512.7651,295.5,522.7651,299.5,512.7651,295.5,516.7651" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="500" x2="500" y1="502.7651" y2="522.7651"/><polygon fill="#A80036" points="496,512.7651,500,522.7651,504,512.7651,500,516.7651" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="634" x2="634" y1="502.7651" y2="522.7651"/><polygon fill="#A80036" points="630,512.7651,634,522.7651,638,512.7651,634,516.7651" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="860" y1="502.7651" y2="522.7651"/><polygon fill="#A80036" points="856,512.7651,860,522.7651,864,512.7651,860,516.7651" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.5" x2="586.5" y1="528.7651" y2="563.7651"/><polygon fill="#A80036" points="582.5,553.7651,586.5,563.7651,590.5,553.7651,586.5,557.7651" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2141.5" x2="2141.5" y1="497.2808" y2="521.6831"/><polygon fill="#A80036" points="2137.5,511.6831,2141.5,521.6831,2145.5,511.6831,2141.5,515.6831" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2245" x2="2327" y1="485.2808" y2="485.2808"/><polygon fill="#A80036" points="2323,528.6675,2327,538.6675,2331,528.6675,2327,532.6675" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2327" x2="2327" y1="485.2808" y2="592.0542"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2327" x2="2153.5" y1="592.0542" y2="592.0542"/><polygon fill="#A80036" points="2163.5,588.0542,2153.5,592.0542,2163.5,596.0542,2159.5,592.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2141.5" x2="2141.5" y1="555.6519" y2="580.0542"/><polygon fill="#A80036" points="2137.5,570.0542,2141.5,580.0542,2145.5,570.0542,2141.5,574.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2141.5" x2="2141.5" y1="436.4761" y2="473.2808"/><polygon fill="#A80036" points="2137.5,463.2808,2141.5,473.2808,2145.5,463.2808,2141.5,467.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2141.5" x2="2141.5" y1="604.0542" y2="616.0542"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2141.5" x2="2351" y1="616.0542" y2="616.0542"/><polygon fill="#A80036" points="2347,530.2651,2351,520.2651,2355,530.2651,2351,526.2651" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2351" x2="2351" y1="424.4761" y2="616.0542"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2351" x2="2214.5" y1="424.4761" y2="424.4761"/><polygon fill="#A80036" points="2224.5,420.4761,2214.5,424.4761,2224.5,428.4761,2220.5,424.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2068.5" x2="1435" y1="424.4761" y2="424.4761"/><polygon fill="#A80036" points="1431,516.2651,1435,526.2651,1439,516.2651,1435,520.2651" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1435" x2="1435" y1="424.4761" y2="628.0542"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1435" x2="2141.5" y1="628.0542" y2="628.0542"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2141.5" x2="2141.5" y1="628.0542" y2="648.0542"/><polygon fill="#A80036" points="2137.5,638.0542,2141.5,648.0542,2145.5,638.0542,2141.5,642.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.5" x2="586.5" y1="392.4761" y2="442.7964"/><polygon fill="#A80036" points="582.5,432.7964,586.5,442.7964,590.5,432.7964,586.5,436.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1220" x2="1220" y1="392.4761" y2="503.2808"/><polygon fill="#A80036" points="1216,493.2808,1220,503.2808,1224,493.2808,1220,497.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2141.5" x2="2141.5" y1="392.4761" y2="412.4761"/><polygon fill="#A80036" points="2137.5,402.4761,2141.5,412.4761,2145.5,402.4761,2141.5,406.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.5" x2="586.5" y1="597.7339" y2="648.0542"/><polygon fill="#A80036" points="582.5,638.0542,586.5,648.0542,590.5,638.0542,586.5,642.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1220" x2="1220" y1="537.2495" y2="648.0542"/><polygon fill="#A80036" points="1216,638.0542,1220,648.0542,1224,638.0542,1220,642.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253.5" x2="1253.5" y1="654.0542" y2="674.0542"/><polygon fill="#A80036" points="1249.5,664.0542,1253.5,674.0542,1257.5,664.0542,1253.5,668.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253.5" x2="1253.5" y1="708.0229" y2="728.0229"/><polygon fill="#A80036" points="1249.5,718.0229,1253.5,728.0229,1257.5,718.0229,1253.5,722.0229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253.5" x2="1253.5" y1="761.9917" y2="781.9917"/><polygon fill="#A80036" points="1249.5,771.9917,1253.5,781.9917,1257.5,771.9917,1253.5,775.9917" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253.5" x2="1253.5" y1="815.9604" y2="835.9604"/><polygon fill="#A80036" points="1249.5,825.9604,1253.5,835.9604,1257.5,825.9604,1253.5,829.9604" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="592.25" x2="71" y1="364.4761" y2="364.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="364.4761" y2="386.4761"/><polygon fill="#A80036" points="67,376.4761,71,386.4761,75,376.4761,71,380.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="722.25" x2="1253.5" y1="364.4761" y2="364.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253.5" x2="1253.5" y1="364.4761" y2="386.4761"/><polygon fill="#A80036" points="1249.5,376.4761,1253.5,386.4761,1257.5,376.4761,1253.5,380.4761" style="stroke: #A80036; stroke-width: 1.0;"/><!--
2
@startuml
3

  
4
title **µRtWare**\nurtPublisherPublish()\n
5

  
6

  
7

  
8
start
9
:lock topic;
10
:lock next message;
11
while (HRT consumers left for the message & no timeout?) is (yes)
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff