Revision 4d55cea4

View differences:

doc/classdiagrams/config.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="290px" preserveAspectRatio="none" style="width:308px;height:290px;" version="1.1" viewBox="0 0 308 290" width="308px" zoomAndPan="magnify"><defs><filter height="300%" id="fvia6mr5z56ky" 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="107.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="120" x="92" y="37.6611">Configuration</text><!--MD5=[e443ac33c80100c2d54e1f5fe669f6d7]
2
class urt_config--><rect fill="#FEFECE" filter="url(#fvia6mr5z56ky)" height="230.4609" id="urt_config" style="stroke: #A80036; stroke-width: 1.5;" width="290" x="7" y="48.9063"/><ellipse cx="116.75" cy="64.9063" fill="#BFBFBF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M119.7188,70.5469 Q119.1406,70.8438 118.5,70.9844 Q117.8594,71.1406 117.1563,71.1406 Q114.6563,71.1406 113.3281,69.5 Q112.0156,67.8438 112.0156,64.7188 Q112.0156,61.5938 113.3281,59.9375 Q114.6563,58.2813 117.1563,58.2813 Q117.8594,58.2813 118.5,58.4375 Q119.1563,58.5938 119.7188,58.8906 L119.7188,61.6094 Q119.0938,61.0313 118.5,60.7656 Q117.9063,60.4844 117.2813,60.4844 Q115.9375,60.4844 115.25,61.5625 Q114.5625,62.625 114.5625,64.7188 Q114.5625,66.8125 115.25,67.8906 Q115.9375,68.9531 117.2813,68.9531 Q117.9063,68.9531 118.5,68.6875 Q119.0938,68.4063 119.7188,67.8281 L119.7188,70.5469 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="137.25" y="69.0605">urt_config</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8" x2="296" y1="80.9063" y2="80.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="159" x="13" y="95.1167">URT_CFG_DELAY_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="13" y="107.9214">URT_CFG_TOPICID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="13" y="120.7261">URT_CFG_SERVICEID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="13" y="133.5308">URT_CFG_NODESTAGE_WIDTH : int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="296" y1="140.125" y2="140.125"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="13" y="154.3354">URT_CFG_DEBUG_ENABLED : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="296" y1="160.9297" y2="160.9297"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="13" y="175.1401">URT_CFG_PUBSUB_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="13" y="187.9448">URT_CFG_PUBSUB_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="13" y="200.7495">URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="252" x="13" y="213.5542">URT_CFG_PUBSUB_QOS_RATECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="13" y="226.3589">URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8" x2="296" y1="232.9531" y2="232.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="13" y="247.1636">URT_CFG_RPC_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="13" y="259.9683">URT_CFG_RPC_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="13" y="272.7729">URT_CFG_RPC_QOS_JITTERCHECKS : bool</text><!--MD5=[fa463d24fc3844a76136af04696c4d0a]
3
@startuml
4

  
5
title **µRtWare**\nConfiguration
6

  
7

  
8

  
9

  
10

  
11

  
12

  
13

  
14

  
15

  
16

  
17

  
18

  
19
  class urt_config <<C,BFBFBF>> {
20
  URT_CFG_DELAY_WIDTH : int
21
  URT_CFG_TOPICID_WIDTH : int
22
  URT_CFG_SERVICEID_WIDTH : int
23
  URT_CFG_NODESTAGE_WIDTH : int
24
  ..
25
  URT_CFG_DEBUG_ENABLED : bool
26
  ..
27
  URT_CFG_PUBSUB_ENABLED : bool
28
  URT_CFG_PUBSUB_PROFILING : bool
29
  URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool
30
  URT_CFG_PUBSUB_QOS_RATECHECKS : bool
31
  URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool
32
  ..
33
  URT_CFG_RPC_ENABLED : bool
34
  URT_CFG_RPC_PROFILING : bool
35
  URT_CFG_RPC_QOS_JITTERCHECKS : bool
36
}
37

  
38

  
39

  
40

  
41

  
42
@enduml
43

  
44
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
45
(GPL source distribution)
46
Java Runtime: OpenJDK Runtime Environment
47
JVM: OpenJDK 64-Bit Server VM
48
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
49
Operating System: Linux
50
Default Encoding: UTF-8
51
Language: en
52
Country: US
53
--></g></svg>
doc/classdiagrams/config.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..2020  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
/'### INTRO ##################################################################'/
23

  
24
@startuml
25

  
26
title **µRtWare**\nConfiguration
27

  
28
!include ../functions.iuml
29

  
30
/'### ENTITIES ###############################################################'/
31

  
32
!startsub ENTITIES
33

  
34
/' Not a type but a set of configuration macros. '/
35
$configuration("urt_config") {
36
    'Selector to specify the width of urt_delay_t type (32 or 64).
37
  URT_CFG_DELAY_WIDTH : int
38
    'Selector to specify the width of the urt_topicid_t type (8, 16, 32 or 64).
39
  URT_CFG_TOPICID_WIDTH : int
40
    'Selector to specify the width of the urt_serviceid_t type (8, 16, 32 or 64).
41
  URT_CFG_SERVICEID_WIDTH : int
42
    'Selector to specify the width of the urt_nodestage_t type (8, 16, 32 or 64).
43
  URT_CFG_NODESTAGE_WIDTH : int
44
  ..
45
    'Selection to en-/disable debug checks.
46
  URT_CFG_DEBUG_ENABLED : bool
47
  ..
48
    'Selection ed-/disable publush-subscribe functionality.
49
  URT_CFG_PUBSUB_ENABLED : bool
50
    'Selection to en-/disable profiling for publish-subscribe.
51
  URT_CFG_PUBSUB_PROFILING : bool
52
    'Selection to en-/disable QoS deadline checks (e.g. timers) for publish-subscribe.
53
  URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool
54
    'Selection to en-/disable QoS rate checks (e.g. timers) for publish-subscribe.
55
  URT_CFG_PUBSUB_QOS_RATECHECKS : bool
56
    'Selection to en-/disable QoS jitter checks for publish-subscribe.
57
  URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool
58
  ..
59
    'Selection to en-/disable RPC functionality.
60
  URT_CFG_RPC_ENABLED : bool
61
    'Selection to en-/disable profiling of RPCs.
62
  URT_CFG_RPC_PROFILING : bool
63
    'Selection to en-/disable QoS jitter checks for RPCs.
64
  URT_CFG_RPC_QOS_JITTERCHECKS : bool
65
}
66

  
67
!endsub
68

  
69
/'### DEPENDENCIES & LAYOUT ##################################################'/
70

  
71
!startsub DEPENDENCIES
72
!endsub
73

  
74
/'### OUTRO ##################################################################'/
75

  
76
@enduml
77

  
doc/classdiagrams/osal.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="759px" preserveAspectRatio="none" style="width:5287px;height:759px;" version="1.1" viewBox="0 0 5287 759" width="5287px" zoomAndPan="magnify"><defs><filter height="300%" id="f1o4xjkf1sw9ns" 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="2606.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="387" x="2457.5" y="37.6611">Operating System Abstraction Layer (OSAL)</text><!--MD5=[2e45f233f6bb64aa81ebe67fb6de8946]
2
cluster condition variable--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="431.5" style="stroke: #000000; stroke-width: 1.5;" width="726" x="14" y="177.4063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="307" y="192.4014">condition variable</text><!--MD5=[c7113df1f710ca294cbd01734aa00974]
3
cluster timer--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="425.5" style="stroke: #000000; stroke-width: 1.5;" width="798" x="2817" y="170.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="3195.5" y="185.9014">timer</text><!--MD5=[107bb3f79455a18bd83c75ada1ac7979]
4
cluster thread--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="583" style="stroke: #000000; stroke-width: 1.5;" width="1039" x="1073" y="57.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="1566.5" y="72.9014">thread</text><!--MD5=[8d74b40516bd265adb19f202ab81f40d]
5
cluster events--><rect fill="#FFFFFF" filter="url(#f1o4xjkf1sw9ns)" height="565" style="stroke: #000000; stroke-width: 1.5;" width="1642" x="3634" y="183.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="4428" y="198.9014">events</text><!--MD5=[52fa11869cb40c93fa7702378ddd839e]
6
class urt_osCondvarWaitStatus_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="242" y="514.9063"/><ellipse cx="288.25" cy="530.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M292.3594,536.9063 L284.6406,536.9063 L284.6406,524.5156 L292.3594,524.5156 L292.3594,526.6719 L287.0938,526.6719 L287.0938,529.3438 L291.8594,529.3438 L291.8594,531.5 L287.0938,531.5 L287.0938,534.75 L292.3594,534.75 L292.3594,536.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="169" x="308.75" y="535.0605">urt_osCondvarWaitStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="511" y1="546.9063" y2="546.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="248" y="561.1167">URT_CONDVAR_WAITSTATUS_SIGNAL = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="248" y="573.9214">URT_CONDVAR_WAITSTATUS_BROADCAST = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="248" y="586.7261">URT_CONDVAR_WAITSTATUS_TIMEOUT = 0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="511" y1="593.3203" y2="593.3203"/><!--MD5=[004fc5dee471033e8e4138c1c73f0692]
7
class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="710" x="22" y="204.4063"/><ellipse cx="322.25" cy="220.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M323.0938,227.1563 L320.6406,227.1563 L320.6406,216.9063 L317.5,216.9063 L317.5,214.7656 L326.2344,214.7656 L326.2344,216.9063 L323.0938,216.9063 L323.0938,227.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="342.75" y="224.5605">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23" x2="731" y1="236.4063" y2="236.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23" x2="731" y1="244.4063" y2="244.4063"/><ellipse cx="33" cy="255.4063" 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="42" y="258.6167">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="268.2109" 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="301" x="42" y="271.4214">urtCondvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="281.0156" 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="42" y="284.2261">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="33" cy="293.8203" 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="684" x="42" y="297.0308">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t</text><!--MD5=[93799a03260ba286abda700174f4f205]
8
class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="3073" y="527.4063"/><ellipse cx="3143.75" cy="543.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3144.5938,550.1563 L3142.1406,550.1563 L3142.1406,539.9063 L3139,539.9063 L3139,537.7656 L3147.7344,537.7656 L3147.7344,539.9063 L3144.5938,539.9063 L3144.5938,550.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="3164.25" y="547.5605">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3074" x2="3358" y1="559.4063" y2="559.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3074" x2="3358" y1="567.4063" y2="567.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="3079" y="581.6167">urt_osTimerCallback_t (parameter : void*) : void</text><!--MD5=[0b340d7b925b1eab6a1b7e084f68a7c2]
9
class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="112.0234" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="782" x="2825" y="197.9063"/><ellipse cx="3169.75" cy="213.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3170.5938,220.6563 L3168.1406,220.6563 L3168.1406,210.4063 L3165,210.4063 L3165,208.2656 L3173.7344,208.2656 L3173.7344,210.4063 L3170.5938,210.4063 L3170.5938,220.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="3190.25" y="218.0605">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2826" x2="3606" y1="229.9063" y2="229.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2826" x2="3606" y1="237.9063" y2="237.9063"/><ellipse cx="2836" cy="248.9063" 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="2845" y="252.1167">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="2836" cy="261.7109" 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="2845" y="264.9214">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="2836" cy="274.5156" 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="756" x="2845" y="277.7261">urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="2836" cy="287.3203" 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="2845" y="290.5308">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="2836" cy="300.125" 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="2845" y="303.3354">urtTimerIsArmed (timer : urt_osTimer_t*) : bool</text><!--MD5=[86c16d91227b9a9ec3b6b9b0285de4e9]
10
class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="150.4375" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1081.5" y="482.9063"/><ellipse cx="1117.65" cy="498.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1118.4938,505.6563 L1116.0406,505.6563 L1116.0406,495.4063 L1112.9,495.4063 L1112.9,493.2656 L1121.6344,493.2656 L1121.6344,495.4063 L1118.4938,495.4063 L1118.4938,505.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1136.35" y="503.0605">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1082.5" x2="1277.5" y1="514.9063" y2="514.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="1087.5" y="529.1167">URT_THREAD_PRIO_LOW_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="1087.5" y="541.9214">URT_THREAD_PRIO_LOW_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="1087.5" y="554.7261">URT_THREAD_PRIO_NORMAL_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="1087.5" y="567.5308">URT_THREAD_PRIO_NORMAL_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="164" x="1087.5" y="580.3354">URT_THREAD_PRIO_HIGH_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="1087.5" y="593.1401">URT_THREAD_PRIO_HIGH_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="1087.5" y="605.9448">URT_THREAD_PRIO_RT_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="1087.5" y="618.7495">URT_THREAD_PRIO_RT_MAX</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1082.5" x2="1277.5" y1="625.3438" y2="625.3438"/><!--MD5=[69d8aab9aa387a2f5052ea3da80e80ea]
11
class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1314" y="527.4063"/><ellipse cx="1361.75" cy="543.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1362.5938,550.1563 L1360.1406,550.1563 L1360.1406,539.9063 L1357,539.9063 L1357,537.7656 L1365.7344,537.7656 L1365.7344,539.9063 L1362.5938,539.9063 L1362.5938,550.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="1382.25" y="547.5605">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1315" x2="1565" y1="559.4063" y2="559.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1315" x2="1565" y1="567.4063" y2="567.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="1320" y="581.6167">urt_osThreadFunction_t (arg : void*) : void</text><!--MD5=[ab5f611d45c3fa10609c33f780d8c3e1]
12
class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="1601" y="520.9063"/><ellipse cx="1622.75" cy="536.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1626.8594,542.9063 L1619.1406,542.9063 L1619.1406,530.5156 L1626.8594,530.5156 L1626.8594,532.6719 L1621.5938,532.6719 L1621.5938,535.3438 L1626.3594,535.3438 L1626.3594,537.5 L1621.5938,537.5 L1621.5938,540.75 L1626.8594,540.75 L1626.8594,542.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="1638.25" y="541.0605">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1842" y1="552.9063" y2="552.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="1607" y="567.1167">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1607" y="579.9214">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1842" y1="586.5156" y2="586.5156"/><!--MD5=[47d14ad2c233fae1b32b8d0a283e820a]
13
class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="137.6328" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="1878" y="488.9063"/><ellipse cx="1922.75" cy="504.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1926.8594,510.9063 L1919.1406,510.9063 L1919.1406,498.5156 L1926.8594,498.5156 L1926.8594,500.6719 L1921.5938,500.6719 L1921.5938,503.3438 L1926.3594,503.3438 L1926.3594,505.5 L1921.5938,505.5 L1921.5938,508.75 L1926.8594,508.75 L1926.8594,510.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="1943.25" y="509.0605">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1879" x2="2103" y1="520.9063" y2="520.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="1884" y="535.1167">URT_THREAD_STATE_INACTIVE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="1884" y="547.9214">URT_THREAD_STATE_RUNNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="1884" y="560.7261">URT_THREAD_STATE_READY = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="1884" y="573.5308">URT_THREAD_STATE_SLEEPING = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="1884" y="586.3354">URT_THREAD_STATE_SUSPENDED = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="1884" y="599.1401">URT_THREAD_STATE_WAITING = 5</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="1884" y="611.9448">URT_THREAD_STATE_TERMINATED = 6</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1879" x2="2103" y1="618.5391" y2="618.5391"/><!--MD5=[0a16224ede9ffa9bb2d34e085a076e6d]
14
class urt_osThread_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="337.7031" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="560" x="1442" y="84.9063"/><ellipse cx="1670.75" cy="100.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1671.5938,107.6563 L1669.1406,107.6563 L1669.1406,97.4063 L1666,97.4063 L1666,95.2656 L1674.7344,95.2656 L1674.7344,97.4063 L1671.5938,97.4063 L1671.5938,107.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="1691.25" y="105.0605">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1443" x2="2001" y1="116.9063" y2="116.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="1448" y="131.1167">URT_THREAD_SLEEP_MAX : float</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1448" y="143.9214">URT_THREAD_SSLEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="1448" y="156.7261">URT_THREAD_MSLEEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="224" x="1448" y="169.5308">URT_THREAD_USLEEP_MAX : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1443" x2="2001" y1="176.125" y2="176.125"/><ellipse cx="1453" cy="187.125" 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="248" x="1462" y="190.3354">URT_THREAD_MEMORY (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1443" x2="2001" y1="196.9297" y2="196.9297"/><ellipse cx="1453" cy="207.9297" 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="534" x="1462" y="211.1401">urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*</text><ellipse cx="1453" cy="220.7344" 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="1462" y="223.9448">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="1453" cy="233.5391" 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="1462" y="236.7495">urtThreadYield (void) : void</text><ellipse cx="1453" cy="246.3438" 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="1462" y="249.5542">urtThreadGetPriority (void) : urt_osThreadPrio_t</text><ellipse cx="1453" cy="259.1484" 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="304" x="1462" y="262.3589">urtThreadSetPriority (prio : urt_osThreadPrio_t) : void</text><ellipse cx="1453" cy="271.9531" 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="1462" y="275.1636">urtThreadSuspend (thread : urt_osThread_t*) : void</text><ellipse cx="1453" cy="284.7578" 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="1462" y="287.9683">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="1453" cy="297.5625" 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="1462" y="300.7729">urtThreadSleep (seconds : float) : void</text><ellipse cx="1453" cy="310.3672" 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="265" x="1462" y="313.5776">urtThreadSSleep (seconds : urt_delay_t) : void</text><ellipse cx="1453" cy="323.1719" 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="289" x="1462" y="326.3823">urtThreadMSleep (milliseconds : urt_delay_t) : void</text><ellipse cx="1453" cy="335.9766" 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="1462" y="339.187">urtThreadUSleep (microseconds : urt_delay_t) : void</text><ellipse cx="1453" cy="348.7813" 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="1462" y="351.9917">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="1453" cy="361.5859" 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="1462" y="364.7964">urtThreadExit (void) : void</text><ellipse cx="1453" cy="374.3906" 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="1462" y="377.6011">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="1453" cy="387.1953" 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="1462" y="390.4058">urtThreadJoin (thread : urt_osThread_t*) : void</text><ellipse cx="1453" cy="400" 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="1462" y="403.2104">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="1453" cy="412.8047" 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="237" x="1462" y="416.0151">urtThreadGetSelf (void) : urt_osThread_t*</text><!--MD5=[0a4e0f34d8da0ad3ed6ecf72f02e09c8]
15
class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="3642" y="527.4063"/><ellipse cx="3719.25" cy="543.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3720.0938,550.1563 L3717.6406,550.1563 L3717.6406,539.9063 L3714.5,539.9063 L3714.5,537.7656 L3723.2344,537.7656 L3723.2344,539.9063 L3720.0938,539.9063 L3720.0938,550.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="3739.75" y="547.5605">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="3921" y1="559.4063" y2="559.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="268" x="3648" y="573.6167">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="3921" y1="580.2109" y2="580.2109"/><!--MD5=[dc1cc33af288560680c15dec1e56eda0]
16
class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="4363" y="692.9063"/><ellipse cx="4378" cy="708.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4378.8438,715.6563 L4376.3906,715.6563 L4376.3906,705.4063 L4373.25,705.4063 L4373.25,703.2656 L4381.9844,703.2656 L4381.9844,705.4063 L4378.8438,705.4063 L4378.8438,715.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4392" y="713.0605">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4364" x2="4512" y1="724.9063" y2="724.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4364" x2="4512" y1="732.9063" y2="732.9063"/><!--MD5=[e2bbbd64e6979bf7b755747a6c0ba948]
17
class urt_osEventWait_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="3994" y="514.9063"/><ellipse cx="4017.1" cy="530.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4021.2094,536.9063 L4013.4906,536.9063 L4013.4906,524.5156 L4021.2094,524.5156 L4021.2094,526.6719 L4015.9438,526.6719 L4015.9438,529.3438 L4020.7094,529.3438 L4020.7094,531.5 L4015.9438,531.5 L4015.9438,534.75 L4021.2094,534.75 L4021.2094,536.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="4032.9" y="535.0605">urt_osEventWait_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3995" x2="4155" y1="546.9063" y2="546.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="4000" y="561.1167">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="4000" y="573.9214">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="4000" y="586.7261">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3995" x2="4155" y1="593.3203" y2="593.3203"/><!--MD5=[d054ac2eda12ce4b1fe5a18c9be716c1]
18
class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="4191" y="514.9063"/><ellipse cx="4366.25" cy="530.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4367.0938,537.6563 L4364.6406,537.6563 L4364.6406,527.4063 L4361.5,527.4063 L4361.5,525.2656 L4370.2344,525.2656 L4370.2344,527.4063 L4367.0938,527.4063 L4367.0938,537.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="4386.75" y="535.0605">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4192" x2="4684" y1="546.9063" y2="546.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4192" x2="4684" y1="554.9063" y2="554.9063"/><ellipse cx="4202" cy="565.9063" 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="4211" y="569.1167">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="4202" cy="578.7109" 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="4211" y="581.9214">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="4202" cy="591.5156" 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="4211" y="594.7261">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--MD5=[4d6906f8b977dc26629fa492460e6327]
19
class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="4720.5" y="520.9063"/><ellipse cx="4925.25" cy="536.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4926.0938,543.6563 L4923.6406,543.6563 L4923.6406,533.4063 L4920.5,533.4063 L4920.5,531.2656 L4929.2344,531.2656 L4929.2344,533.4063 L4926.0938,533.4063 L4926.0938,543.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="4945.75" y="541.0605">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4721.5" x2="5266.5" y1="552.9063" y2="552.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4721.5" x2="5266.5" y1="560.9063" y2="560.9063"/><ellipse cx="4731.5" cy="571.9063" 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="4740.5" y="575.1167">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="4731.5" cy="584.7109" 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="4740.5" y="587.9214">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--MD5=[04a3b5a37031e2a4d723f19d8adf86f5]
20
class urt_events--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="890" x="3642" y="210.9063"/><ellipse cx="4049.75" cy="226.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4053.9844,222.6719 L4048.7031,222.6719 L4048.7031,225.3438 L4053.5,225.3438 L4053.5,227.5 L4048.7031,227.5 L4048.7031,232.9063 L4046.2656,232.9063 L4046.2656,220.5156 L4053.9844,220.5156 L4053.9844,222.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="4070.25" y="231.0605">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="4531" y1="242.9063" y2="242.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3643" x2="4531" y1="250.9063" y2="250.9063"/><ellipse cx="3653" cy="261.9063" 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="864" x="3662" y="265.1167">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t</text><ellipse cx="3653" cy="274.7109" 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="3662" y="277.9214">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text><ellipse cx="3653" cy="287.5156" 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="618" x="3662" y="290.7261">urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWait_t, timeout : urt_delay_t) : urt_osEventMask_t</text><!--MD5=[3677786d1f00795918091b0110bfa4af]
21
class urt_osTime_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="86.4141" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="425" x="2120.5" y="210.9063"/><ellipse cx="2289.25" cy="226.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2290.0938,233.6563 L2287.6406,233.6563 L2287.6406,223.4063 L2284.5,223.4063 L2284.5,221.2656 L2293.2344,221.2656 L2293.2344,223.4063 L2290.0938,223.4063 L2290.0938,233.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="2309.75" y="231.0605">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2121.5" x2="2544.5" y1="242.9063" y2="242.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2121.5" x2="2544.5" y1="250.9063" y2="250.9063"/><ellipse cx="2131.5" cy="261.9063" 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="2140.5" y="265.1167">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="2131.5" cy="274.7109" 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="2140.5" y="277.9214">urtTimeNow (void) : urt_osTime_t</text><ellipse cx="2131.5" cy="287.5156" 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="399" x="2140.5" y="290.7261">urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*</text><!--MD5=[532279a7a1cac9af7f32856ca2ae6b9b]
22
class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="298" x="767" y="204.4063"/><ellipse cx="868.25" cy="220.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M869.0938,227.1563 L866.6406,227.1563 L866.6406,216.9063 L863.5,216.9063 L863.5,214.7656 L872.2344,214.7656 L872.2344,216.9063 L869.0938,216.9063 L869.0938,227.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="888.75" y="224.5605">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="768" x2="1064" y1="236.4063" y2="236.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="768" x2="1064" y1="244.4063" y2="244.4063"/><ellipse cx="778" cy="255.4063" 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="245" x="787" y="258.6167">urtMutexInit (mutex : urt_osMutex_t*) : void</text><ellipse cx="778" cy="268.2109" 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="253" x="787" y="271.4214">urtMutexLock (mutex : urt_osMutex_t*) : void</text><ellipse cx="778" cy="281.0156" 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="272" x="787" y="284.2261">urtMutexTryLock (mutex : urt_osMutex_t*) : bool</text><ellipse cx="778" cy="293.8203" 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="265" x="787" y="297.0308">urtMutexUnlock (mutex : urt_osMutex_t*) : void</text><!--MD5=[0cf29100c96c506429a28b45d347cc92]
23
class urt_streams--><rect fill="#FEFECE" filter="url(#f1o4xjkf1sw9ns)" height="73.6094" id="urt_streams" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="2580.5" y="216.9063"/><ellipse cx="2643.25" cy="232.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2647.4844,228.6719 L2642.2031,228.6719 L2642.2031,231.3438 L2647,231.3438 L2647,233.5 L2642.2031,233.5 L2642.2031,238.9063 L2639.7656,238.9063 L2639.7656,226.5156 L2647.4844,226.5156 L2647.4844,228.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="2663.75" y="237.0605">urt_streams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2581.5" x2="2788.5" y1="248.9063" y2="248.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2581.5" x2="2788.5" y1="256.9063" y2="256.9063"/><ellipse cx="2591.5" cy="267.9063" 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="2600.5" y="271.1167">urtPrintf(fmt : char*, ... ) : int</text><ellipse cx="2591.5" cy="280.7109" 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="2600.5" y="283.9214">urtErrPrintf(fmt : char*, ... ) : int</text><!--MD5=[7766572fa0c619a5409829048dc0b6d6]
24
link urt_osCondvar_t to urt_osCondvarWaitStatus_t--><path d="M377,303.4257 C377,360.4234 377,453.4073 377,509.8014 " fill="none" id="urt_osCondvar_t-&gt;urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="377,514.8055,381,505.8055,377,509.8055,373,505.8055,377,514.8055" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9b2507ea88616aeae65e3c4d63560016]
25
link urt_osCondvar_t to urt_osMutex_t--><path d="M732.0347,253.9063 C741.9278,253.9063 751.8209,253.9063 761.714,253.9063 " fill="none" id="urt_osCondvar_t-&gt;urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="766.8875,253.9063,757.8875,249.9063,761.8875,253.9063,757.8875,257.9063,766.8875,253.9063" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[83094e108045c8f9585007cdb3b7cb2e]
26
link urt_osTimer_t to urt_osTimerCallback_t--><path d="M3216,310.0189 C3216,371.8862 3216,469.5749 3216,521.9342 " fill="none" id="urt_osTimer_t-&gt;urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="3216,527.1651,3220,518.1651,3216,522.1651,3212,518.1651,3216,527.1651" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8d8c3240b5b2b5edf6544088e583ffa5]
27
link urt_osThread_t to urt_osThreadPrio_t--><path d="M1441.9776,400.8869 C1393.2866,427.5518 1343.4045,455.5841 1297,482.9063 C1292.3837,485.6243 1287.688,488.435 1282.9614,491.3019 " fill="none" id="urt_osThread_t-&gt;urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1278.6134,493.9495,1288.3807,492.6849,1282.8839,491.3489,1284.2199,485.8521,1278.6134,493.9495" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d7d1d43fd970fb07a484642bc19fcb13]
28
link urt_osThread_t to urt_osThreadFunction_t--><path d="M1564.9208,423.2399 C1529.4819,461.4435 1495.4158,498.1672 1471.8352,523.5875 " fill="none" id="urt_osThread_t-&gt;urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1468.4333,527.2548,1477.4866,523.3768,1471.8337,523.5891,1471.6215,517.9362,1468.4333,527.2548" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6564761b32ad7eeb5abb8896c72cfca5]
29
link urt_osThread_t to urt_osThreadTerminateSignal_t--><path d="M1722,423.2399 C1722,457.6059 1722,490.7744 1722,515.5947 " fill="none" id="urt_osThread_t-&gt;urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1722,520.7618,1726,511.7618,1722,515.7618,1718,511.7618,1722,520.7618" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[92ba23225d8de8f8080583fedda5e6f8]
30
link urt_osThread_t to urt_osThreadState_t--><path d="M1871.838,423.2399 C1890.9516,444.8405 1909.6467,465.968 1926.3519,484.8467 " fill="none" id="urt_osThread_t-&gt;urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1929.6659,488.5919,1926.6974,479.201,1926.3525,484.8473,1920.7062,484.5024,1929.6659,488.5919" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[78b286ab2177e5f7b31e6e832d821818]
31
link urt_osThread_t to urt_osTime_t--><path d="M2002.1411,253.9063 C2039.8661,253.9063 2077.591,253.9063 2115.316,253.9063 " fill="none" id="urt_osThread_t-&gt;urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2120.3973,253.9063,2111.3973,249.9063,2115.3973,253.9063,2111.3973,257.9063,2120.3973,253.9063" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[659af6ab57e6a38ebfd5c07c5616787c]
32
link urt_osEventListener_t to urt_osEventFlags_t--><path d="M4438,600.934 C4438,628.41 4438,663.3065 4438,687.6092 " fill="none" id="urt_osEventListener_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4438,692.6279,4442,683.6279,4438,687.6279,4434,683.6279,4438,692.6279" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[eac11679f26c499aa1c571e1f795945d]
33
link urt_osEventSource_t to urt_osEventFlags_t--><path d="M4864.3444,594.9841 C4757.2675,625.605 4608.6667,668.1005 4518.1503,693.9856 " fill="none" id="urt_osEventSource_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4513.0794,695.4357,4522.8323,696.807,4517.8867,694.0609,4520.6328,689.1153,4513.0794,695.4357" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0259cdb10c6c32168d1d17d25519d939]
34
link urt_events to urt_osEventSource_t--><path d="M4215.5072,296.9782 C4392.5015,356.3015 4708.6381,462.2613 4878.4989,519.1936 " fill="none" id="urt_events-&gt;urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4883.4814,520.8637,4876.2192,514.2108,4878.7406,519.2746,4873.6768,521.796,4883.4814,520.8637" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0ce043e0e9532fc393f3f8836f5de19a]
35
link urt_events to urt_osEventListener_t--><path d="M4136.917,297.1392 C4202.4234,353.8742 4316.9494,453.0647 4384.2879,511.3864 " fill="none" id="urt_events-&gt;urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4388.2552,514.8225,4384.0708,505.9067,4384.4757,511.5491,4378.8333,511.954,4388.2552,514.8225" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[430bebba9cd89d3ba8f63b2078968bca]
36
link urt_events to urt_osEventMask_t--><path d="M4043.6248,297.1392 C3982.4716,358.092 3872.1543,468.0476 3816.3369,523.682 " fill="none" id="urt_events-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="3812.7402,527.2669,3821.9384,523.7465,3816.2816,523.7372,3816.291,518.0803,3812.7402,527.2669" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b1b185abc2161e087cab32ae7fdb2c40]
37
link urt_events to urt_osEventFlags_t--><path d="M4052.173,297.0212 C3993.8544,374.6913 3890.9027,539.453 3977,640.9063 C4001.3308,669.5766 4232.2829,696.5873 4357.765,709.3005 " fill="none" id="urt_events-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4362.9214,709.8209,4354.3686,704.9372,4357.9467,709.3187,4353.5652,712.8968,4362.9214,709.8209" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[706a1974d1b474cbba7e7b0213f243a1]
38
link urt_events to urt_osEventWait_t--><path d="M4085.2934,297.1392 C4083.0762,353.3091 4079.2163,451.093 4076.9056,509.6317 " fill="none" id="urt_events-&gt;urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4076.7007,514.8225,4081.0527,505.9873,4076.898,509.8263,4073.0589,505.6716,4076.7007,514.8225" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[87ef9ac974d8a52180f0f0c2ec91e759]
39
@startuml
40

  
41
title **µRtWare**\nOperating System Abstraction Layer (OSAL)
42

  
43

  
44

  
45

  
46

  
47

  
48

  
49

  
50

  
51

  
52

  
53

  
54

  
55
  class urt_osTime_t <<T,00CFFF>> {
56
  + {method} urtTime2Us (t : urt_osTime_t*) : uint64_t
57
  + {method} urtTimeNow (void) : urt_osTime_t
58
  + {method} urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*
59
}
60

  
61
  class urt_osMutex_t <<T,00CFFF>> {
62
  + {method} urtMutexInit (mutex : urt_osMutex_t*) : void
63
  + {method} urtMutexLock (mutex : urt_osMutex_t*) : void
64
  + {method} urtMutexTryLock (mutex : urt_osMutex_t*) : bool
65
  + {method} urtMutexUnlock (mutex : urt_osMutex_t*) : void
66
}
67

  
68
  package "condition variable" <<Rectangle>> {
69
    class urt_osCondvarWaitStatus_t <<E,FF7F3F>> {
70
    URT_CONDVAR_WAITSTATUS_SIGNAL = 1
71
    URT_CONDVAR_WAITSTATUS_BROADCAST = 2
72
    URT_CONDVAR_WAITSTATUS_TIMEOUT = 0
73
  }
74

  
75
    class urt_osCondvar_t <<T,00CFFF>> {
76
    + {method} urtCondvarInit (condvar : urt_osCondvar_t*) : void
77
    + {method} urtCondvarSignal (condvar : urt_osCondvar_t*) : void
78
    + {method} urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void
79
    + {method} urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t
80
  }
81
}
82

  
83
  package "timer" <<Rectangle>> {
84
    class urt_osTimerCallback_t <<T,00CFFF>> {
85
    urt_osTimerCallback_t (parameter : void*) : void
86
  }
87

  
88
    class urt_osTimer_t <<T,00CFFF>> {
89
    + {method} urtTimerInit (timer : urt_osTimer_t*) : void
90
    + {method} urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t
91
    + {method} urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t
92
    + {method} urtTimerReset (timer : urt_osTimer_t*) : urt_status_t
93
    + {method} urtTimerIsArmed (timer : urt_osTimer_t*) : bool
94
  }
95
} 
96

  
97
  package "thread" <<Rectangle>> {
98
    class urt_osThreadPrio_t <<T,00CFFF>> {
99
    URT_THREAD_PRIO_LOW_MIN
100
    URT_THREAD_PRIO_LOW_MAX
101
    URT_THREAD_PRIO_NORMAL_MIN
102
    URT_THREAD_PRIO_NORMAL_MAX
103
    URT_THREAD_PRIO_HIGH_MIN
104
    URT_THREAD_PRIO_HIGH_MAX
105
    URT_THREAD_PRIO_RT_MIN
106
    URT_THREAD_PRIO_RT_MAX
107
  }
108

  
109
    class urt_osThreadFunction_t <<T,00CFFF>> {
110
    urt_osThreadFunction_t (arg : void*) : void
111
  }
112

  
113
    class urt_osThreadTerminateSignal_t <<E,FF7F3F>> {
114
    URT_THREAD_TERMINATE_REQUEST = 15
115
    URT_THREAD_TERMINATE_KILL = 9
116
  }
117

  
118
    class urt_osThreadState_t <<E,FF7F3F>> {
119
    URT_THREAD_STATE_INACTIVE = 0
120
    URT_THREAD_STATE_RUNNING = 1
121
    URT_THREAD_STATE_READY = 2
122
    URT_THREAD_STATE_SLEEPING = 3
123
    URT_THREAD_STATE_SUSPENDED = 4
124
    URT_THREAD_STATE_WAITING = 5
125
    URT_THREAD_STATE_TERMINATED = 6
126
  }
127

  
128
    class urt_osThread_t <<T,00CFFF>> {
129
    URT_THREAD_SLEEP_MAX : float
130
    URT_THREAD_SSLEP_MAX : urt_delay_t
131
    URT_THREAD_MSLEEP_MAX : urt_delay_t
132
    URT_THREAD_USLEEP_MAX : urt_delay_t
133
    - -
134
    + {method} URT_THREAD_MEMORY (varname, stacksize)
135
    ..
136
    + {method} urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*
137
    + {method} urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void
138
    + {method} urtThreadYield (void) : void
139
    + {method} urtThreadGetPriority (void) : urt_osThreadPrio_t
140
    + {method} urtThreadSetPriority (prio : urt_osThreadPrio_t) : void
141
    + {method} urtThreadSuspend (thread : urt_osThread_t*) : void
142
    + {method} urtThreadResume (thread : urt_osThread_t*) : urt_status_t
143
    + {method} urtThreadSleep (seconds : float) : void
144
    + {method} urtThreadSSleep (seconds : urt_delay_t) : void
145
    + {method} urtThreadMSleep (milliseconds : urt_delay_t) : void
146
    + {method} urtThreadUSleep (microseconds : urt_delay_t) : void
147
    + {method} urtThreadSleepUntil (time : urt_osTime_t) : void
148
    + {method} urtThreadExit (void) : void
149
    + {method} urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
150
    + {method} urtThreadJoin (thread : urt_osThread_t*) : void
151
    + {method} urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
152
    + {method} urtThreadGetSelf (void) : urt_osThread_t*
153
  }
154
} 
155

  
156
  package "events" <<Rectangle>> {
157
    class urt_osEventMask_t <<T,00CFFF>> {
158
    URT_EVENTMASK_MAXPRIO : urt_osEventMask_t
159
  }
160

  
161
    class urt_osEventFlags_t <<T,00CFFF>> {
162
  }
163

  
164
    class urt_osEventWait_t <<E,FF7F3F>> {
165
    URT_EVENT_WAIT_ONE = 0
166
    URT_EVENT_WAIT_ANY = 1
167
    URT_EVENT_WAIT_ALL = 2
168
  }
169

  
170
    class urt_osEventListener_t <<T,00CFFF>> {
171
    + {method} urtEventListenerInit (listener : urt_osEventListener_t*) : void
172
    + {method} urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
173
    + {method} urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
174
  }
175

  
176
    class urt_osEventSource_t <<T,00CFFF>> {
177
    + {method} urtEventSourceInit (source : urt_osEventSource_t*) : void
178
    + {method} urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void
179
  }
180

  
181
    class urt_events <<F,E0E0E0>> {
182
    + {method} urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t
183
    + {method} urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t
184
    + {method} urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWait_t, timeout : urt_delay_t) : urt_osEventMask_t
185
  }
186
} 
187

  
188
  class urt_streams <<F,E0E0E0>> {
189
  + {method} urtPrintf(fmt : char*, ... ) : int
190
  + {method} urtErrPrintf(fmt : char*, ... ) : int
191
}
192

  
193

  
194

  
195

  
196
urt_osCondvar_t ..> urt_osCondvarWaitStatus_t
197
urt_osCondvar_t .> urt_osMutex_t
198

  
199
urt_osTimer_t ..> urt_osTimerCallback_t
200

  
201
urt_osThread_t ..> urt_osThreadPrio_t
202
urt_osThread_t ..> urt_osThreadFunction_t
203
urt_osThread_t ..> urt_osThreadTerminateSignal_t
204
urt_osThread_t ..> urt_osThreadState_t
205
urt_osThread_t .> urt_osTime_t
206

  
207
urt_osEventListener_t ..> urt_osEventFlags_t
208
urt_osEventSource_t ..> urt_osEventFlags_t
209
urt_events ..> urt_osEventSource_t
210
urt_events ..> urt_osEventListener_t
211
urt_events ..> urt_osEventMask_t
212
urt_events ..> urt_osEventFlags_t
213
urt_events ..> urt_osEventWait_t
214

  
215

  
216

  
217
@enduml
218

  
219
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
220
(GPL source distribution)
221
Java Runtime: OpenJDK Runtime Environment
222
JVM: OpenJDK 64-Bit Server VM
223
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
224
Operating System: Linux
225
Default Encoding: UTF-8
226
Language: en
227
Country: US
228
--></g></svg>
doc/classdiagrams/osal.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..2020  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
/'### INTRO ##################################################################'/
23

  
24
@startuml
25

  
26
title **µRtWare**\nOperating System Abstraction Layer (OSAL)
27

  
28
!include ../functions.iuml
29

  
30
/'### ENTITIES ###############################################################'/
31

  
32
!startsub ENTITIES
33

  
34
/' OS time type with arbitrary resolution. '/
35
$type("urt_osTime_t") {
36
    'Converts an OS time to 64 bit microsecond precise value.
37
  + {method} urtTime2Us (t : urt_osTime_t*) : uint64_t
38
    'Retrieves the current time.
39
  + {method} urtTimeNow (void) : urt_osTime_t
40
    'Increase a system time object.
41
  + {method} urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*
42
}
43

  
44
/' OS mutex lock interface. '/
45
$type("urt_osMutex_t") {
46
    'Initializes a urt_osMutex_t object.
47
  + {method} urtMutexInit (mutex : urt_osMutex_t*) : void
48
    'Block the thread until the mutex could be locked.
49
  + {method} urtMutexLock (mutex : urt_osMutex_t*) : void
50
    'Tries to lock the mutex, but does not block but immediately returns an indicator.
51
  + {method} urtMutexTryLock (mutex : urt_osMutex_t*) : bool
52
    'Unlocks a previously locked mutex.
53
  + {method} urtMutexUnlock (mutex : urt_osMutex_t*) : void
54
}
55

  
56
/' OS condition variable feature. '/
57
$group("condition variable") {
58
  /' Return type for the wait function on condition variables. '/
59
  $enumeration("urt_osCondvarWaitStatus_t") {
60
      'The condition variable has been signaled.
61
    URT_CONDVAR_WAITSTATUS_SIGNAL = 1
62
      'The condition variable has been broadcasted.
63
    URT_CONDVAR_WAITSTATUS_BROADCAST = 2
64
      'The wait function timed out.
65
    URT_CONDVAR_WAITSTATUS_TIMEOUT = 0
66
  }
67

  
68
  /' Condition variable interface. '/
69
  $type("urt_osCondvar_t") {
70
      'Initializes a urt_osCondvar_t object.
71
    + {method} urtCondvarInit (condvar : urt_osCondvar_t*) : void
72
      'Signals one thread that is waiting for the condition variable.
73
    + {method} urtCondvarSignal (condvar : urt_osCondvar_t*) : void
74
      'Signals all threads that are waiting for the condition variable.
75
    + {method} urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void
76
      'Waits for the condition variable.
77
    + {method} urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t
78
  }
79
}
80

  
81
/' OS timer feature. '/
82
$group("timer") {
83
  /' Timer callback definition. '/
84
  $type("urt_osTimerCallback_t") {
85
    urt_osTimerCallback_t (parameter : void*) : void
86
  }
87

  
88
  /' OS timer interface. '/
89
  $type("urt_osTimer_t") {
90
      'Initializes an urt_osTimer_t object.
91
    + {method} urtTimerInit (timer : urt_osTimer_t*) : void
92
      'Sets the timer to a specified delay with specified callback and arguments.
93
    + {method} urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t
94
      'Sets the timer to a specified period with specified callback and arguments.
95
    + {method} urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t
96
      'Resets the timer.
97
    + {method} urtTimerReset (timer : urt_osTimer_t*) : urt_status_t
98
      'Check whether the timer is already armed.
99
    + {method} urtTimerIsArmed (timer : urt_osTimer_t*) : bool
100
  }
101
} /'condition variable'/
102

  
103
/' OS thread feature. '/
104
$group("thread") {
105
  /' Thread priority type. '/
106
  $type("urt_osThreadPrio_t") {
107
      'Minimum priority for low priority threads.
108
    URT_THREAD_PRIO_LOW_MIN
109
      'Maximum priority for low priority threads.
110
    URT_THREAD_PRIO_LOW_MAX
111
      'Minimum priority for normal priority threads.
112
    URT_THREAD_PRIO_NORMAL_MIN
113
      'Maximum priority for normal priority threads.
114
    URT_THREAD_PRIO_NORMAL_MAX
115
      'Minimum priority for high priority threads.
116
    URT_THREAD_PRIO_HIGH_MIN
117
      'Maximum priority for high priority threads.
118
    URT_THREAD_PRIO_HIGH_MAX
119
      'Minimum priority for real-time threads.
120
    URT_THREAD_PRIO_RT_MIN
121
      'Maximum priority for real-time threads.
122
    URT_THREAD_PRIO_RT_MAX
123
  }
124

  
125
  /' Thread main function type. '/
126
  $type("urt_osThreadFunction_t") {
127
    urt_osThreadFunction_t (arg : void*) : void
128
  }
129

  
130
  /' Thread terminate signals. '/
131
  $enumeration("urt_osThreadTerminateSignal_t") {
132
      'Signal to request termination asap.
133
    URT_THREAD_TERMINATE_REQUEST = 15
134
      'Signal to kill a thread immediately.
135
    URT_THREAD_TERMINATE_KILL = 9
136
  }
137

  
138
  /' Thread execution states. '/
139
  $enumeration("urt_osThreadState_t") {
140
      'Thread has not been started yet.
141
    URT_THREAD_STATE_INACTIVE = 0
142
      'Thread is currently being executed.
143
    URT_THREAD_STATE_RUNNING = 1
144
      'Thread is ready but waiting to be scheduled.
145
    URT_THREAD_STATE_READY = 2
146
      'Thread is actively sleeping.
147
    URT_THREAD_STATE_SLEEPING = 3
148
      'Thread has ben suspended explicitely.
149
    URT_THREAD_STATE_SUSPENDED = 4
150
      'Thread is waiting for something (e.g. Mutex, event, etc.).
151
    URT_THREAD_STATE_WAITING = 5
152
      'Thread has terminated.
153
    URT_THREAD_STATE_TERMINATED = 6
154
  }
155

  
156
  /' OS thread interface. '/
157
  $type("urt_osThread_t") {
158
     'Maximum sleep interval in seconds (as float).
159
    URT_THREAD_SLEEP_MAX : float
160
      'Maximum sleep interval in seconds.
161
    URT_THREAD_SSLEP_MAX : urt_delay_t
162
      'Maximum sleep interval in milliseconds.
163
    URT_THREAD_MSLEEP_MAX : urt_delay_t
164
      'Maximum sleep interval in microseconds.
165
    URT_THREAD_USLEEP_MAX : urt_delay_t
166
    --
167
      'Macro to setup working area as static variable (handles alignment if required).
168
    + {method} URT_THREAD_MEMORY (varname, stacksize)
169
    ..
170
      'Initializes an urt_osThread_t object.
171
    + {method} urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*
172
      'Starts a thread.
173
    + {method} urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void
174
      'The calling threads yields.
175
    + {method} urtThreadYield (void) : void
176
      'Retrieves the priority of the calling thread.
177
    + {method} urtThreadGetPriority (void) : urt_osThreadPrio_t
178
      'Sets the priority of the calling thread.
179
    + {method} urtThreadSetPriority (prio : urt_osThreadPrio_t) : void
180
      'Suspends a thread so it will no longer be executed.
181
    + {method} urtThreadSuspend (thread : urt_osThread_t*) : void
182
      'Wakes a suspended thread.
183
    + {method} urtThreadResume (thread : urt_osThread_t*) : urt_status_t
184
      'Suspends the calling thread for the specified time.
185
    + {method} urtThreadSleep (seconds : float) : void
186
      'Suspends the calling thread for the specified time.
187
    + {method} urtThreadSSleep (seconds : urt_delay_t) : void
188
      'Suspends the calling thread for the specified time.
189
    + {method} urtThreadMSleep (milliseconds : urt_delay_t) : void
190
      'Suspends the calling thread for the specified time.
191
    + {method} urtThreadUSleep (microseconds : urt_delay_t) : void
192
      'Suspends the calling thread until the specified time.
193
    + {method} urtThreadSleepUntil (time : urt_osTime_t) : void
194
      'The calling thread exits execution (terminates).
195
    + {method} urtThreadExit (void) : void
196
      'Terminates a specified thread.
197
    + {method} urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
198
      'Waits until the specified thread terminates.
199
    + {method} urtThreadJoin (thread : urt_osThread_t*) : void
200
      'Retrieves the execution state of the specified thread.
201
    + {method} urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
202
      'Retrieves the calling thread itself.
203
    + {method} urtThreadGetSelf (void) : urt_osThread_t*
204
  }
205
} /'thread'/
206

  
207
/' OS event feature. '/
208
$group("events") {
209
  /' OS event mask type. '/
210
  $type("urt_osEventMask_t") {
211
      'The event mask, which will be handled with maximum priority by the event system.
212
    URT_EVENTMASK_MAXPRIO : urt_osEventMask_t
213
  }
214

  
215
  /' OS event flag type. '/
216
  $type("urt_osEventFlags_t") {
217
  }
218

  
219
  /' OS event wait type. '/
220
  $enumeration("urt_osEventWait_t") {
221
      'Wait for exactly one event.
222
    URT_EVENT_WAIT_ONE = 0
223
      'Wait for at least one event.
224
    URT_EVENT_WAIT_ANY = 1
225
      'Wait for all events.
226
    URT_EVENT_WAIT_ALL = 2
227
  }
228

  
229
  /' OS event listener interface. '/
230
  $type("urt_osEventListener_t") {
231
      'Initializes an urt_osEventListener_t object.
232
    + {method} urtEventListenerInit (listener : urt_osEventListener_t*) : void
233
      'Retrieves the flags of the event listener.
234
    + {method} urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
235
      'Retrieves and clears the flags of the event listener.
236
    + {method} urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
237
  }
238

  
239
  /' OS event source interface. '/
240
  $type("urt_osEventSource_t") {
241
      'Initializes an urt_osEventSource_t object.
242
    + {method} urtEventSourceInit (source : urt_osEventSource_t*) : void
243
      'Emits an event.
244
    + {method} urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void
245
  }
246

  
247
  /' Not a class/type but a set of static event-related functions. '/
248
  $function("urt_events") {
249
      'Registers a lister to a source.
250
    + {method} urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t
251
      'Unregisters a listener from a source.
252
    + {method} urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t
253
      'Blocks the thread until any event occurs or the timeout expires.
254
    + {method} urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWait_t, timeout : urt_delay_t) : urt_osEventMask_t
255
  }
256
} /'events'/
257

  
258
/' Not a class/type but a set of output-related functions. '/
259
$function("urt_streams") {
260
    'Prints a formatted string to the standard output stream (stdout).
261
  + {method} urtPrintf(fmt : char*, ... ) : int
262
    'Prints a formatted string to the standard error stream (stderr).
263
  + {method} urtErrPrintf(fmt : char*, ... ) : int
264
}
265

  
266
!endsub
267

  
268
/'### DEPENDENCIES & LAYOUT ##################################################'/
269

  
270
!startsub DEPENDENCIES
271

  
272
urt_osCondvar_t ..> urt_osCondvarWaitStatus_t
273
urt_osCondvar_t .> urt_osMutex_t
274

  
275
urt_osTimer_t ..> urt_osTimerCallback_t
276

  
277
urt_osThread_t ..> urt_osThreadPrio_t
278
urt_osThread_t ..> urt_osThreadFunction_t
279
urt_osThread_t ..> urt_osThreadTerminateSignal_t
280
urt_osThread_t ..> urt_osThreadState_t
281
urt_osThread_t .> urt_osTime_t
282

  
283
urt_osEventListener_t ..> urt_osEventFlags_t
284
urt_osEventSource_t ..> urt_osEventFlags_t
285
urt_events ..> urt_osEventSource_t
286
urt_events ..> urt_osEventListener_t
287
urt_events ..> urt_osEventMask_t
288
urt_events ..> urt_osEventFlags_t
289
urt_events ..> urt_osEventWait_t
290

  
291
!endsub
292

  
293
/'### OUTRO ##################################################################'/
294

  
295
@enduml
296

  
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="1736px" preserveAspectRatio="none" style="width:9201px;height:1736px;" version="1.1" viewBox="0 0 9201 1736" width="9201px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hivpbyet8yjp" 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="4529.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="87" x="4530.5" y="37.6611">Overview</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="4577" y="58.6143"/><!--cluster primitives--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="382.473,1370.3594,465.473,1370.3594,472.473,1392.6563,1030.47,1392.6563,1030.47,1563.3594,382.473,1563.3594,382.473,1370.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="382.473" x2="472.473" y1="1392.6563" y2="1392.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="386.473" y="1385.3545">primitives</text><!--cluster OSAL--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="3577.47,887.3594,3625.47,887.3594,3632.47,909.6563,8702.47,909.6563,8702.47,1724.8594,3577.47,1724.8594,3577.47,887.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="3577.47" x2="3632.47" y1="909.6563" y2="909.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="42" x="3581.47" y="902.3545">OSAL</text><!--cluster condition variable--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="4608.47,1068.8594,4754.47,1068.8594,4761.47,1091.1563,5312.47,1091.1563,5312.47,1535.3594,4608.47,1535.3594,4608.47,1068.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4608.47" x2="4761.47" y1="1091.1563" y2="1091.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="4612.47" y="1083.8545">condition variable</text><!--cluster timer--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="3822.47,1068.8594,3869.47,1068.8594,3876.47,1091.1563,4584.47,1091.1563,4584.47,1522.8594,3822.47,1522.8594,3822.47,1068.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="3822.47" x2="3876.47" y1="1091.1563" y2="1091.1563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="3826.47" y="1083.8545">timer</text><!--cluster thread--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="5336.47,930.3594,5394.47,930.3594,5401.47,952.6563,6405.47,952.6563,6405.47,1567.3594,5336.47,1567.3594,5336.47,930.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5336.47" x2="5401.47" y1="952.6563" y2="952.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="5340.47" y="945.3545">thread</text><!--cluster events--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="6429.47,1075.3594,6489.47,1075.3594,6496.47,1097.6563,8076.47,1097.6563,8076.47,1700.8594,6429.47,1700.8594,6429.47,1075.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="6429.47" x2="6496.47" y1="1097.6563" y2="1097.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="6433.47" y="1090.3545">events</text><!--cluster middleware--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="880.473,87.3594,978.473,87.3594,985.473,109.6563,3553.47,109.6563,3553.47,1249.3594,880.473,1249.3594,880.473,87.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="880.473" x2="985.473" y1="109.6563" y2="109.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="92" x="884.473" y="102.3545">middleware</text><!--cluster real-time class--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="904.473,463.3594,1025.473,463.3594,1032.473,485.6563,1888.47,485.6563,1888.47,1225.3594,904.473,1225.3594,904.473,463.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="904.473" x2="1032.473" y1="485.6563" y2="485.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="115" x="908.473" y="478.3545">real-time class</text><!--cluster node--><polygon fill="#FFFFFF" filter="url(#f1hivpbyet8yjp)" points="1912.47,722.3594,1958.47,722.3594,1965.47,744.6563,3049.47,744.6563,3049.47,834.3594,1912.47,834.3594,1912.47,722.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1912.47" x2="1965.47" y1="744.6563" y2="744.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="1916.47" y="737.3545">node</text><!--class urt_delay_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="914.473" y="1426.8594"/><ellipse cx="929.473" cy="1442.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M930.3168,1449.6094 L927.8636,1449.6094 L927.8636,1439.3594 L924.723,1439.3594 L924.723,1437.2188 L933.4574,1437.2188 L933.4574,1439.3594 L930.3168,1439.3594 L930.3168,1449.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="943.473" y="1447.0137">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="915.473" x2="1013.473" y1="1458.8594" y2="1458.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="920.473" y="1489.8745">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="915.473" x2="947.973" y1="1473.2617" y2="1473.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="947.973" y="1476.5698">either</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="980.973" x2="1013.473" y1="1473.2617" y2="1473.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="920.473" y="1519.4839">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="915.473" x2="958.473" y1="1502.8711" y2="1502.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="958.473" y="1506.1792">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="970.473" x2="1013.473" y1="1502.8711" y2="1502.8711"/><!--class urt_status_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="86.4141" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="166" x="713.473" y="1433.3594"/><ellipse cx="755.023" cy="1449.3594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M759.1324,1455.3594 L751.4136,1455.3594 L751.4136,1442.9688 L759.1324,1442.9688 L759.1324,1445.125 L753.8667,1445.125 L753.8667,1447.7969 L758.6324,1447.7969 L758.6324,1449.9531 L753.8667,1449.9531 L753.8667,1453.2031 L759.1324,1453.2031 L759.1324,1455.3594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="774.923" y="1453.5137">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="714.473" x2="878.473" y1="1465.3594" y2="1465.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="719.473" y="1479.5698">URT_STATUS_OK = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="154" x="719.473" y="1492.3745">URT_STATUS_WARNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="719.473" y="1505.1792">URT_STATUS_ERROR = -1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="714.473" x2="878.473" y1="1511.7734" y2="1511.7734"/><!--class urt_topicid_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="141.6328" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="568.973" y="1405.3594"/><ellipse cx="583.973" cy="1421.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M584.8168,1428.1094 L582.3636,1428.1094 L582.3636,1417.8594 L579.223,1417.8594 L579.223,1415.7188 L587.9574,1415.7188 L587.9574,1417.8594 L584.8168,1417.8594 L584.8168,1428.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="597.973" y="1425.5137">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="569.973" x2="676.973" y1="1437.3594" y2="1437.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="574.973" y="1451.5698">uin8_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="574.973" y="1481.1792">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="569.973" x2="617.473" y1="1464.5664" y2="1464.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="617.473" y="1467.8745">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="629.473" x2="676.973" y1="1464.5664" y2="1464.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="574.973" y="1510.7886">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="569.973" x2="617.473" y1="1494.1758" y2="1494.1758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="617.473" y="1497.4839">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="629.473" x2="676.973" y1="1494.1758" y2="1494.1758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="574.973" y="1540.3979">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="569.973" x2="617.473" y1="1523.7852" y2="1523.7852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="617.473" y="1527.0933">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="629.473" x2="676.973" y1="1523.7852" y2="1523.7852"/><!--class urt_nodestage_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="141.6328" id="urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="398.973" y="1405.3594"/><ellipse cx="413.973" cy="1421.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M414.8168,1428.1094 L412.3636,1428.1094 L412.3636,1417.8594 L409.223,1417.8594 L409.223,1415.7188 L417.9574,1415.7188 L417.9574,1417.8594 L414.8168,1417.8594 L414.8168,1428.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="427.973" y="1425.5137">urt_nodestage_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="399.973" x2="532.973" y1="1437.3594" y2="1437.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="404.973" y="1451.5698">uin8_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="404.973" y="1481.1792">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="399.973" x2="460.473" y1="1464.5664" y2="1464.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="460.473" y="1467.8745">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="472.473" x2="532.973" y1="1464.5664" y2="1464.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="404.973" y="1510.7886">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="399.973" x2="460.473" y1="1494.1758" y2="1494.1758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="460.473" y="1497.4839">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="472.473" x2="532.973" y1="1494.1758" y2="1494.1758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="404.973" y="1540.3979">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="399.973" x2="460.473" y1="1523.7852" y2="1523.7852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="460.473" y="1527.0933">or</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="472.473" x2="532.973" y1="1523.7852" y2="1523.7852"/><!--class urt_osTime_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="73.6094" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="8428.97" y="1439.3594"/><ellipse cx="8513.72" cy="1455.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8514.5638,1462.1094 L8512.1106,1462.1094 L8512.1106,1451.8594 L8508.97,1451.8594 L8508.97,1449.7188 L8517.7044,1449.7188 L8517.7044,1451.8594 L8514.5638,1451.8594 L8514.5638,1462.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="8534.22" y="1459.5137">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8429.97" x2="8684.97" y1="1471.3594" y2="1471.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8429.97" x2="8684.97" y1="1479.3594" y2="1479.3594"/><ellipse cx="8439.97" cy="1491.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="231" x="8448.97" y="1493.5698">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="8439.97" cy="1504.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="189" x="8448.97" y="1506.3745">urtTimeNow (void) : urt_osTime_t</text><!--class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="298" x="8095.47" y="1426.8594"/><ellipse cx="8196.72" cy="1442.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8197.5638,1449.6094 L8195.1106,1449.6094 L8195.1106,1439.3594 L8191.97,1439.3594 L8191.97,1437.2188 L8200.7044,1437.2188 L8200.7044,1439.3594 L8197.5638,1439.3594 L8197.5638,1449.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="8217.22" y="1447.0137">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8096.47" x2="8392.47" y1="1458.8594" y2="1458.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8096.47" x2="8392.47" y1="1466.8594" y2="1466.8594"/><ellipse cx="8106.47" cy="1478.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="245" x="8115.47" y="1481.0698">urtMutexInit (mutex : urt_osMutex_t*) : void</text><ellipse cx="8106.47" cy="1491.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="253" x="8115.47" y="1493.8745">urtMutexLock (mutex : urt_osMutex_t*) : void</text><ellipse cx="8106.47" cy="1504.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="272" x="8115.47" y="1506.6792">urtMutexTryLock (mutex : urt_osMutex_t*) : bool</text><ellipse cx="8106.47" cy="1517.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="265" x="8115.47" y="1519.4839">urtMutexUnlock (mutex : urt_osMutex_t*) : void</text><!--class urt_streams--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="73.6094" id="urt_streams" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="3593.97" y="1116.3594"/><ellipse cx="3656.72" cy="1132.3594" fill="#FFFFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3660.9544,1128.125 L3655.6731,1128.125 L3655.6731,1130.7969 L3660.47,1130.7969 L3660.47,1132.9531 L3655.6731,1132.9531 L3655.6731,1138.3594 L3653.2356,1138.3594 L3653.2356,1125.9688 L3660.9544,1125.9688 L3660.9544,1128.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="3677.22" y="1136.5137">urt_streams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3594.97" x2="3801.97" y1="1148.3594" y2="1148.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3594.97" x2="3801.97" y1="1156.3594" y2="1156.3594"/><ellipse cx="3604.97" cy="1168.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="3613.97" y="1170.5698">urtPrintf(fmt : char*, ... ) : int</text><ellipse cx="3604.97" cy="1181.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="3613.97" y="1183.3745">urtErrPrintf(fmt : char*, ... ) : int</text><!--class urt_condvarStatus_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="86.4141" id="urt_condvarStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="4831.47" y="1433.3594"/><ellipse cx="4893.22" cy="1449.3594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4897.3294,1455.3594 L4889.6106,1455.3594 L4889.6106,1442.9688 L4897.3294,1442.9688 L4897.3294,1445.125 L4892.0638,1445.125 L4892.0638,1447.7969 L4896.8294,1447.7969 L4896.8294,1449.9531 L4892.0638,1449.9531 L4892.0638,1453.2031 L4897.3294,1453.2031 L4897.3294,1455.3594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="4913.72" y="1453.5137">urt_condvarStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4832.47" x2="5088.47" y1="1465.3594" y2="1465.3594"/><ellipse cx="4842.47" cy="1477.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="204" x="4851.47" y="1479.5698">URT_CONDVAR_STATUS_SIGNAL = 0</text><ellipse cx="4842.47" cy="1490.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="232" x="4851.47" y="1492.3745">URT_CONDVAR_STATUS_BROADCAST = 1</text><ellipse cx="4842.47" cy="1502.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="213" x="4851.47" y="1505.1792">URT_CONDVAR_STATUS_TIMEOUT = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4832.47" x2="5088.47" y1="1511.7734" y2="1511.7734"/><!--class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="671" x="4624.97" y="1103.8594"/><ellipse cx="4905.72" cy="1119.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4906.5638,1126.6094 L4904.1106,1126.6094 L4904.1106,1116.3594 L4900.97,1116.3594 L4900.97,1114.2188 L4909.7044,1114.2188 L4909.7044,1116.3594 L4906.5638,1116.3594 L4906.5638,1126.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="4926.22" y="1124.0137">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4625.97" x2="5294.97" y1="1135.8594" y2="1135.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4625.97" x2="5294.97" y1="1143.8594" y2="1143.8594"/><ellipse cx="4635.97" cy="1155.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="4644.97" y="1158.0698">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4635.97" cy="1168.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="4644.97" y="1170.8745">urtConvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4635.97" cy="1181.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="4644.97" y="1183.6792">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4635.97" cy="1194.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="4644.97" y="1196.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(#f1hivpbyet8yjp)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="3949.47" y="1445.8594"/><ellipse cx="4020.22" cy="1461.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4021.0638,1468.6094 L4018.6106,1468.6094 L4018.6106,1458.3594 L4015.47,1458.3594 L4015.47,1456.2188 L4024.2044,1456.2188 L4024.2044,1458.3594 L4021.0638,1458.3594 L4021.0638,1468.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="4040.72" y="1466.0137">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3950.47" x2="4234.47" y1="1477.8594" y2="1477.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3950.47" x2="4234.47" y1="1485.8594" y2="1485.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="3955.47" y="1500.0698">urt_osTimerCallback_t (parameter : void*) : void</text><!--class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="99.2188" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="731" x="3837.97" y="1103.8594"/><ellipse cx="4157.22" cy="1119.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4158.0637,1126.6094 L4155.6106,1126.6094 L4155.6106,1116.3594 L4152.47,1116.3594 L4152.47,1114.2188 L4161.2044,1114.2188 L4161.2044,1116.3594 L4158.0637,1116.3594 L4158.0637,1126.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="4177.72" y="1124.0137">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3838.97" x2="4567.97" y1="1135.8594" y2="1135.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3838.97" x2="4567.97" y1="1143.8594" y2="1143.8594"/><ellipse cx="3848.97" cy="1155.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="3857.97" y="1158.0698">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="3848.97" cy="1168.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="3857.97" y="1170.8745">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="3848.97" cy="1181.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="3857.97" y="1183.6792">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="3848.97" cy="1194.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="271" x="3857.97" y="1196.4839">urtTimerIsArmed (timer : urt_osTimer_t*) : bool</text><!--class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="150.4375" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="5639.97" y="1401.3594"/><ellipse cx="5682.42" cy="1417.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5683.2638,1424.1094 L5680.8106,1424.1094 L5680.8106,1413.8594 L5677.67,1413.8594 L5677.67,1411.7188 L5686.4044,1411.7188 L5686.4044,1413.8594 L5683.2638,1413.8594 L5683.2638,1424.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="5702.52" y="1421.5137">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5640.97" x2="5849.97" y1="1433.3594" y2="1433.3594"/><ellipse cx="5650.97" cy="1445.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="160" x="5659.97" y="1447.5698">URT_THREAD_PRIO_LOW_MIN</text><ellipse cx="5650.97" cy="1458.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="163" x="5659.97" y="1460.3745">URT_THREAD_PRIO_LOW_MAX</text><ellipse cx="5650.97" cy="1470.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="182" x="5659.97" y="1473.1792">URT_THREAD_PRIO_NORMAL_MIN</text><ellipse cx="5650.97" cy="1483.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="185" x="5659.97" y="1485.9839">URT_THREAD_PRIO_NORMAL_MAX</text><ellipse cx="5650.97" cy="1496.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="164" x="5659.97" y="1498.7886">URT_THREAD_PRIO_HIGH_MIN</text><ellipse cx="5650.97" cy="1509.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="167" x="5659.97" y="1511.5933">URT_THREAD_PRIO_HIGH_MAX</text><ellipse cx="5650.97" cy="1522.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="150" x="5659.97" y="1524.3979">URT_THREAD_PRIO_RT_MIN</text><ellipse cx="5650.97" cy="1534.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="153" x="5659.97" y="1537.2026">URT_THREAD_PRIO_RT_MAX</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5640.97" x2="5849.97" y1="1543.7969" y2="1543.7969"/><!--class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="5352.47" y="1445.8594"/><ellipse cx="5400.22" cy="1461.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5401.0638,1468.6094 L5398.6106,1468.6094 L5398.6106,1458.3594 L5395.47,1458.3594 L5395.47,1456.2188 L5404.2044,1456.2188 L5404.2044,1458.3594 L5401.0638,1458.3594 L5401.0638,1468.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="5420.72" y="1466.0137">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5353.47" x2="5603.47" y1="1477.8594" y2="1477.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5353.47" x2="5603.47" y1="1485.8594" y2="1485.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="5358.47" y="1500.0698">urt_osThreadFunction_t (arg : void*) : void</text><!--class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="6147.47" y="1439.3594"/><ellipse cx="6169.22" cy="1455.3594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6173.3294,1461.3594 L6165.6106,1461.3594 L6165.6106,1448.9688 L6173.3294,1448.9688 L6173.3294,1451.125 L6168.0638,1451.125 L6168.0638,1453.7969 L6172.8294,1453.7969 L6172.8294,1455.9531 L6168.0638,1455.9531 L6168.0638,1459.2031 L6173.3294,1459.2031 L6173.3294,1461.3594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="6184.72" y="1459.5137">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6148.47" x2="6388.47" y1="1471.3594" y2="1471.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="6153.47" y="1485.5698">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="6153.47" y="1498.3745">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6148.47" x2="6388.47" y1="1504.9688" y2="1504.9688"/><!--class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="124.8281" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="5886.47" y="1413.8594"/><ellipse cx="5931.22" cy="1429.8594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5935.3294,1435.8594 L5927.6106,1435.8594 L5927.6106,1423.4688 L5935.3294,1423.4688 L5935.3294,1425.625 L5930.0638,1425.625 L5930.0638,1428.2969 L5934.8294,1428.2969 L5934.8294,1430.4531 L5930.0638,1430.4531 L5930.0638,1433.7031 L5935.3294,1433.7031 L5935.3294,1435.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="5951.72" y="1434.0137">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5887.47" x2="6111.47" y1="1445.8594" y2="1445.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="5892.47" y="1460.0698">URT_THREAD_STATE_RUNNING = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="5892.47" y="1472.8745">URT_THREAD_STATE_READY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="5892.47" y="1485.6792">URT_THREAD_STATE_SLEEPING = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="5892.47" y="1498.4839">URT_THREAD_STATE_SUSPENDED = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="5892.47" y="1511.2886">URT_THREAD_STATE_WAITING = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="5892.47" y="1524.0933">URT_THREAD_STATE_TERMINATED = 5</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5887.47" x2="6111.47" y1="1530.6875" y2="1530.6875"/><!--class urt_osThread_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="376.1172" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="560" x="5465.47" y="965.3594"/><ellipse cx="5694.22" cy="981.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5695.0638,988.1094 L5692.6106,988.1094 L5692.6106,977.8594 L5689.47,977.8594 L5689.47,975.7188 L5698.2044,975.7188 L5698.2044,977.8594 L5695.0638,977.8594 L5695.0638,988.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="5714.72" y="985.5137">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5466.47" x2="6024.47" y1="997.3594" y2="997.3594"/><ellipse cx="5476.47" cy="1009.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="179" x="5485.47" y="1011.5698">URT_THREAD_SLEEP_MAX : float</text><ellipse cx="5476.47" cy="1022.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="225" x="5485.47" y="1024.3745">URT_THREAD_SSLEP_MAX : unsigned int</text><ellipse cx="5476.47" cy="1034.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="233" x="5485.47" y="1037.1792">URT_THREAD_MSLEEP_MAX : unsigned int</text><ellipse cx="5476.47" cy="1047.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="232" x="5485.47" y="1049.9839">URT_THREAD_USLEEP_MAX : unisgned int</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5466.47" x2="6024.47" y1="1056.5781" y2="1056.5781"/><ellipse cx="5476.47" cy="1068.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="248" x="5485.47" y="1070.7886">URT_THREAD_MEMORY (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5466.47" x2="6024.47" y1="1077.3828" y2="1077.3828"/><ellipse cx="5476.47" cy="1089.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="534" x="5485.47" y="1091.5933">urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*</text><ellipse cx="5476.47" cy="1102.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="490" x="5485.47" y="1104.3979">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="5476.47" cy="1114.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="153" x="5485.47" y="1117.2026">urtThreadYield (void) : void</text><ellipse cx="5476.47" cy="1127.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="271" x="5485.47" y="1130.0073">urtThreadGetPriority (void) : urt_osThreadPrio_t</text><ellipse cx="5476.47" cy="1140.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="304" x="5485.47" y="1142.812">urtThreadSetPriority (prio : urt_osThreadPrio_t) : void</text><ellipse cx="5476.47" cy="1153.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="294" x="5485.47" y="1155.6167">urtThreadSuspend (thread : urt_osThread_t*) : void</text><ellipse cx="5476.47" cy="1166.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="335" x="5485.47" y="1168.4214">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="5476.47" cy="1178.918" 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="5485.47" y="1181.2261">urtThreadSleep (seconds : float) : void</text><ellipse cx="5476.47" cy="1191.7227" 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="5485.47" y="1194.0308">urtThreadSSleep (seconds : usnigned int) : void</text><ellipse cx="5476.47" cy="1204.5273" 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="5485.47" y="1206.8354">urtThreadMSleep (milliseconds : unsigned int) : void</text><ellipse cx="5476.47" cy="1217.332" 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="5485.47" y="1219.6401">urtThreadUSleep (microseconds : unsigned int) : void</text><ellipse cx="5476.47" cy="1230.1367" 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="5485.47" y="1232.4448">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="5476.47" cy="1242.9414" 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="5485.47" y="1245.2495">urtThreadExit (void) : void</text><ellipse cx="5476.47" cy="1255.7461" 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="5485.47" y="1258.0542">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="5476.47" cy="1268.5508" 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="5485.47" y="1270.8589">urtThreadJoin (thread : urt_osThread_t*) : int</text><ellipse cx="5476.47" cy="1281.3555" 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="5485.47" y="1283.6636">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="5476.47" cy="1294.1602" 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="237" x="5485.47" y="1296.4683">urtThreadGetSelf (void) : urt_osThread_t*</text><ellipse cx="5476.47" cy="1306.9648" 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="5485.47" y="1309.2729">urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="5476.47" cy="1319.7695" 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="5485.47" y="1322.0776">urtThreadGetSibling (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="5476.47" cy="1332.5742" 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="364" x="5485.47" y="1334.8823">urtThreadGetParent (thread : urt_osThread_t) : urt_osThread_t*</text><!--class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="294" x="6654.47" y="1445.8594"/><ellipse cx="6738.72" cy="1461.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6739.5638,1468.6094 L6737.1106,1468.6094 L6737.1106,1458.3594 L6733.97,1458.3594 L6733.97,1456.2188 L6742.7044,1456.2188 L6742.7044,1458.3594 L6739.5638,1458.3594 L6739.5638,1468.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="6759.22" y="1466.0137">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6655.47" x2="6947.47" y1="1477.8594" y2="1477.8594"/><ellipse cx="6665.47" cy="1489.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="268" x="6674.47" y="1492.0698">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6655.47" x2="6947.47" y1="1498.6641" y2="1498.6641"/><!--class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="7460.47" y="1636.8594"/><ellipse cx="7475.47" cy="1652.8594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7476.3138,1659.6094 L7473.8606,1659.6094 L7473.8606,1649.3594 L7470.72,1649.3594 L7470.72,1647.2188 L7479.4544,1647.2188 L7479.4544,1649.3594 L7476.3138,1649.3594 L7476.3138,1659.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="7489.47" y="1657.0137">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7461.47" x2="7609.47" y1="1668.8594" y2="1668.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7461.47" x2="7609.47" y1="1676.8594" y2="1676.8594"/><!--class urt_osEventWaitType_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="86.4141" id="urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="6445.97" y="1433.3594"/><ellipse cx="6460.97" cy="1449.3594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6465.0794,1455.3594 L6457.3606,1455.3594 L6457.3606,1442.9688 L6465.0794,1442.9688 L6465.0794,1445.125 L6459.8138,1445.125 L6459.8138,1447.7969 L6464.5794,1447.7969 L6464.5794,1449.9531 L6459.8138,1449.9531 L6459.8138,1453.2031 L6465.0794,1453.2031 L6465.0794,1455.3594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="6474.97" y="1453.5137">urt_osEventWaitType_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6446.97" x2="6617.97" y1="1465.3594" y2="1465.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="6451.97" y="1479.5698">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="6451.97" y="1492.3745">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="6451.97" y="1505.1792">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6446.97" x2="6617.97" y1="1511.7734" y2="1511.7734"/><!--class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="7566.47" y="1433.3594"/><ellipse cx="7741.72" cy="1449.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7742.5638,1456.1094 L7740.1106,1456.1094 L7740.1106,1445.8594 L7736.97,1445.8594 L7736.97,1443.7188 L7745.7044,1443.7188 L7745.7044,1445.8594 L7742.5638,1445.8594 L7742.5638,1456.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="7762.22" y="1453.5137">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7567.47" x2="8059.47" y1="1465.3594" y2="1465.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7567.47" x2="8059.47" y1="1473.3594" y2="1473.3594"/><ellipse cx="7577.47" cy="1485.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="341" x="7586.47" y="1487.5698">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="7577.47" cy="1498.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="458" x="7586.47" y="1500.3745">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="7577.47" cy="1510.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="468" x="7586.47" y="1513.1792">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="6983.97" y="1439.3594"/><ellipse cx="7188.72" cy="1455.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7189.5638,1462.1094 L7187.1106,1462.1094 L7187.1106,1451.8594 L7183.97,1451.8594 L7183.97,1449.7188 L7192.7044,1449.7188 L7192.7044,1451.8594 L7189.5638,1451.8594 L7189.5638,1462.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="7209.22" y="1459.5137">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6984.97" x2="7529.97" y1="1471.3594" y2="1471.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6984.97" x2="7529.97" y1="1479.3594" y2="1479.3594"/><ellipse cx="6994.97" cy="1491.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="325" x="7003.97" y="1493.5698">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="6994.97" cy="1504.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="521" x="7003.97" y="1506.3745">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--class urt_events--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="735" x="6444.97" y="1110.3594"/><ellipse cx="6775.22" cy="1126.3594" fill="#FFFFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6779.4544,1122.125 L6774.1731,1122.125 L6774.1731,1124.7969 L6778.97,1124.7969 L6778.97,1126.9531 L6774.1731,1126.9531 L6774.1731,1132.3594 L6771.7356,1132.3594 L6771.7356,1119.9688 L6779.4544,1119.9688 L6779.4544,1122.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="6795.72" y="1130.5137">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6445.97" x2="7178.97" y1="1142.3594" y2="1142.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6445.97" x2="7178.97" y1="1150.3594" y2="1150.3594"/><ellipse cx="6455.97" cy="1162.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="6464.97" y="1164.5698">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t) : urt_status_t</text><ellipse cx="6455.97" cy="1175.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="6464.97" y="1177.3745">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text><ellipse cx="6455.97" cy="1187.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="645" x="6464.97" y="1190.1792">urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t</text><!--class urt_debug--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="60.8047" id="urt_debug" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="3291.97" y="213.8594"/><ellipse cx="3378.22" cy="229.8594" fill="#FFFFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3382.4544,225.625 L3377.1731,225.625 L3377.1731,228.2969 L3381.97,228.2969 L3381.97,230.4531 L3377.1731,230.4531 L3377.1731,235.8594 L3374.7356,235.8594 L3374.7356,223.4688 L3382.4544,223.4688 L3382.4544,225.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="3398.72" y="234.0137">urt_debug</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3292.97" x2="3535.97" y1="245.8594" y2="245.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3292.97" x2="3535.97" y1="253.8594" y2="253.8594"/><ellipse cx="3302.97" cy="265.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="219" x="3311.97" y="268.0698">urtDebugAssert(condition : bool) : void</text><!--class urt_message_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="167.2422" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="3068.97" y="704.3594"/><ellipse cx="3244.22" cy="720.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3243.7044,720.9219 Q3241.845,720.2188 3241.1966,719.4453 Q3240.5481,718.6719 3240.5481,717.3594 Q3240.5481,715.6719 3241.6263,714.7031 Q3242.7044,713.7344 3244.5794,713.7344 Q3245.4388,713.7344 3246.2903,713.9297 Q3247.1419,714.125 3247.9856,714.5156 L3247.9856,716.9063 Q3247.2044,716.3438 3246.3841,716.0547 Q3245.5638,715.7656 3244.7669,715.7656 Q3243.8919,715.7656 3243.4153,716.125 Q3242.9388,716.4844 3242.9388,717.1406 Q3242.9388,717.6563 3243.2825,717.9922 Q3243.6263,718.3281 3244.72,718.7344 L3245.7825,719.1406 Q3247.2669,719.6875 3247.9778,720.5938 Q3248.6888,721.5 3248.6888,722.875 Q3248.6888,724.75 3247.5794,725.6719 Q3246.47,726.5938 3244.22,726.5938 Q3243.2981,726.5938 3242.3763,726.375 Q3241.4544,726.1563 3240.595,725.7344 L3240.595,723.2031 Q3241.5638,723.8906 3242.4856,724.2344 Q3243.4075,724.5781 3244.2981,724.5781 Q3245.2044,724.5781 3245.7044,724.1641 Q3246.2044,723.75 3246.2044,723.0156 Q3246.2044,722.4531 3245.8684,722.0391 Q3245.5325,721.625 3244.9075,721.375 L3243.7044,720.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="3264.72" y="724.5137">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3069.97" x2="3518.97" y1="736.3594" y2="736.3594"/><ellipse cx="3079.97" cy="748.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="127" x="3088.97" y="750.5698">next : urt_message_t*</text><ellipse cx="3079.97" cy="761.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="85" x="3088.97" y="763.3745">payload : void*</text><ellipse cx="3079.97" cy="773.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="146" x="3088.97" y="776.1792">originTime : urt_osTime_t</text><ellipse cx="3079.97" cy="786.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="113" x="3088.97" y="788.9839">lock : urt_osMutex_t</text><ellipse cx="3079.97" cy="799.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="211" x="3088.97" y="801.7886">numHrtConsumersLeft : unsigned int</text><ellipse cx="3079.97" cy="812.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="208" x="3088.97" y="814.5933">hrtConsumersLeft : urt_osCondvar_t</text><ellipse cx="3079.97" cy="841.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="194" x="3088.97" y="844.2026">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3069.97" x2="3250.97" y1="827.5898" y2="827.5898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="3250.97" y="830.8979">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3337.97" x2="3518.97" y1="827.5898" y2="827.5898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3069.97" x2="3518.97" y1="850.7969" y2="850.7969"/><ellipse cx="3079.97" cy="862.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="425" x="3088.97" y="865.0073">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--class urt_subscriber_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="244.0703" id="urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="851" x="2387.97" y="122.3594"/><ellipse cx="2758.72" cy="138.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2758.2044,138.9219 Q2756.345,138.2188 2755.6966,137.4453 Q2755.0481,136.6719 2755.0481,135.3594 Q2755.0481,133.6719 2756.1263,132.7031 Q2757.2044,131.7344 2759.0794,131.7344 Q2759.9388,131.7344 2760.7903,131.9297 Q2761.6419,132.125 2762.4856,132.5156 L2762.4856,134.9063 Q2761.7044,134.3438 2760.8841,134.0547 Q2760.0638,133.7656 2759.2669,133.7656 Q2758.3919,133.7656 2757.9153,134.125 Q2757.4388,134.4844 2757.4388,135.1406 Q2757.4388,135.6563 2757.7825,135.9922 Q2758.1263,136.3281 2759.22,136.7344 L2760.2825,137.1406 Q2761.7669,137.6875 2762.4778,138.5938 Q2763.1888,139.5 2763.1888,140.875 Q2763.1888,142.75 2762.0794,143.6719 Q2760.97,144.5938 2758.72,144.5938 Q2757.7981,144.5938 2756.8763,144.375 Q2755.9544,144.1563 2755.095,143.7344 L2755.095,141.2031 Q2756.0638,141.8906 2756.9856,142.2344 Q2757.9075,142.5781 2758.7981,142.5781 Q2759.7044,142.5781 2760.2044,142.1641 Q2760.7044,141.75 2760.7044,141.0156 Q2760.7044,140.4531 2760.3684,140.0391 Q2760.0325,139.625 2759.4075,139.375 L2758.2044,138.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="2779.22" y="142.5137">urt_subscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2388.97" x2="3237.97" y1="154.3594" y2="154.3594"/><ellipse cx="2398.97" cy="166.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="135" x="2407.97" y="168.5698">next : urt_subscriber_t*</text><ellipse cx="2398.97" cy="179.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="104" x="2407.97" y="181.3745">topic : urt_topic_t*</text><ellipse cx="2398.97" cy="191.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="198" x="2407.97" y="194.1792">evtListener : urt_osEventListener_t</text><ellipse cx="2398.97" cy="204.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="122" x="2407.97" y="206.9839">rtclass : urt_rtclass_t</text><ellipse cx="2398.97" cy="217.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="175" x="2407.97" y="219.7886">lastMessage : urt_message_t*</text><ellipse cx="2398.97" cy="230.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="186" x="2407.97" y="232.5933">lastMessageTime : urt_osTime_t</text><ellipse cx="2398.97" cy="259.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="138" x="2407.97" y="262.2026">minLatency : urt_delay_t</text><ellipse cx="2398.97" cy="272.6992" 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="2407.97" y="275.0073">maxLatency : urt_delay_t</text><ellipse cx="2398.97" cy="285.5039" 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="2407.97" y="287.812">sumLatencies : uint64_t</text><ellipse cx="2398.97" cy="298.3086" 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="2407.97" y="300.6167">numMessagesReceived : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2388.97" x2="2769.97" y1="245.5898" y2="245.5898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="2769.97" y="248.8979">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2856.97" x2="3237.97" y1="245.5898" y2="245.5898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2388.97" x2="3237.97" y1="307.2109" y2="307.2109"/><ellipse cx="2398.97" cy="319.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="359" x="2407.97" y="321.4214">urtSubscriberInit (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="2398.97" cy="331.918" 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="2407.97" y="334.2261">urtSubscriberSubscribe (subscriber : urt_subscriber_t*, topic : urt_topic_t*, rtclass : urt_rtclass_t*, messages : urt_messages_t*) : urt_status_t</text><ellipse cx="2398.97" cy="344.7227" 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="2407.97" y="347.0308">urtSubscriberUnsubscribe (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="2398.97" cy="357.5273" 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="675" x="2407.97" y="359.8354">urtSubscriberFetchMessage (subscriber : urt_subscriber_t*, payload : void*, bytes : size_t, latest : bool) : urt_status_t</text><!--class urt_topic_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="218.4609" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="3098.47" y="426.3594"/><ellipse cx="3253.22" cy="442.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3252.7044,442.9219 Q3250.845,442.2188 3250.1966,441.4453 Q3249.5481,440.6719 3249.5481,439.3594 Q3249.5481,437.6719 3250.6263,436.7031 Q3251.7044,435.7344 3253.5794,435.7344 Q3254.4388,435.7344 3255.2903,435.9297 Q3256.1419,436.125 3256.9856,436.5156 L3256.9856,438.9063 Q3256.2044,438.3438 3255.3841,438.0547 Q3254.5638,437.7656 3253.7669,437.7656 Q3252.8919,437.7656 3252.4153,438.125 Q3251.9388,438.4844 3251.9388,439.1406 Q3251.9388,439.6563 3252.2825,439.9922 Q3252.6263,440.3281 3253.72,440.7344 L3254.7825,441.1406 Q3256.2669,441.6875 3256.9778,442.5938 Q3257.6888,443.5 3257.6888,444.875 Q3257.6888,446.75 3256.5794,447.6719 Q3255.47,448.5938 3253.22,448.5938 Q3252.2981,448.5938 3251.3763,448.375 Q3250.4544,448.1563 3249.595,447.7344 L3249.595,445.2031 Q3250.5638,445.8906 3251.4856,446.2344 Q3252.4075,446.5781 3253.2981,446.5781 Q3254.2044,446.5781 3254.7044,446.1641 Q3255.2044,445.75 3255.2044,445.0156 Q3255.2044,444.4531 3254.8684,444.0391 Q3254.5325,443.625 3253.9075,443.375 L3252.7044,442.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="3273.72" y="446.5137">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3099.47" x2="3481.47" y1="458.3594" y2="458.3594"/><ellipse cx="3109.47" cy="470.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="101" x="3118.47" y="472.5698">next : urt_topic_t*</text><ellipse cx="3109.47" cy="483.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="113" x="3118.47" y="485.3745">lock : urt_osMutex_t</text><ellipse cx="3109.47" cy="495.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="186" x="3118.47" y="498.1792">evtSource : urt_osEventSource_t</text><ellipse cx="3109.47" cy="508.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="193" x="3118.47" y="510.9839">numHrtSubscribers : unsigned int</text><ellipse cx="3109.47" cy="521.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="196" x="3118.47" y="523.7886">hrtSubscribers : urt_subscriber_t*</text><ellipse cx="3109.47" cy="534.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="145" x="3118.47" y="536.5933">qosTimer : urt_osTimer_t</text><ellipse cx="3109.47" cy="547.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="209" x="3118.47" y="549.3979">mandatoryMessage : urt_message_t</text><ellipse cx="3109.47" cy="559.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="3118.47" y="562.2026">latestMessage : urt_message_t*</text><ellipse cx="3109.47" cy="572.6992" 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="3118.47" y="575.0073">id : urt_topicid_t</text><ellipse cx="3109.47" cy="602.3086" 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="3118.47" y="604.6167">numDiscardedMessages : unsigned int</text><ellipse cx="3109.47" cy="615.1133" 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="3118.47" y="617.4214">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3099.47" x2="3246.97" y1="588.0039" y2="588.0039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="3246.97" y="591.312">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="3333.97" x2="3481.47" y1="588.0039" y2="588.0039"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3099.47" x2="3481.47" y1="624.0156" y2="624.0156"/><ellipse cx="3109.47" cy="635.918" 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="3118.47" y="638.2261">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="1593.97" y="179.8594"/><ellipse cx="1922.72" cy="195.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1922.2044,196.4219 Q1920.345,195.7188 1919.6966,194.9453 Q1919.0481,194.1719 1919.0481,192.8594 Q1919.0481,191.1719 1920.1263,190.2031 Q1921.2044,189.2344 1923.0794,189.2344 Q1923.9388,189.2344 1924.7903,189.4297 Q1925.6419,189.625 1926.4856,190.0156 L1926.4856,192.4063 Q1925.7044,191.8438 1924.8841,191.5547 Q1924.0638,191.2656 1923.2669,191.2656 Q1922.3919,191.2656 1921.9153,191.625 Q1921.4388,191.9844 1921.4388,192.6406 Q1921.4388,193.1563 1921.7825,193.4922 Q1922.1263,193.8281 1923.22,194.2344 L1924.2825,194.6406 Q1925.7669,195.1875 1926.4778,196.0938 Q1927.1888,197 1927.1888,198.375 Q1927.1888,200.25 1926.0794,201.1719 Q1924.97,202.0938 1922.72,202.0938 Q1921.7981,202.0938 1920.8763,201.875 Q1919.9544,201.6563 1919.095,201.2344 L1919.095,198.7031 Q1920.0638,199.3906 1920.9856,199.7344 Q1921.9075,200.0781 1922.7981,200.0781 Q1923.7044,200.0781 1924.2044,199.6641 Q1924.7044,199.25 1924.7044,198.5156 Q1924.7044,197.9531 1924.3684,197.5391 Q1924.0325,197.125 1923.4075,196.875 L1922.2044,196.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="1943.22" y="200.0137">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1594.97" x2="2351.97" y1="211.8594" y2="211.8594"/><ellipse cx="1604.97" cy="223.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="104" x="1613.97" y="226.0698">topic : urt_topic_t*</text><ellipse cx="1604.97" cy="253.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="174" x="1613.97" y="255.6792">publishAttempts : unsigned int</text><ellipse cx="1604.97" cy="266.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="149" x="1613.97" y="268.4839">publishFails : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1594.97" x2="1929.97" y1="239.0664" y2="239.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="1929.97" y="242.3745">evaluation data</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2016.97" x2="2351.97" y1="239.0664" y2="239.0664"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1594.97" x2="2351.97" y1="275.0781" y2="275.0781"/><ellipse cx="1604.97" cy="286.9805" 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="1613.97" y="289.2886">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1604.97" cy="299.7852" 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="1613.97" y="302.0933">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(#f1hivpbyet8yjp)" height="163.2422" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="515" x="1043.97" y="162.8594"/><ellipse cx="1265.72" cy="178.8594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1265.2044,179.4219 Q1263.345,178.7188 1262.6966,177.9453 Q1262.0481,177.1719 1262.0481,175.8594 Q1262.0481,174.1719 1263.1263,173.2031 Q1264.2044,172.2344 1266.0794,172.2344 Q1266.9388,172.2344 1267.7903,172.4297 Q1268.6419,172.625 1269.4856,173.0156 L1269.4856,175.4063 Q1268.7044,174.8438 1267.8841,174.5547 Q1267.0638,174.2656 1266.2669,174.2656 Q1265.3919,174.2656 1264.9153,174.625 Q1264.4388,174.9844 1264.4388,175.6406 Q1264.4388,176.1563 1264.7825,176.4922 Q1265.1263,176.8281 1266.22,177.2344 L1267.2825,177.6406 Q1268.7669,178.1875 1269.4778,179.0938 Q1270.1888,180 1270.1888,181.375 Q1270.1888,183.25 1269.0794,184.1719 Q1267.97,185.0938 1265.72,185.0938 Q1264.7981,185.0938 1263.8763,184.875 Q1262.9544,184.6563 1262.095,184.2344 L1262.095,181.7031 Q1263.0638,182.3906 1263.9856,182.7344 Q1264.9075,183.0781 1265.7981,183.0781 Q1266.7044,183.0781 1267.2044,182.6641 Q1267.7044,182.25 1267.7044,181.5156 Q1267.7044,180.9531 1267.3684,180.5391 Q1267.0325,180.125 1266.4075,179.875 L1265.2044,179.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="1286.22" y="183.0137">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.97" x2="1557.97" y1="194.8594" y2="194.8594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1051.97" y="203.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="1063.97" y="209.0698">_nodes : urt_node_t*</text><line style="stroke: #000000; stroke-width: 1.0;" x1="1063.97" x2="1182.97" y1="211.0698" y2="211.0698"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1051.97" y="216.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="1063.97" y="221.8745">_topics : urt_topic_t*</text><line style="stroke: #000000; stroke-width: 1.0;" x1="1063.97" x2="1180.97" y1="223.8745" y2="223.8745"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1051.97" y="229.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="1063.97" y="234.6792">_evtSource : urt_osEventSource_t</text><line style="stroke: #000000; stroke-width: 1.0;" x1="1063.97" x2="1255.97" y1="236.6792" y2="236.6792"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1051.97" y="242.1758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="1063.97" y="247.4839">_lock : urt_osMutex_t</text><line style="stroke: #000000; stroke-width: 1.0;" x1="1063.97" x2="1182.97" y1="249.4839" y2="249.4839"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.97" x2="1557.97" y1="254.0781" y2="254.0781"/><ellipse cx="1054.97" cy="265.9805" 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="1063.97" y="268.2886">urtCoreInit (void) : urt_status_t</text><ellipse cx="1054.97" cy="278.7852" 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="1063.97" y="281.0933">urtCoreStartNodes (void) : urt_status_t</text><ellipse cx="1054.97" cy="291.5898" 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="489" x="1063.97" y="293.8979">urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodestage_t) : urt_status_t</text><ellipse cx="1054.97" cy="304.3945" 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="1063.97" y="306.7026">urtCoreStopNodes (void) : urt_status_t</text><ellipse cx="1054.97" cy="317.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="299" x="1063.97" y="319.5073">urtCoreRetrieveTopic (id : urt_topicid_t) : urt_topic_t*</text><!--class urt_node_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="176.0469" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1104" x="1904.47" y="447.3594"/><ellipse cx="2418.72" cy="463.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2418.2044,463.9219 Q2416.345,463.2188 2415.6966,462.4453 Q2415.0481,461.6719 2415.0481,460.3594 Q2415.0481,458.6719 2416.1263,457.7031 Q2417.2044,456.7344 2419.0794,456.7344 Q2419.9388,456.7344 2420.7903,456.9297 Q2421.6419,457.125 2422.4856,457.5156 L2422.4856,459.9063 Q2421.7044,459.3438 2420.8841,459.0547 Q2420.0638,458.7656 2419.2669,458.7656 Q2418.3919,458.7656 2417.9153,459.125 Q2417.4388,459.4844 2417.4388,460.1406 Q2417.4388,460.6563 2417.7825,460.9922 Q2418.1263,461.3281 2419.22,461.7344 L2420.2825,462.1406 Q2421.7669,462.6875 2422.4778,463.5938 Q2423.1888,464.5 2423.1888,465.875 Q2423.1888,467.75 2422.0794,468.6719 Q2420.97,469.5938 2418.72,469.5938 Q2417.7981,469.5938 2416.8763,469.375 Q2415.9544,469.1563 2415.095,468.7344 L2415.095,466.2031 Q2416.0638,466.8906 2416.9856,467.2344 Q2417.9075,467.5781 2418.7981,467.5781 Q2419.7044,467.5781 2420.2044,467.1641 Q2420.7044,466.75 2420.7044,466.0156 Q2420.7044,465.4531 2420.3684,465.0391 Q2420.0325,464.625 2419.4075,464.375 L2418.2044,463.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="2439.22" y="467.5137">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1905.47" x2="3007.47" y1="479.3594" y2="479.3594"/><ellipse cx="1915.47" cy="491.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="1924.47" y="493.5698">next : urt_node_t*</text><ellipse cx="1915.47" cy="504.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="1924.47" y="506.3745">thread : urt_osThread_t*</text><ellipse cx="1915.47" cy="516.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="1924.47" y="519.1792">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="1915.47" cy="529.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="1924.47" y="531.9839">setupparams : void*</text><ellipse cx="1915.47" cy="542.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="1924.47" y="544.7886">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="1915.47" cy="555.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="1924.47" y="557.5933">loopparams : void*</text><ellipse cx="1915.47" cy="568.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="136" x="1924.47" y="570.3979">stage : urt_nodestage_t</text><ellipse cx="1915.47" cy="580.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="178" x="1924.47" y="583.2026">listener : urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1905.47" x2="3007.47" y1="589.7969" y2="589.7969"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="1912.47" y="598.6992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="1924.47" y="604.0073">_main : urt_osThreadFunction_t</text><line style="stroke: #000000; stroke-width: 1.0;" x1="1924.47" x2="2103.47" y1="606.0073" y2="606.0073"/><ellipse cx="1915.47" cy="614.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="1924.47" y="616.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><!--class urt_rtclass_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="73.6094" id="urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1501.97" y="498.3594"/><ellipse cx="1557.72" cy="514.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1557.2044,514.9219 Q1555.345,514.2188 1554.6966,513.4453 Q1554.0481,512.6719 1554.0481,511.3594 Q1554.0481,509.6719 1555.1263,508.7031 Q1556.2044,507.7344 1558.0794,507.7344 Q1558.9388,507.7344 1559.7903,507.9297 Q1560.6419,508.125 1561.4856,508.5156 L1561.4856,510.9063 Q1560.7044,510.3438 1559.8841,510.0547 Q1559.0638,509.7656 1558.2669,509.7656 Q1557.3919,509.7656 1556.9153,510.125 Q1556.4388,510.4844 1556.4388,511.1406 Q1556.4388,511.6563 1556.7825,511.9922 Q1557.1263,512.3281 1558.22,512.7344 L1559.2825,513.1406 Q1560.7669,513.6875 1561.4778,514.5938 Q1562.1888,515.5 1562.1888,516.875 Q1562.1888,518.75 1561.0794,519.6719 Q1559.97,520.5938 1557.72,520.5938 Q1556.7981,520.5938 1555.8763,520.375 Q1554.9544,520.1563 1554.095,519.7344 L1554.095,517.2031 Q1555.0638,517.8906 1555.9856,518.2344 Q1556.9075,518.5781 1557.7981,518.5781 Q1558.7044,518.5781 1559.2044,518.1641 Q1559.7044,517.75 1559.7044,517.0156 Q1559.7044,516.4531 1559.3684,516.0391 Q1559.0325,515.625 1558.4075,515.375 L1557.2044,514.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="1578.22" y="518.5137">urt_rtclass_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1502.97" x2="1697.97" y1="530.3594" y2="530.3594"/><ellipse cx="1512.97" cy="542.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="1521.97" y="544.5698">class : urt_rtclasstype_t</text><ellipse cx="1512.97" cy="555.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="1521.97" y="557.3745">params : urt_rtclassparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1502.97" x2="1697.97" y1="563.9688" y2="563.9688"/><!--class urt_rtclasstype_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="99.2188" id="urt_rtclasstype_t" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="1333.97" y="738.3594"/><ellipse cx="1356.62" cy="754.3594" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1360.7294,760.3594 L1353.0106,760.3594 L1353.0106,747.9688 L1360.7294,747.9688 L1360.7294,750.125 L1355.4638,750.125 L1355.4638,752.7969 L1360.2294,752.7969 L1360.2294,754.9531 L1355.4638,754.9531 L1355.4638,758.2031 L1360.7294,758.2031 L1360.7294,760.3594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="1372.32" y="758.5137">urt_rtclasstype_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1334.97" x2="1485.97" y1="770.3594" y2="770.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="1339.97" y="784.5698">URT_RTCLASS_HARD = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="1339.97" y="797.3745">URT_RTCLASS_FIRM = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="1339.97" y="810.1792">URT_RTCLASS_SOFT = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1339.97" y="822.9839">URT_RTCLASS_NONE = 3</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1334.97" x2="1485.97" y1="829.5781" y2="829.5781"/><!--class urt_rtclassparams_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="99.2188" id="urt_rtclassparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="1522.47" y="738.3594"/><ellipse cx="1537.47" cy="754.3594" fill="#90EE90" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1533.345,756.2813 L1533.345,748.4688 L1535.7981,748.4688 L1535.7981,756.9063 Q1535.7981,757.8281 1536.2747,758.3594 Q1536.7513,758.8906 1537.5794,758.8906 Q1538.4231,758.8906 1538.8919,758.3594 Q1539.3606,757.8281 1539.3606,756.9063 L1539.3606,748.4688 L1541.8138,748.4688 L1541.8138,756.2813 Q1541.8138,758.8125 1540.8138,759.9531 Q1539.8138,761.0938 1537.5794,761.0938 Q1535.3606,761.0938 1534.3528,759.9531 Q1533.345,758.8125 1533.345,756.2813 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="1551.47" y="758.5137">urt_rtclassparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1523.47" x2="1677.47" y1="770.3594" y2="770.3594"/><ellipse cx="1533.47" cy="782.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="120" x="1542.47" y="784.5698">hrt : urt_hrtparams_t</text><ellipse cx="1533.47" cy="795.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="114" x="1542.47" y="797.3745">frt : urt_frtparams_t</text><ellipse cx="1533.47" cy="807.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="116" x="1542.47" y="810.1792">srt : urt_srtparans_t</text><ellipse cx="1533.47" cy="820.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="120" x="1542.47" y="822.9839">nrt : urt_nrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1523.47" x2="1677.47" y1="829.5781" y2="829.5781"/><!--class urt_hrtparams_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="86.4141" id="urt_hrtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="1277.97" y="1110.3594"/><ellipse cx="1315.92" cy="1126.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1315.4044,1126.9219 Q1313.545,1126.2188 1312.8966,1125.4453 Q1312.2481,1124.6719 1312.2481,1123.3594 Q1312.2481,1121.6719 1313.3263,1120.7031 Q1314.4044,1119.7344 1316.2794,1119.7344 Q1317.1388,1119.7344 1317.9903,1119.9297 Q1318.8419,1120.125 1319.6856,1120.5156 L1319.6856,1122.9063 Q1318.9044,1122.3438 1318.0841,1122.0547 Q1317.2638,1121.7656 1316.4669,1121.7656 Q1315.5919,1121.7656 1315.1153,1122.125 Q1314.6388,1122.4844 1314.6388,1123.1406 Q1314.6388,1123.6563 1314.9825,1123.9922 Q1315.3263,1124.3281 1316.42,1124.7344 L1317.4825,1125.1406 Q1318.9669,1125.6875 1319.6778,1126.5938 Q1320.3888,1127.5 1320.3888,1128.875 Q1320.3888,1130.75 1319.2794,1131.6719 Q1318.17,1132.5938 1315.92,1132.5938 Q1314.9981,1132.5938 1314.0763,1132.375 Q1313.1544,1132.1563 1312.295,1131.7344 L1312.295,1129.2031 Q1313.2638,1129.8906 1314.1856,1130.2344 Q1315.1075,1130.5781 1315.9981,1130.5781 Q1316.9044,1130.5781 1317.4044,1130.1641 Q1317.9044,1129.75 1317.9044,1129.0156 Q1317.9044,1128.4531 1317.5684,1128.0391 Q1317.2325,1127.625 1316.6075,1127.375 L1315.4044,1126.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="1335.02" y="1130.5137">urt_hrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1278.97" x2="1459.97" y1="1142.3594" y2="1142.3594"/><ellipse cx="1288.97" cy="1154.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="1297.97" y="1156.5698">deadlineOffset : urt_delay_t</text><ellipse cx="1288.97" cy="1167.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="1297.97" y="1169.3745">expectedRate : urt_delay_t</text><ellipse cx="1288.97" cy="1179.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="1297.97" y="1182.1792">qosTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1278.97" x2="1459.97" y1="1188.7734" y2="1188.7734"/><!--class urt_frtparams_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="112.0234" id="urt_frtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="1495.97" y="1097.3594"/><ellipse cx="1548.22" cy="1113.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1547.7044,1113.9219 Q1545.845,1113.2188 1545.1966,1112.4453 Q1544.5481,1111.6719 1544.5481,1110.3594 Q1544.5481,1108.6719 1545.6263,1107.7031 Q1546.7044,1106.7344 1548.5794,1106.7344 Q1549.4388,1106.7344 1550.2903,1106.9297 Q1551.1419,1107.125 1551.9856,1107.5156 L1551.9856,1109.9063 Q1551.2044,1109.3438 1550.3841,1109.0547 Q1549.5638,1108.7656 1548.7669,1108.7656 Q1547.8919,1108.7656 1547.4153,1109.125 Q1546.9388,1109.4844 1546.9388,1110.1406 Q1546.9388,1110.6563 1547.2825,1110.9922 Q1547.6263,1111.3281 1548.72,1111.7344 L1549.7825,1112.1406 Q1551.2669,1112.6875 1551.9778,1113.5938 Q1552.6888,1114.5 1552.6888,1115.875 Q1552.6888,1117.75 1551.5794,1118.6719 Q1550.47,1119.5938 1548.22,1119.5938 Q1547.2981,1119.5938 1546.3763,1119.375 Q1545.4544,1119.1563 1544.595,1118.7344 L1544.595,1116.2031 Q1545.5638,1116.8906 1546.4856,1117.2344 Q1547.4075,1117.5781 1548.2981,1117.5781 Q1549.2044,1117.5781 1549.7044,1117.1641 Q1550.2044,1116.75 1550.2044,1116.0156 Q1550.2044,1115.4531 1549.8684,1115.0391 Q1549.5325,1114.625 1548.9075,1114.375 L1547.7044,1113.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="96" x="1568.72" y="1117.5137">urt_frtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1496.97" x2="1703.97" y1="1129.3594" y2="1129.3594"/><ellipse cx="1506.97" cy="1141.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="1515.97" y="1143.5698">deadlineOffset : urt_delay_t</text><ellipse cx="1506.97" cy="1154.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="1515.97" y="1156.3745">expectedRate : urt_delay_t</text><ellipse cx="1506.97" cy="1166.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="1515.97" y="1169.1792">qosTimer : urt_osTimer_t</text><ellipse cx="1506.97" cy="1179.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="1515.97" y="1181.9839">callback : urt_osTimerCallback_t</text><ellipse cx="1506.97" cy="1192.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="1515.97" y="1194.7886">cbparams : void*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1496.97" x2="1703.97" y1="1201.3828" y2="1201.3828"/><!--class urt_srtparams_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="73.6094" id="urt_srtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="322" x="920.473" y="1116.3594"/><ellipse cx="1027.723" cy="1132.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1027.2074,1132.9219 Q1025.348,1132.2188 1024.6996,1131.4453 Q1024.0511,1130.6719 1024.0511,1129.3594 Q1024.0511,1127.6719 1025.1293,1126.7031 Q1026.2074,1125.7344 1028.0824,1125.7344 Q1028.9418,1125.7344 1029.7933,1125.9297 Q1030.6449,1126.125 1031.4886,1126.5156 L1031.4886,1128.9063 Q1030.7074,1128.3438 1029.8871,1128.0547 Q1029.0668,1127.7656 1028.2699,1127.7656 Q1027.3949,1127.7656 1026.9183,1128.125 Q1026.4418,1128.4844 1026.4418,1129.1406 Q1026.4418,1129.6563 1026.7855,1129.9922 Q1027.1293,1130.3281 1028.223,1130.7344 L1029.2855,1131.1406 Q1030.7699,1131.6875 1031.4808,1132.5938 Q1032.1918,1133.5 1032.1918,1134.875 Q1032.1918,1136.75 1031.0824,1137.6719 Q1029.973,1138.5938 1027.723,1138.5938 Q1026.8011,1138.5938 1025.8793,1138.375 Q1024.9574,1138.1563 1024.098,1137.7344 L1024.098,1135.2031 Q1025.0668,1135.8906 1025.9886,1136.2344 Q1026.9105,1136.5781 1027.8011,1136.5781 Q1028.7074,1136.5781 1029.2074,1136.1641 Q1029.7074,1135.75 1029.7074,1135.0156 Q1029.7074,1134.4531 1029.3714,1134.0391 Q1029.0355,1133.625 1028.4105,1133.375 L1027.2074,1132.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="99" x="1048.223" y="1136.5137">urt_srtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="921.473" x2="1241.473" y1="1148.3594" y2="1148.3594"/><ellipse cx="931.473" cy="1160.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="940.473" y="1162.5698">params : void*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="921.473" x2="1241.473" y1="1169.1641" y2="1169.1641"/><ellipse cx="931.473" cy="1181.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="940.473" y="1183.3745">*usefulness (dt : urt_delay_t, params : void*) : float</text><!--class urt_nrtparams_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="48" id="urt_nrtparams_t" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="1740.47" y="1129.3594"/><ellipse cx="1755.47" cy="1145.3594" fill="#D3D3D3" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1754.9544,1145.9219 Q1753.095,1145.2188 1752.4466,1144.4453 Q1751.7981,1143.6719 1751.7981,1142.3594 Q1751.7981,1140.6719 1752.8763,1139.7031 Q1753.9544,1138.7344 1755.8294,1138.7344 Q1756.6888,1138.7344 1757.5403,1138.9297 Q1758.3919,1139.125 1759.2356,1139.5156 L1759.2356,1141.9063 Q1758.4544,1141.3438 1757.6341,1141.0547 Q1756.8138,1140.7656 1756.0169,1140.7656 Q1755.1419,1140.7656 1754.6653,1141.125 Q1754.1888,1141.4844 1754.1888,1142.1406 Q1754.1888,1142.6563 1754.5325,1142.9922 Q1754.8763,1143.3281 1755.97,1143.7344 L1757.0325,1144.1406 Q1758.5169,1144.6875 1759.2278,1145.5938 Q1759.9388,1146.5 1759.9388,1147.875 Q1759.9388,1149.75 1758.8294,1150.6719 Q1757.72,1151.5938 1755.47,1151.5938 Q1754.5481,1151.5938 1753.6263,1151.375 Q1752.7044,1151.1563 1751.845,1150.7344 L1751.845,1148.2031 Q1752.8138,1148.8906 1753.7356,1149.2344 Q1754.6575,1149.5781 1755.5481,1149.5781 Q1756.4544,1149.5781 1756.9544,1149.1641 Q1757.4544,1148.75 1757.4544,1148.0156 Q1757.4544,1147.4531 1757.1184,1147.0391 Q1756.7825,1146.625 1756.1575,1146.375 L1754.9544,1145.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="1769.47" y="1149.5137">urt_nrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1741.47" x2="1871.47" y1="1161.3594" y2="1161.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1741.47" x2="1871.47" y1="1169.3594" y2="1169.3594"/><!--class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="1928.47" y="757.3594"/><ellipse cx="2074.22" cy="773.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2075.0638,780.1094 L2072.6106,780.1094 L2072.6106,769.8594 L2069.47,769.8594 L2069.47,767.7188 L2078.2044,767.7188 L2078.2044,769.8594 L2075.0638,769.8594 L2075.0638,780.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="2094.72" y="777.5137">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1929.47" x2="2383.47" y1="789.3594" y2="789.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1929.47" x2="2383.47" y1="797.3594" y2="797.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="1934.47" y="811.5698">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="2419.47" y="757.3594"/><ellipse cx="2647.72" cy="773.3594" fill="#ADD8E6" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2648.5638,780.1094 L2646.1106,780.1094 L2646.1106,769.8594 L2642.97,769.8594 L2642.97,767.7188 L2651.7044,767.7188 L2651.7044,769.8594 L2648.5638,769.8594 L2648.5638,780.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="2668.22" y="777.5137">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2420.47" x2="3032.47" y1="789.3594" y2="789.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2420.47" x2="3032.47" y1="797.3594" y2="797.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="2425.47" y="811.5698">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--class urt_config--><rect fill="#FEFECE" filter="url(#f1hivpbyet8yjp)" height="99.2188" id="urt_config" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="696.473" y="1611.3594"/><ellipse cx="758.223" cy="1627.3594" fill="#808080" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M761.1918,1633 Q760.6136,1633.2969 759.973,1633.4453 Q759.3324,1633.5938 758.6293,1633.5938 Q756.1293,1633.5938 754.8089,1631.9453 Q753.4886,1630.2969 753.4886,1627.1719 Q753.4886,1624.0469 754.8089,1622.3906 Q756.1293,1620.7344 758.6293,1620.7344 Q759.3324,1620.7344 759.9808,1620.8906 Q760.6293,1621.0469 761.1918,1621.3438 L761.1918,1624.0625 Q760.5668,1623.4844 759.973,1623.2109 Q759.3793,1622.9375 758.7543,1622.9375 Q757.4105,1622.9375 756.723,1624.0078 Q756.0355,1625.0781 756.0355,1627.1719 Q756.0355,1629.2656 756.723,1630.3359 Q757.4105,1631.4063 758.7543,1631.4063 Q759.3793,1631.4063 759.973,1631.1328 Q760.5668,1630.8594 761.1918,1630.2813 L761.1918,1633 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="778.723" y="1631.5137">urt_config</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.473" x2="889.473" y1="1643.3594" y2="1643.3594"/><ellipse cx="707.473" cy="1655.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="133" x="716.473" y="1657.5698">URT_CFG_DEBUG : bool</text><ellipse cx="707.473" cy="1668.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="133" x="716.473" y="1670.3745">URT_CFG_DELAY_WIDTH</text><ellipse cx="707.473" cy="1680.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="143" x="716.473" y="1683.1792">URT_CFG_TOPICID_WIDTH</text><ellipse cx="707.473" cy="1693.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="168" x="716.473" y="1695.9839">URT_CFG_NODESTAGE_WIDTH</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.473" x2="889.473" y1="1702.5781" y2="1702.5781"/><!--link urt_delay_t to urt_config--><path d="M934.633,1525.9754 C923.559,1542.4044 910.304,1560.3674 896.473,1575.3594 C886.116,1586.5854 874.248,1597.6414 862.339,1607.8704 " fill="none" id="urt_delay_t-urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="858.301,1611.3064,867.7474,1608.5196,862.1088,1608.0659,862.5625,1602.4272,858.301,1611.3064" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_topicid_t to urt_config--><path d="M671.944,1547.4504 C679.484,1557.1084 687.445,1566.6804 695.473,1575.3594 C705.683,1586.3984 717.254,1597.4414 728.775,1607.7314 " fill="none" id="urt_topicid_t-urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="732.678,1611.1914,728.5937,1602.2293,728.9354,1607.8759,723.2888,1608.2175,732.678,1611.1914" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodestage_t to urt_config--><path d="M519.023,1547.3924 C528.974,1557.7294 539.917,1567.5194 551.473,1575.3594 C593.399,1603.8054 645.898,1623.6624 691.273,1636.9444 " fill="none" id="urt_nodestage_t-urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="696.204,1638.3704,688.6703,1632.0266,691.401,1636.9807,686.4469,1639.7114,696.204,1638.3704" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osCondvar_t to urt_osMutex_t--><path d="M5032.95,1202.9514 C5105.99,1248.8034 5223.73,1314.4144 5336.47,1341.3594 C5484.53,1376.7434 7931.04,1317.3894 8076.47,1362.3594 C8116.49,1374.7324 8155.65,1400.0664 8186.08,1423.6164 " 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="8190.12,1426.7764,8185.4812,1418.0884,8186.1766,1423.7023,8180.5627,1424.3978,8190.12,1426.7764" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osCondvar_t to urt_delay_t--><path d="M4887.19,1202.8984 C4814.01,1248.3654 4696.59,1313.3834 4584.47,1341.3594 C4502.29,1361.8654 3907.12,1359.5194 3822.47,1362.3594 C2692.01,1400.2834 1310.58,1460.1814 1019.78,1472.9254 " 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="1014.76,1473.1464,1023.9334,1476.7308,1019.7548,1472.9178,1023.5678,1468.7392,1014.76,1473.1464" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osCondvar_t to urt_condvarStatus_t--><path d="M4960.47,1203.1124 C4960.47,1264.0614 4960.47,1367.6934 4960.47,1427.9884 " 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="4960.47,1433.3274,4964.47,1424.3274,4960.47,1428.3274,4956.47,1424.3274,4960.47,1433.3274" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_delay_t--><path d="M4130.67,1202.8674 C4058.61,1247.9704 3943.45,1312.4194 3833.47,1341.3594 C3551.78,1415.4864 1394.17,1465.9304 1019.76,1474.1694 " 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="1014.65,1474.2824,1023.7282,1478.1016,1019.649,1474.1824,1023.5682,1470.1032,1014.65,1474.2824" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_status_t--><path d="M4132.27,1202.9574 C4060.49,1248.8144 3944.7,1314.4284 3833.47,1341.3594 C3754.18,1360.5584 970.741,1328.5894 896.473,1362.3594 C866.039,1376.1974 841.098,1404.3204 823.735,1429.0464 " 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="820.798,1433.3004,829.2038,1428.1679,823.6394,1429.1862,822.6211,1423.6217,820.798,1433.3004" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osTimer_t to urt_osTimerCallback_t--><path d="M4186.61,1203.1124 C4164.01,1268.4884 4124.42,1382.9704 4104.56,1440.4074 " 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="4102.82,1445.4484,4109.5472,1438.255,4104.4577,1440.7242,4101.9885,1435.6347,4102.82,1445.4484" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadPrio_t--><path d="M5745.47,1341.5514 C5745.47,1360.6244 5745.47,1379.1814 5745.47,1396.1014 " 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="5745.47,1401.2994,5749.47,1392.2994,5745.47,1396.2994,5741.47,1392.2994,5745.47,1401.2994" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadFunction_t--><path d="M5589.77,1341.5514 C5557.62,1380.2014 5527.24,1416.7274 5506.37,1441.8214 " 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="5503.1,1445.7494,5511.931,1441.389,5506.2978,1441.9057,5505.7811,1436.2725,5503.1,1445.7494" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osTime_t--><path d="M6025.78,1248.4364 C6148.23,1284.9654 6294.44,1322.5044 6429.47,1341.3594 C6538.48,1356.5804 8306.46,1326.3844 8410.47,1362.3594 C8452.98,1377.0614 8492.88,1409.3774 8520.35,1435.7004 " 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="8523.98,1439.2074,8520.287,1430.0771,8520.3842,1435.7331,8514.7282,1435.8303,8523.98,1439.2074" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadTerminateSignal_t--><path d="M6025.69,1298.1964 C6061.23,1318.7404 6096.62,1340.3884 6129.47,1362.3594 C6162.74,1384.6074 6197.68,1413.0374 6224.21,1435.8154 " 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="6228.06,1439.1334,6223.8448,1430.2322,6224.2692,1435.8731,6218.6283,1436.2975,6228.06,1439.1334" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_osThreadState_t--><path d="M5893.59,1341.5514 C5912.88,1365.9254 5931.5,1389.4544 5947.6,1409.8044 " 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="5950.79,1413.8314,5948.3507,1404.2894,5947.6909,1409.9076,5942.0727,1409.2479,5950.79,1413.8314" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osThread_t to urt_status_t--><path d="M5465.22,1294.6044 C5415.45,1313.9084 5363.27,1330.7334 5312.47,1341.3594 C5252.44,1353.9184 952.336,1337.0394 896.473,1362.3594 C866.023,1376.1614 841.081,1404.2834 823.723,1429.0194 " fill="none" id="urt_osThread_t-urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="820.787,1433.2744,829.1896,1428.1366,823.6258,1429.1584,822.604,1423.5946,820.787,1433.2744" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osEventListener_t to urt_osEventFlags_t--><path d="M7749.34,1519.4574 C7695.6,1554.7414 7620.56,1604.0014 7575.14,1633.8154 " 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="7570.84,1636.6394,7580.5591,1635.0461,7575.0204,1633.8963,7576.1702,1628.3575,7570.84,1636.6394" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_osEventSource_t to urt_osEventFlags_t--><path d="M7312.4,1513.4154 C7366.46,1548.9094 7447.72,1602.2504 7495.79,1633.8094 " 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="7500.05,1636.6064,7494.7198,1628.3245,7495.8696,1633.8633,7490.3309,1635.0131,7500.05,1636.6064" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventSource_t--><path d="M6871.11,1196.6544 C6957.79,1259.1854 7118.94,1375.4314 7203.11,1436.1424 " 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="7207.3,1439.1694,7202.3465,1430.6569,7203.2468,1436.2416,7197.6621,1437.1419,7207.3,1439.1694" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventListener_t--><path d="M6875.88,1196.5504 C6947.27,1241.5374 7068.35,1310.4664 7183.47,1341.3594 C7340.41,1383.4734 7390.27,1325.2724 7548.47,1362.3594 C7611.81,1377.2084 7679.2,1406.1404 7730.17,1431.0114 " 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="7734.74,1433.2514,7728.419,1425.6986,7730.2503,1431.0508,7724.8981,1432.8821,7734.74,1433.2514" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventMask_t--><path d="M6811.02,1196.6544 C6808.83,1260.7744 6804.69,1381.3734 6802.66,1440.6614 " 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="6802.48,1445.8584,6806.7869,1437.0011,6802.6518,1440.8613,6798.7916,1436.7262,6802.48,1445.8584" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_status_t--><path d="M6744.73,1196.5064 C6666.44,1242.5314 6532.09,1313.4104 6405.47,1341.3594 C6330.76,1357.8514 966.178,1330.8054 896.473,1362.3594 C866.016,1376.1464 841.074,1404.2694 823.718,1429.0084 " 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="820.782,1433.2644,829.1849,1428.1272,823.6211,1429.1486,822.5997,1423.5847,820.782,1433.2644" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_osEventWaitType_t--><path d="M6775.58,1196.6544 C6723.05,1256.8764 6627.06,1366.9174 6572.74,1429.1934 " 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="6569.22,1433.2254,6578.1488,1429.0689,6572.5052,1429.4561,6572.118,1423.8125,6569.22,1433.2254" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_events to urt_delay_t--><path d="M6744.71,1196.4074 C6666.4,1242.3404 6532.03,1313.1364 6405.47,1341.3594 C6335.44,1356.9764 3894.2,1360.6504 3822.47,1362.3594 C2691.7,1389.3034 1310.52,1457.7614 1019.77,1472.5254 " 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="1014.75,1472.7804,1023.9438,1476.3122,1019.7434,1472.5232,1023.5324,1468.3228,1014.75,1472.7804" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_debug to urt_config--><path d="M3445.03,275.0094 C3477.1,308.3794 3525.67,365.8594 3546.47,426.3594 C3610.81,613.4294 3674.61,713.4394 3555.47,871.3594 C3218.92,1317.4364 1354.83,1586.7914 895.684,1646.9696 " fill="none" id="urt_debug-urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="890.678,1647.6247,900.1208,1650.4234,895.6358,1646.9761,899.0831,1642.491,890.678,1647.6247" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_rtclass_t to urt_rtclasstype_t--><path d="M1565.11,582.9794 C1531.57,627.1994 1481.38,693.3694 1447.35,738.2394 " fill="none" id="urt_rtclass_t-urt_rtclasstype_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1573.05,572.5194,1566.239,574.8879,1565.8057,582.086,1572.6168,579.7175,1573.05,572.5194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1559.8461" y="592.0264">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1443.9737" y="727.2677">1</text><!--link urt_rtclass_t to urt_rtclassparams_t--><path d="M1600.47,585.5294 C1600.47,629.7094 1600.47,694.2294 1600.47,738.2394 " fill="none" id="urt_rtclass_t-urt_rtclassparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1600.47,572.5194,1596.47,578.5194,1600.47,584.5194,1604.47,578.5194,1600.47,572.5194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1591.8075" y="592.0264">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1591.9075" y="727.2677">1</text><!--link urt_rtclassparams_t to urt_hrtparams_t--><path d="M1541.58,845.9384 C1529.9,855.3364 1517.27,864.2974 1504.47,871.3594 C1493.89,877.2004 1487.36,871.1654 1478.47,879.3594 C1411.21,941.3594 1384.7,1050.3804 1374.85,1110.1764 " fill="none" id="urt_rtclassparams_t-urt_hrtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1551.59,837.6044,1544.4195,838.3686,1542.367,845.2814,1549.5375,844.5172,1551.59,837.6044" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1536.1538" y="857.7153">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1349.7949" y="1099.1433">0..1</text><!--link urt_rtclassparams_t to urt_frtparams_t--><path d="M1600.47,850.7554 C1600.47,919.9164 1600.47,1030.8584 1600.47,1097.1694 " fill="none" id="urt_rtclassparams_t-urt_frtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1600.47,837.5054,1596.47,843.5054,1600.47,849.5054,1604.47,843.5054,1600.47,837.5054" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1591.9075" y="857.6024">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1575.0075" y="1086.4807">0..1</text><!--link urt_rtclassparams_t to urt_srtparams_t--><path d="M1546.18,846.2804 C1533.52,856.4154 1519.35,865.5654 1504.47,871.3594 C1479.2,881.2024 1284.13,866.0794 1260.47,879.3594 C1167.32,931.6624 1114.3,1054.9564 1092.81,1116.3374 " fill="none" id="urt_rtclassparams_t-urt_srtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1556.44,837.5874,1549.2763,838.4126,1547.2827,845.3426,1554.4464,844.5174,1556.44,837.5874" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1550.8108" y="857.6959">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1068.6878" y="1105.2438">0..1</text><!--link urt_rtclassparams_t to urt_nrtparams_t--><path d="M1688.73,843.4504 C1701.34,854.1514 1713.16,866.1924 1722.47,879.3594 C1779.16,959.5244 1798.41,1078.9944 1804.22,1129.0144 " fill="none" id="urt_rtclassparams_t-urt_nrtparams_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1678.49,835.1604,1680.6405,842.0433,1687.8212,842.7055,1685.6706,835.8226,1678.49,835.1604" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1686.5638" y="836.141">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1776.7466" y="1118.3352">0..1</text><!--link urt_hrtparams_t to urt_delay_t--><path d="M1353.57,1196.5214 C1336.04,1238.0794 1304.27,1301.0484 1259.47,1341.3594 C1188.97,1404.8004 1083.37,1442.8004 1019.49,1461.3524 " 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="1014.58,1462.7634,1024.3359,1464.1133,1019.3843,1461.3781,1022.1194,1456.4264,1014.58,1462.7634" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_hrtparams_t to urt_osTimer_t--><path d="M1371.25,1096.8544 C1377.2,1018.7234 1401.28,886.0434 1495.97,875.3594 C1527.99,871.7464 3783.95,871.7464 3815.97,875.3594 C3967.36,892.4404 4101.31,1028.5824 4164.68,1103.8114 " fill="none" id="urt_hrtparams_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1370.37,1110.2994,1374.7557,1104.5752,1371.1586,1098.3253,1366.7729,1104.0495,1370.37,1110.2994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1371.1509" y="1099.2859">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4150.6627" y="1092.8499">1</text><!--link urt_frtparams_t to urt_delay_t--><path d="M1577.9,1209.5214 C1557.86,1251.7384 1524.56,1308.1844 1478.47,1341.3594 C1335.82,1444.0354 1120.68,1468.1004 1020.06,1473.6954 " 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="1014.76,1473.9774,1023.9639,1477.4829,1019.7526,1473.706,1023.5296,1469.4947,1014.76,1473.9774" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_frtparams_t to urt_osTimer_t--><path d="M1606.21,1084.0204 C1617.11,1005.0864 1648.67,885.6614 1739.97,875.3594 C1768.62,872.1264 3787.32,872.1264 3815.97,875.3594 C3967.36,892.4404 4101.31,1028.5824 4164.68,1103.8114 " fill="none" id="urt_frtparams_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1604.52,1097.2844,1609.2465,1091.8383,1606.0373,1085.3807,1601.3107,1090.8268,1604.52,1097.2844" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1605.5514" y="1086.2127">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4159.7877" y="1092.8499">1</text><!--link urt_frtparams_t to urt_osTimerCallback_t--><path d="M1625.53,1221.3644 C1645.1,1263.5574 1676.72,1314.8844 1722.47,1341.3594 C1914.86,1452.6954 3466.3,1471.5454 3949.4,1474.7204 " fill="none" id="urt_frtparams_t-urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1620.21,1209.4524,1619.0056,1216.5622,1625.1053,1220.4085,1626.3097,1213.2987,1620.21,1209.4524" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1614.1283" y="1229.2763">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3933.3571" y="1471.2965">1</text><!--link urt_srtparams_t to urt_delay_t--><path d="M1068.28,1190.5584 C1047.72,1246.9684 1007.92,1356.1604 984.019,1421.7314 " 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="982.184,1426.7654,989.0246,1419.6797,983.8965,1422.0678,981.5084,1416.9397,982.184,1426.7654" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_message_t to urt_message_t--><path d="M3532.04,755.1564 C3546.37,762.9374 3554.97,773.8374 3554.97,787.8594 C3554.97,805.4554 3541.43,818.1364 3520.01,825.9034 " fill="none" id="urt_message_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3520.01,749.8154,3523.8723,755.905,3530.9789,754.6819,3527.1166,748.5924,3520.01,749.8154" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3528.2591" y="745.2477">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3527.8043" y="823.9707">0..1</text><!--link urt_message_t to urt_osTime_t--><path d="M3533.34,790.1824 C4501.57,795.9324 8087.3,821.1244 8189.47,879.3594 C8412.92,1006.7244 8518.34,1330.4444 8548.24,1439.1394 " fill="none" id="urt_message_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3520.32,790.1054,3526.2979,794.1383,3532.3198,790.1713,3526.3419,786.1384,3520.32,790.1054" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3527.862" y="786.9981">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8537.8834" y="1428.2871">1</text><!--link urt_message_t to urt_osMutex_t--><path d="M3533.48,789.5424 C4488.78,792.7524 7985.7,809.2764 8076.47,879.3594 C8249.21,1012.7284 8253.64,1309.3464 8248.06,1426.4494 " fill="none" id="urt_message_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3520.29,789.4984,3526.2768,793.5181,3532.2899,789.5379,3526.3032,785.5182,3520.29,789.4984" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3527.831" y="801.8633">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8240.0049" y="1415.796">1</text><!--link urt_message_t to urt_osCondvar_t--><path d="M3533.27,789.9754 C3851.9,794.1394 4397.65,811.3704 4584.47,879.3594 C4718.27,928.0514 4846.3,1039.3704 4912.92,1103.8154 " fill="none" id="urt_message_t-urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3520.15,789.8094,3526.1012,793.8816,3532.1491,789.9544,3526.1979,785.8822,3520.15,789.8094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3527.6864" y="786.6924">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4897.6708" y="1092.8544">1</text><!--link urt_subscriber_t to urt_subscriber_t--><path d="M3251.39,214.6194 C3265.77,222.5994 3273.97,232.5094 3273.97,244.3594 C3273.97,259.2294 3261.06,271.0494 3239.21,279.8194 " fill="none" id="urt_subscriber_t-urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3239.21,208.8994,3242.9404,215.0706,3250.0717,214.0007,3246.3413,207.8295,3239.21,208.8994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3246.5962" y="205.2284">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3246.7337" y="277.3674">0..1</text><!--link urt_subscriber_t to urt_topic_t--><path d="M3011.85,373.2294 C3040.93,390.9394 3070.82,408.9994 3099.75,426.3094 " fill="none" id="urt_subscriber_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3000.74,366.4594,3003.779,372.9988,3010.9843,372.7088,3007.9453,366.1693,3000.74,366.4594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3003.908" y="386.4257">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3066.5643" y="418.0877">0..1</text><!--link urt_topic_t to urt_subscriber_t--><path d="M3113.99,419.4094 C3085.56,401.9994 3055.87,383.9894 3026.69,366.4594 " fill="none" id="urt_topic_t-urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3125.24,426.3094,3122.217,419.7625,3115.0111,420.0349,3118.034,426.5818,3125.24,426.3094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3105.341" y="415.1698">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="3015.9823" y="386.4257">0..*</text><!--link urt_subscriber_t to urt_osEventListener_t--><path d="M3252.15,363.1394 C3259.63,364.2894 3267.08,365.3594 3274.47,366.3594 C3350.2,376.5494 8721.74,372.0394 8775.47,426.3594 C9059.64,713.6494 8859.28,1042.3284 8385.47,1341.3594 C8325.02,1379.5124 8133.84,1345.0774 8064.47,1362.3594 C8002.45,1377.8114 7936.72,1407.9624 7888.09,1433.2354 " fill="none" id="urt_subscriber_t-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3239.08,361.0694,3244.3771,365.9623,3250.931,362.9545,3245.6339,358.0616,3239.08,361.0694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3246.4639" y="360.0139">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7891.3451" y="1422.2117">1</text><!--link urt_subscriber_t to urt_rtclass_t--><path d="M2375.09,365.5194 C2373.55,365.7994 2372.01,366.0794 2370.47,366.3594 C2223.79,392.7694 1836.56,361.2894 1702.47,426.3594 C1669.76,442.2394 1642.14,473.3894 1623.92,498.1694 " fill="none" id="urt_subscriber_t-urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2387.93,363.1194,2381.2945,360.2963,2376.1364,365.3356,2382.772,368.1587,2387.93,363.1194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2372.5473" y="377.3569">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1619.3845" y="487.3225">1</text><!--link urt_subscriber_t to urt_message_t--><path d="M3251.94,360.6094 C3259.51,362.5394 3267.02,364.4594 3274.47,366.3594 C3382.27,393.8094 3448.88,338.7794 3517.47,426.3594 C3577.21,502.6394 3564.02,559.3794 3517.47,644.3594 C3504.84,667.4294 3486.7,687.3094 3466.15,704.2694 " fill="none" id="urt_subscriber_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3239.16,357.3294,3243.9851,362.6884,3250.7876,360.2956,3245.9626,354.9366,3239.16,357.3294" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3246.3145" y="373.7268">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3456.3715" y="693.2187">0..1</text><!--link urt_subscriber_t to urt_osTime_t--><path d="M3252.15,363.1394 C3259.63,364.2894 3267.08,365.3694 3274.47,366.3594 C3431.79,387.4994 8863.63,328.3394 8988.47,426.3594 C9189.44,584.1494 9139.93,1236.6104 9059.47,1341.3594 C9014.21,1400.2884 8819.3,1438.8674 8686.09,1458.8824 " fill="none" id="urt_subscriber_t-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3239.08,361.0794,3244.3816,365.9674,3250.9327,362.9536,3245.6311,358.0656,3239.08,361.0794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3246.4639" y="375.2818">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8694.1715" y="1454.4432">1</text><!--link urt_subscriber_t to urt_delay_t--><path d="M2374.76,365.6894 C2373.33,365.9094 2371.9,366.1394 2370.47,366.3594 C2289.92,378.8394 960.92,367.5594 904.473,426.3594 C631.932,710.2794 861.387,1260.7104 940.278,1426.7754 " fill="none" id="urt_subscriber_t-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2387.7,363.5694,2381.1326,360.5912,2375.8576,365.5079,2382.425,368.4861,2387.7,363.5694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2372.3133" y="362.5568">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="928.3131" y="1415.8088">2</text><!--link urt_subscriber_t to urt_status_t--><path d="M2387.7,363.5894 C2381.93,364.5594 2376.19,365.4794 2370.47,366.3594 C2283.37,379.7194 853.409,370.2394 785.473,426.3594 C469.887,687.0494 537.516,957.7984 680.473,1341.3594 C682.507,1346.8184 722.75,1392.7354 755.271,1429.3184 " 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="758.792,1433.2784,755.7992,1423.8952,755.4689,1429.5424,749.8217,1429.2121,758.792,1433.2784" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_subscriber_t to urt_topicid_t--><path d="M2387.71,363.6194 C2381.93,364.5794 2376.19,365.4894 2370.47,366.3594 C2273.25,381.0794 672.566,358.4194 601.473,426.3594 C307.236,707.5294 482.926,942.8374 565.473,1341.3594 C569.573,1361.1534 576.746,1381.6184 584.68,1400.4144 " 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="586.712,1405.1564,586.8426,1395.3084,584.7421,1400.5608,579.4896,1398.4603,586.712,1405.1564" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_topic_t--><path d="M2166.02,312.9494 C2230.31,333.1194 2302.82,353.3094 2370.47,366.3594 C2677.5,425.5994 2770.25,342.4194 3071.47,426.3594 C3080.35,428.8394 3089.31,431.6694 3098.26,434.7794 " fill="none" id="urt_publisher_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2153.28,308.9194,2157.7957,314.5415,2164.7222,312.5355,2160.2065,306.9134,2153.28,308.9194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2164.5092" y="328.8845">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3082.5955" y="443.2039">1</text><!--link urt_publisher_t to urt_message_t--><path d="M2153.8,308.9394 C2221.04,330.3494 2298.51,352.3394 2370.47,366.3594 C2517.85,395.0694 2933.18,324.4794 3043.47,426.3594 C3115.66,493.0394 3026.97,561.9294 3080.47,644.3594 C3094.31,665.6794 3112.59,684.5694 3132.64,701.0494 " 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="3136.67,704.3194,3132.1879,695.5495,3132.7824,701.175,3127.1569,701.7696,3136.67,704.3194" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_osTime_t--><path d="M2143.43,308.8594 C2212.8,331.6894 2294.45,354.6694 2370.47,366.3594 C2458.4,379.8794 8712.86,363.1594 8775.47,426.3594 C8885.8,537.7194 9020.14,798.5884 8731.47,1341.3594 C8709.88,1381.9564 8670.02,1414.0414 8633.89,1436.6254 " 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="8629.5,1439.3324,8639.2591,1438.0061,8633.754,1436.7049,8635.0552,1431.1997,8629.5,1439.3324" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_delay_t--><path d="M1796.82,309.0094 C1728.82,330.9094 1649.88,353.1994 1576.47,366.3594 C1464.83,386.3694 635.279,343.8394 557.473,426.3594 C379.276,615.3594 326.705,1002.3484 699.473,1341.3594 C732.043,1370.9804 859.351,1338.6894 896.473,1362.3594 C918.281,1376.2654 934.084,1399.9024 944.934,1421.9734 " 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="947.175,1426.6554,946.8976,1416.8104,945.0164,1422.1453,939.6815,1420.2642,947.175,1426.6554" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_publisher_t to urt_status_t--><path d="M1797.85,308.9494 C1729.63,330.9794 1650.28,353.3794 1576.47,366.3594 C1451,388.4294 522.108,336.8294 431.473,426.3594 C339.809,516.8994 386.181,1304.8974 420.473,1341.3594 C462.462,1386.0054 640.522,1335.2154 695.473,1362.3594 C725.244,1377.0654 750.208,1404.7334 767.868,1429.0094 " 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="770.86,1433.1854,768.8723,1423.5392,767.9489,1429.1202,762.368,1428.1969,770.86,1433.1854" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_topic_t to urt_topic_t--><path d="M3494.52,500.9194 C3508.78,508.7794 3517.47,520.2594 3517.47,535.3594 C3517.47,554.3094 3503.78,567.5594 3482.58,575.1094 " fill="none" id="urt_topic_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3482.58,495.6094,3486.4431,501.6984,3493.5495,500.4745,3489.6865,494.3854,3482.58,495.6094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3490.2405" y="490.8242">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3490.553" y="573.4296">0..1</text><!--link urt_topic_t to urt_osMutex_t--><path d="M3495.9,538.9394 C4465.66,551.6194 8542.44,610.4194 8633.47,704.3594 C8731.98,806.0154 8728.74,1236.6574 8633.47,1341.3594 C8600.12,1378.0114 8458.11,1345.6194 8411.47,1362.3594 C8371.28,1376.7874 8331.46,1403.1264 8300.8,1426.7484 " fill="none" id="urt_topic_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3482.54,538.7694,3488.4867,542.8481,3494.539,538.9276,3488.5922,534.8488,3482.54,538.7694" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3490.199" y="535.6701">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8309.2839" y="1415.778">1</text><!--link urt_topic_t to urt_osEventSource_t--><path d="M3495.88,539.2194 C4441.47,552.8494 8333.38,614.3694 8420.47,704.3594 C8518.92,806.0794 8519.36,1240.0664 8420.47,1341.3594 C8386.62,1376.0344 7595.99,1352.8634 7548.47,1362.3594 C7470.88,1377.8654 7387.14,1412.4384 7329.51,1439.2874 " fill="none" id="urt_topic_t-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3482.85,539.0294,3488.7923,543.1147,3494.8488,539.2008,3488.9065,535.1155,3482.85,539.0294" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3490.5211" y="551.5262">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7343.5299" y="1428.1846">1</text><!--link urt_topic_t to urt_osTimer_t--><path d="M3479.72,651.2394 C3585.07,716.3494 3717.89,800.3644 3833.47,879.3594 C3943.7,954.6954 4067.83,1048.1184 4140.64,1103.8394 " fill="none" id="urt_topic_t-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3468.64,644.3994,3471.6432,650.9554,3478.8499,650.7047,3475.8467,644.1487,3468.64,644.3994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3473.4306" y="665.0126">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4123.242" y="1092.8818">1</text><!--link urt_topic_t to urt_message_t--><path d="M3279.66,657.5994 C3279.87,673.3394 3280.35,689.1794 3281.08,704.0894 " fill="none" id="urt_topic_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3279.56,644.4094,3275.6129,650.4443,3279.6655,656.4089,3283.6126,650.374,3279.56,644.4094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3270.465" y="665.0234">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="3255.941" y="693.3081">1..*</text><!--link urt_topic_t to urt_message_t--><path d="M3305.9,657.5994 C3306.2,673.3394 3306.22,689.1794 3305.94,704.0894 " fill="none" id="urt_topic_t-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3305.58,644.4094,3301.7262,650.5043,3305.87,656.4059,3309.7238,650.3109,3305.58,644.4094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3298.3959" y="665.0234">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3298.582" y="693.3081">1</text><!--link urt_topic_t to urt_topicid_t--><path d="M3085.93,632.7994 C3071.75,637.2994 3057.52,641.2294 3043.47,644.3594 C2918,672.2894 832.083,625.6294 730.473,704.3594 C516.561,870.1084 571.833,1248.3094 606.052,1405.1724 " fill="none" id="urt_topic_t-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3098.36,628.6994,3091.409,626.7803,3086.964,632.4585,3093.915,634.3776,3098.36,628.6994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3082.6995" y="629.113">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="595.843" y="1394.1505">1</text><!--link urt_topic_t to urt_osTime_t--><path d="M3482.59,538.7094 C4433.75,550.7694 8596.98,608.9494 8689.47,704.3594 C8890.78,912.0274 8665.78,1307.7814 8584.46,1434.9424 " 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="8581.63,1439.3524,8589.8545,1433.9341,8584.3283,1435.143,8583.1194,1429.6168,8581.63,1439.3524" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_topic_t to urt_status_t--><path d="M3098.35,628.6594 C3080.1,634.8894 3061.63,640.2994 3043.47,644.3594 C2811.45,696.2694 1122.15,608.7194 904.473,704.3594 C805.197,747.9764 775.242,778.8814 734.473,879.3594 C657.272,1069.6274 690.329,1140.8274 734.473,1341.3594 C741.191,1371.8784 755.571,1403.7194 768.792,1428.7014 " 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="771.245,1433.2844,770.5239,1423.4619,768.8852,1428.8763,763.4709,1427.2376,771.245,1433.2844" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_topic_t--><path d="M1469.38,330.9794 C1503.99,345.2594 1540.79,358.0894 1576.47,366.3594 C2212.18,513.6594 2407.6,279.7994 3043.47,426.3594 C3061.6,430.5394 3080.05,436.0194 3098.3,442.3094 " fill="none" id="urt_core_t-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1457.23,325.8794,1461.2092,331.8932,1468.2909,330.5331,1464.3117,324.5193,1457.23,325.8794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1463.2204" y="346.1478">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="3067.3441" y="451.0281">0..*</text><!--link urt_core_t to urt_node_t--><path d="M1480.28,330.9594 C1511.86,344.0694 1544.78,356.4994 1576.47,366.3594 C1579.35,367.2594 1786.53,406.8194 1999.11,447.3194 " fill="none" id="urt_core_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1468.24,325.8994,1472.2192,331.9132,1479.3009,330.5531,1475.3217,324.5393,1468.24,325.8994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1483.9829" y="346.1696">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1935.8173" y="436.1795">0..*</text><!--link urt_core_t to urt_osEventSource_t--><path d="M1468.98,331.1194 C1503.7,345.4294 1540.64,358.2394 1576.47,366.3594 C1997.35,461.6694 3086.34,407.6194 3517.47,426.3594 C4069.04,450.3394 8093.48,308.6594 8478.47,704.3594 C8570.39,798.8354 8692.98,1127.0974 8483.47,1341.3594 C8447.15,1378.5094 7599.43,1352.2194 7548.47,1362.3594 C7470.87,1377.8024 7387.13,1412.3844 7329.5,1439.2524 " fill="none" id="urt_core_t-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1456.8,326.0094,1460.7792,332.0232,1467.8609,330.6631,1463.8817,324.6493,1456.8,326.0094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1471.4882" y="346.2897">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7333.6178" y="1428.4203">1</text><!--link urt_core_t to urt_osMutex_t--><path d="M1467.55,331.0694 C1502.66,345.5594 1540.11,358.4494 1576.47,366.3594 C2349.64,534.4494 8149.29,126.2294 8689.47,704.3594 C8734.13,752.1584 8793.47,1235.8444 8695.47,1341.3594 C8673.94,1364.5434 8441.36,1351.9764 8411.47,1362.3594 C8370.96,1376.4314 8330.98,1402.9104 8300.3,1426.7004 " fill="none" id="urt_core_t-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1455.23,325.8794,1459.2092,331.8932,1466.2909,330.5331,1462.3117,324.5193,1455.23,325.8794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1461.036" y="346.1478">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8299.5886" y="1415.7232">1</text><!--link urt_core_t to urt_status_t--><path d="M1043.92,250.6894 C753.62,262.7794 308.247,301.7394 202.473,426.3594 C69.3192,583.2394 183.006,1213.8114 344.473,1341.3594 C405.789,1389.7954 625.132,1328.3304 695.473,1362.3594 C725.476,1376.8744 750.516,1404.6914 768.159,1429.0934 " 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="771.146,1433.2914,769.1881,1423.6391,768.2475,1429.2172,762.6694,1428.2767,771.146,1433.2914" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_nodestage_t--><path d="M1043.78,247.9794 C737.103,257.2094 252.001,293.1294 137.473,426.3594 C65.3944,510.2094 122.615,1296.3724 153.473,1341.3594 C207.839,1420.6184 319.412,1453.2524 393.59,1466.5144 " fill="none" id="urt_core_t-urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="398.865,1467.4364,390.6871,1461.9481,393.9395,1466.5764,389.3111,1469.8288,398.865,1467.4364" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_core_t to urt_topicid_t--><path d="M1043.7,265.1194 C699.065,294.1894 123.848,353.0694 60.4726,426.3594 C-17.5393,516.5794 -29.7541,1172.2224 153.473,1341.3594 C186.012,1371.3964 513.222,1340.0454 551.473,1362.3594 C567.176,1371.5204 580.001,1385.6194 590.243,1400.7874 " 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="593.063,1405.0904,591.4774,1395.37,590.3232,1400.9078,584.7854,1399.7536,593.063,1405.0904" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeSetupCallback_t to urt_node_t--><path d="M2183.28,757.3074 C2217.89,725.3294 2279.62,672.7494 2335.73,626.9094 " 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="2339.75,623.6194,2330.253,626.2284,2335.8821,626.7879,2335.3226,632.417,2339.75,623.6194" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_nodeSetupCallback_t--><path d="M2354.9,632.1594 C2302.58,676.7194 2241.55,726.5394 2200.95,757.3074 " fill="none" id="urt_node_t-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2364.9,623.6194,2357.7404,624.4794,2355.7805,631.4191,2362.9402,630.559,2364.9,623.6194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2348.9856" y="643.62">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2201.805" y="746.0863">1</text><!--link urt_nodeSetupCallback_t to urt_status_t--><path d="M2081.32,818.4414 C2028.35,837.6864 1955.23,861.0564 1888.47,871.3594 C1874.1,873.5774 852.098,869.4304 841.473,879.3594 C687.393,1023.3434 749.589,1314.3304 781.779,1428.1784 " 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="783.194,1433.1374,784.5722,1423.3854,781.8227,1428.3291,776.879,1425.5796,783.194,1433.1374" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeLoopCallback_t to urt_node_t--><path d="M2686.04,757.3074 C2647.96,725.3894 2590.2,672.9594 2542.06,627.1794 " 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="2538.31,623.6194,2542.0856,632.7158,2541.9371,627.0609,2547.592,626.9124,2538.31,623.6194" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_nodeLoopCallback_t--><path d="M2573.2,632.4394 C2622.18,676.9294 2674.36,726.6094 2703.71,757.3074 " fill="none" id="urt_node_t-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2563.46,623.6194,2565.2239,630.6114,2572.3566,631.6724,2570.5926,624.6804,2563.46,623.6194" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2563.9889" y="643.62">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2689.8563" y="746.0863">1</text><!--link urt_nodeLoopCallback_t to urt_osEventMask_t--><path d="M2813.4,818.3644 C2875.11,837.7094 2960.35,861.2284 3037.47,871.3594 C3051.79,873.2404 7187.27,869.1354 7197.47,879.3594 C7342.53,1024.6914 7335.94,1189.7364 7197.47,1341.3594 C7162.71,1379.4214 7014.97,1344.8994 6966.47,1362.3594 C6917.55,1379.9744 6869.39,1415.6564 6837.85,1442.2364 " 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="6833.7,1445.7594,6843.1462,1442.972,6837.5075,1442.5186,6837.961,1436.88,6833.7,1445.7594" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_nodeLoopCallback_t to urt_status_t--><path d="M2635.16,818.3844 C2570.65,837.6714 2481.74,861.1134 2401.47,871.3594 C2391.16,872.6754 912.434,872.6744 904.473,879.3594 C893.838,888.2884 827.192,1288.4514 804.234,1427.9754 " 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="803.37,1433.2264,808.7778,1424.995,804.1816,1428.2927,800.8839,1423.6965,803.37,1433.2264" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urt_node_t to urt_node_t--><path d="M3020.89,512.0694 C3035.36,518.5294 3043.47,526.2894 3043.47,535.3594 C3043.47,546.7394 3030.7,556.0694 3008.62,563.3394 " fill="none" id="urt_node_t-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3008.62,507.3794,3012.8018,513.2541,3019.833,511.6535,3015.6512,505.7788,3008.62,507.3794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3016.4409" y="503.9479">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3016.5534" y="560.6949">0..1</text><!--link urt_node_t to urt_osThread_t--><path d="M2953.56,625.4594 C2996.43,632.2094 3039.18,638.6194 3080.47,644.3594 C4068.45,781.7134 4370.02,552.6294 5312.47,879.3594 C5373.45,900.5004 5434.68,931.6174 5491.11,965.3484 " fill="none" id="urt_node_t-urt_osThread_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2940.56,623.3994,2945.8616,628.2874,2952.4127,625.2736,2947.1111,620.3856,2940.56,623.3994" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2972.3175" y="643.3817">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5472.2104" y="954.1675">1</text><!--link urt_node_t to urt_nodestage_t--><path d="M2022.63,625.5394 C1977.46,632.8194 1932.13,639.2994 1888.47,644.3594 C1811.03,653.3294 541.133,648.7694 486.473,704.3594 C300.002,893.9964 390.849,1253.4954 440.937,1405.1124 " fill="none" id="urt_node_t-urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2035.68,623.4094,2029.1159,620.4241,2023.8355,625.3351,2030.3997,628.3204,2035.68,623.4094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1992.5021" y="643.3926">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="429.8911" y="1394.0843">1</text><!--link urt_node_t to urt_osEventMask_t--><path d="M2922.61,625.3094 C2975.69,632.9694 3029.15,639.6094 3080.47,644.3594 C4082.06,737.0894 6610.77,561.6994 7606.47,704.3594 C7893.71,745.5134 8059.93,648.3094 8235.47,879.3594 C8359.69,1042.8564 8379.46,1194.9704 8235.47,1341.3594 C8210.75,1366.4934 7000.06,1351.6544 6966.47,1362.3594 C6914.21,1379.0164 6863.6,1418.1564 6832.52,1445.6824 " fill="none" id="urt_node_t-urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2909.48,623.3894,2914.8413,628.2119,2921.3549,625.1178,2915.9936,620.2953,2909.48,623.3894" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2938.6636" y="643.3709">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6830.0991" y="1434.9091">1</text><!--link urt_node_t to urt_osEventWaitType_t--><path d="M2923.4,625.3194 C2976.22,632.9594 3029.4,639.5794 3080.47,644.3594 C4822.84,807.4114 5273.64,557.7994 7017.47,704.3594 C7527.84,747.2514 7822.95,490.6794 8156.47,879.3594 C8290.19,1035.1874 8300.66,1195.1674 8156.47,1341.3594 C8126.82,1371.4234 6675.02,1345.1284 6636.47,1362.3594 C6603.61,1377.0474 6576.49,1407.6684 6558.19,1433.3334 " fill="none" id="urt_node_t-urt_osEventWaitType_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2910.34,623.4094,2915.7013,628.2319,2922.2149,625.1378,2916.8536,620.3153,2910.34,623.4094" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2948.2574" y="643.3926">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6553.6516" y="1422.3253">1</text><!--link urt_node_t to urt_osEventListener_t--><path d="M2922.21,625.2994 C2975.42,632.9794 3029.02,639.6194 3080.47,644.3594 C3618.57,693.9294 7417.03,582.4394 7943.47,704.3594 C8120.3,745.3134 8215.45,725.9594 8312.47,879.3594 C8422.23,1052.8934 8451.4,1190.1654 8312.47,1341.3594 C8293.76,1361.7224 8091.24,1355.4174 8064.47,1362.3594 C8002.83,1378.3444 7937.36,1408.3044 7888.74,1433.3594 " fill="none" id="urt_node_t-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2909.06,623.3794,2914.4168,628.2069,2920.9333,625.1189,2915.5765,620.2914,2909.06,623.3794" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2938.2089" y="643.3601">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7901.3737" y="1422.3554">1</text><!--link urt_node_t to urt_osThreadTerminateSignal_t--><path d="M2916.37,623.3894 C2971.51,631.6194 3027.15,638.9094 3080.47,644.3594 C3356.89,672.6094 7885.54,677.4894 8076.47,879.3594 C8217.57,1028.5354 8220.74,1195.2444 8076.47,1341.3594 C8044.33,1373.9174 6473.01,1348.2994 6429.47,1362.3594 C6384.07,1377.0224 6340.26,1409.3424 6309.84,1435.6764 " 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="6305.82,1439.1854,6315.2313,1436.2823,6309.5875,1435.8981,6309.9717,1430.2543,6305.82,1439.1854" 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="2234px" preserveAspectRatio="none" style="width:11883px;height:2234px;" version="1.1" viewBox="0 0 11883 2234" width="11883px" zoomAndPan="magnify"><defs><filter height="300%" id="f1f8akzzk460ac" 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="5872" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="87" x="5873" y="37.6611">Overview</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="5919.5" y="58.6143"/><!--MD5=[915f6a2b4bff9d90dc7327d570275f1b]
2
cluster Configuration--><polygon fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" points="10177,1962.8594,10187,1952.8594,10483,1952.8594,10483,2212.8594,10473,2222.8594,10177,2222.8594,10177,1962.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10473" x2="10482" y1="1962.8594" y2="1953.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10177" x2="10473" y1="1962.8594" y2="1962.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10473" x2="10473" y1="1962.8594" y2="2222.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="107" x="10272.5" y="1978.8545">Configuration</text><!--MD5=[1cb8ced355c85ab51f1ab55883ed8585]
3
cluster Primitives--><polygon fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" points="9730,1744.8594,9740,1734.8594,11153,1734.8594,11153,1922.8594,11143,1932.8594,9730,1932.8594,9730,1744.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="11143" x2="11152" y1="1744.8594" y2="1735.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9730" x2="11143" y1="1744.8594" y2="1744.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="11143" x2="11143" y1="1744.8594" y2="1932.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="10399" y="1760.8545">Primitives</text><!--MD5=[ba9da179b6f0b3bb0ea21772c5f4ec75]
4
cluster OSAL--><polygon fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" points="4279,1319.8594,4289,1309.8594,9577,1309.8594,9577,2129.8594,9567,2139.8594,4279,2139.8594,4279,1319.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9567" x2="9576" y1="1319.8594" y2="1310.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4279" x2="9567" y1="1319.8594" y2="1319.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9567" x2="9567" y1="1319.8594" y2="2139.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="42" x="6903" y="1335.8545">OSAL</text><!--MD5=[2e45f233f6bb64aa81ebe67fb6de8946]
5
cluster condition variable--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="435.5" style="stroke: #000000; stroke-width: 1.5;" width="726" x="4524" y="1461.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="4817" y="1476.3545">condition variable</text><!--MD5=[c7113df1f710ca294cbd01734aa00974]
6
cluster timer--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="429.5" style="stroke: #000000; stroke-width: 1.5;" width="798" x="6063" y="1454.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="6441.5" y="1469.8545">timer</text><!--MD5=[107bb3f79455a18bd83c75ada1ac7979]
7
cluster thread--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="587" style="stroke: #000000; stroke-width: 1.5;" width="1039" x="6869" y="1341.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="7362.5" y="1356.8545">thread</text><!--MD5=[8d74b40516bd265adb19f202ab81f40d]
8
cluster events--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="664" style="stroke: #000000; stroke-width: 1.5;" width="1642" x="7927" y="1467.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="8721" y="1482.8545">events</text><!--MD5=[4e1a3510868d06a507f098bb08f0dae0]
9
cluster Middleware--><polygon fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" points="14,88.8594,24,78.8594,4271,78.8594,4271,1906.3594,4261,1916.3594,14,1916.3594,14,88.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4261" x2="4270" y1="88.8594" y2="79.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14" x2="4261" y1="88.8594" y2="88.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4261" x2="4261" y1="88.8594" y2="1916.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="91" x="2093" y="104.8545">Middleware</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
10
cluster node--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="457.5" style="stroke: #000000; stroke-width: 1.5;" width="1138" x="2465" y="340.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="3014" y="355.8545">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
11
cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" points="22,390.8594,32,380.8594,2457,380.8594,2457,1898.3594,2447,1908.3594,22,1908.3594,22,390.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="2447" x2="2456" y1="390.8594" y2="381.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="22" x2="2447" y1="390.8594" y2="390.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="2447" x2="2447" y1="390.8594" y2="1908.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="1133" y="406.8545">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
12
cluster subscriber--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="1323.5" style="stroke: #000000; stroke-width: 1.5;" width="1214" x="30" y="576.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="594.5" y="591.8545">subscriber</text><!--MD5=[94ad99421f5a0f525bc1c13a3777c25e]
13
cluster real-time constraint data--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="897" style="stroke: #000000; stroke-width: 1.5;" width="1198" x="38" y="995.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="194" x="540" y="1010.3545">real-time constraint data</text><!--MD5=[57c3116dbac3d3a2ea35fece1cdc00f4]
14
cluster SRT data--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="410.5" style="stroke: #000000; stroke-width: 1.5;" width="390" x="46" y="1473.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="206.5" y="1488.8545">SRT data</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
15
cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" points="3611,390.8594,3621,380.8594,4263,380.8594,4263,1095.8594,4253,1105.8594,3611,1105.8594,3611,390.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4253" x2="4262" y1="390.8594" y2="381.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="3611" x2="4253" y1="390.8594" y2="390.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="4253" x2="4253" y1="390.8594" y2="1105.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="3811" y="406.8545">Remote Procedure Call System</text><!--MD5=[7579d5565d2521d5936cec86ed3dadee]
16
cluster service--><rect fill="#FFFFFF" filter="url(#f1f8akzzk460ac)" height="476" style="stroke: #000000; stroke-width: 1.5;" width="636" x="3619" y="621.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="58" x="3908" y="636.8545">service</text><!--MD5=[e443ac33c80100c2d54e1f5fe669f6d7]
17
class urt_config--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="230.4609" id="urt_config" style="stroke: #A80036; stroke-width: 1.5;" width="290" x="10185" y="1984.8594"/><ellipse cx="10294.75" cy="2000.8594" fill="#BFBFBF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10297.7188,2006.5 Q10297.1406,2006.7969 10296.5,2006.9375 Q10295.8594,2007.0938 10295.1563,2007.0938 Q10292.6563,2007.0938 10291.3281,2005.4531 Q10290.0156,2003.7969 10290.0156,2000.6719 Q10290.0156,1997.5469 10291.3281,1995.8906 Q10292.6563,1994.2344 10295.1563,1994.2344 Q10295.8594,1994.2344 10296.5,1994.3906 Q10297.1563,1994.5469 10297.7188,1994.8438 L10297.7188,1997.5625 Q10297.0938,1996.9844 10296.5,1996.7188 Q10295.9063,1996.4375 10295.2813,1996.4375 Q10293.9375,1996.4375 10293.25,1997.5156 Q10292.5625,1998.5781 10292.5625,2000.6719 Q10292.5625,2002.7656 10293.25,2003.8438 Q10293.9375,2004.9063 10295.2813,2004.9063 Q10295.9063,2004.9063 10296.5,2004.6406 Q10297.0938,2004.3594 10297.7188,2003.7813 L10297.7188,2006.5 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="10315.25" y="2005.0137">urt_config</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10186" x2="10474" y1="2016.8594" y2="2016.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="159" x="10191" y="2031.0698">URT_CFG_DELAY_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="10191" y="2043.8745">URT_CFG_TOPICID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="10191" y="2056.6792">URT_CFG_SERVICEID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="10191" y="2069.4839">URT_CFG_NODESTAGE_WIDTH : int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10186" x2="10474" y1="2076.0781" y2="2076.0781"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="10191" y="2090.2886">URT_CFG_DEBUG_ENABLED : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10186" x2="10474" y1="2096.8828" y2="2096.8828"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="10191" y="2111.0933">URT_CFG_PUBSUB_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="10191" y="2123.8979">URT_CFG_PUBSUB_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="10191" y="2136.7026">URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="252" x="10191" y="2149.5073">URT_CFG_PUBSUB_QOS_RATECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="10191" y="2162.312">URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10186" x2="10474" y1="2168.9063" y2="2168.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="10191" y="2183.1167">URT_CFG_RPC_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="10191" y="2195.9214">URT_CFG_RPC_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="10191" y="2208.7261">URT_CFG_RPC_QOS_JITTERCHECKS : bool</text><!--MD5=[9f69b6f4e23017059189983d6906a1eb]
18
class urt_nodestage_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="158.4375" id="urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="10929" y="1766.8594"/><ellipse cx="10981.25" cy="1782.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10982.0938,1789.6094 L10979.6406,1789.6094 L10979.6406,1779.3594 L10976.5,1779.3594 L10976.5,1777.2188 L10985.2344,1777.2188 L10985.2344,1779.3594 L10982.0938,1779.3594 L10982.0938,1789.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="11001.75" y="1787.0137">urt_nodestage_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10930" x2="11144" y1="1798.8594" y2="1798.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="10935" y="1829.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10930" x2="10936.5" y1="1813.2617" y2="1813.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="10936.5" y="1816.5698">URT_CFG_NODESTAGE_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="11137.5" x2="11144" y1="1813.2617" y2="1813.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10935" y="1859.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10930" x2="10933" y1="1842.8711" y2="1842.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="10933" y="1846.1792">URT_CFG_NODESTAGE_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="11141" x2="11144" y1="1842.8711" y2="1842.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10935" y="1889.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10930" x2="10933" y1="1872.4805" y2="1872.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="10933" y="1875.7886">URT_CFG_NODESTAGE_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="11141" x2="11144" y1="1872.4805" y2="1872.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10935" y="1918.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10930" x2="10933" y1="1902.0898" y2="1902.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="10933" y="1905.3979">URT_CFG_NODESTAGE_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="11141" x2="11144" y1="1902.0898" y2="1902.0898"/><!--MD5=[a55671f9c3a4eb2d749fd774fc81a82b]
19
class urt_topicid_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="158.4375" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="10234.5" y="1766.8594"/><ellipse cx="10287.25" cy="1782.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10288.0938,1789.6094 L10285.6406,1789.6094 L10285.6406,1779.3594 L10282.5,1779.3594 L10282.5,1777.2188 L10291.2344,1777.2188 L10291.2344,1779.3594 L10288.0938,1779.3594 L10288.0938,1789.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="10307.75" y="1787.0137">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10235.5" x2="10424.5" y1="1798.8594" y2="1798.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="10240.5" y="1829.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10235.5" x2="10242" y1="1813.2617" y2="1813.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="10242" y="1816.5698">URT_CFG_TOPICID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10418" x2="10424.5" y1="1813.2617" y2="1813.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10240.5" y="1859.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10235.5" x2="10238.5" y1="1842.8711" y2="1842.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="10238.5" y="1846.1792">URT_CFG_TOPICID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10421.5" x2="10424.5" y1="1842.8711" y2="1842.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10240.5" y="1889.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10235.5" x2="10238.5" y1="1872.4805" y2="1872.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="10238.5" y="1875.7886">URT_CFG_TOPICID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10421.5" x2="10424.5" y1="1872.4805" y2="1872.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10240.5" y="1918.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10235.5" x2="10238.5" y1="1902.0898" y2="1902.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="10238.5" y="1905.3979">URT_CFG_TOPICID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10421.5" x2="10424.5" y1="1902.0898" y2="1902.0898"/><!--MD5=[4d8326c7af3a397210cbde406c7c860c]
20
class urt_serviceid_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="158.4375" id="urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.5;" width="204" x="10690" y="1766.8594"/><ellipse cx="10742.75" cy="1782.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10743.5938,1789.6094 L10741.1406,1789.6094 L10741.1406,1779.3594 L10738,1779.3594 L10738,1777.2188 L10746.7344,1777.2188 L10746.7344,1779.3594 L10743.5938,1779.3594 L10743.5938,1789.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="10763.25" y="1787.0137">urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10691" x2="10893" y1="1798.8594" y2="1798.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="10696" y="1829.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10691" x2="10697.5" y1="1813.2617" y2="1813.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="10697.5" y="1816.5698">URT_CFG_SERVICEID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10886.5" x2="10893" y1="1813.2617" y2="1813.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10696" y="1859.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10691" x2="10694" y1="1842.8711" y2="1842.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="10694" y="1846.1792">URT_CFG_SERVICEID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10890" x2="10893" y1="1842.8711" y2="1842.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10696" y="1889.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10691" x2="10694" y1="1872.4805" y2="1872.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="10694" y="1875.7886">URT_CFG_SERVICEID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10890" x2="10893" y1="1872.4805" y2="1872.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10696" y="1918.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10691" x2="10694" y1="1902.0898" y2="1902.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="10694" y="1905.3979">URT_CFG_SERVICEID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10890" x2="10893" y1="1902.0898" y2="1902.0898"/><!--MD5=[e750dab3ce4ebe0433cc930181355272]
21
class urt_status_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="10461" y="1802.8594"/><ellipse cx="10516.25" cy="1818.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10517.0938,1825.6094 L10514.6406,1825.6094 L10514.6406,1815.3594 L10511.5,1815.3594 L10511.5,1813.2188 L10520.2344,1813.2188 L10520.2344,1815.3594 L10517.0938,1815.3594 L10517.0938,1825.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="10536.75" y="1823.0137">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10462" x2="10654" y1="1834.8594" y2="1834.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="10467" y="1849.0698">URT_STATUS_OK = 0x0..0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="10467" y="1861.8745">URT_STATUS_WARNING = 0x4..0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="168" x="10467" y="1874.6792">URT_STATUS_ERROR = 0x8..0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10462" x2="10654" y1="1881.2734" y2="1881.2734"/><!--MD5=[15452fea434e71f16c7de0feaca2b066]
22
class urt_delay_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="10018.5" y="1796.3594"/><ellipse cx="10070.75" cy="1812.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10071.5938,1819.1094 L10069.1406,1819.1094 L10069.1406,1808.8594 L10066,1808.8594 L10066,1806.7188 L10074.7344,1806.7188 L10074.7344,1808.8594 L10071.5938,1808.8594 L10071.5938,1819.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="10091.25" y="1816.5137">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10019.5" x2="10198.5" y1="1828.3594" y2="1828.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10024.5" y="1859.3745">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10019.5" x2="10022.5" y1="1842.7617" y2="1842.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="10022.5" y="1846.0698">URT_CFG_DELAY_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10195.5" x2="10198.5" y1="1842.7617" y2="1842.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="10024.5" y="1888.9839">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10019.5" x2="10022.5" y1="1872.3711" y2="1872.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="10022.5" y="1875.6792">URT_CFG_DELAY_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10195.5" x2="10198.5" y1="1872.3711" y2="1872.3711"/><!--MD5=[f106a25c06a671b3918b1a8f37571a4d]
23
class urt_debug--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_debug" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="9738.5" y="1815.3594"/><ellipse cx="9824.75" cy="1831.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9828.9844,1827.125 L9823.7031,1827.125 L9823.7031,1829.7969 L9828.5,1829.7969 L9828.5,1831.9531 L9823.7031,1831.9531 L9823.7031,1837.3594 L9821.2656,1837.3594 L9821.2656,1824.9688 L9828.9844,1824.9688 L9828.9844,1827.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="9845.25" y="1835.5137">urt_debug</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9739.5" x2="9982.5" y1="1847.3594" y2="1847.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9739.5" x2="9982.5" y1="1855.3594" y2="1855.3594"/><ellipse cx="9749.5" cy="1866.3594" 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="9758.5" y="1869.5698">urtDebugAssert(condition : bool) : void</text><!--MD5=[3677786d1f00795918091b0110bfa4af]
24
class urt_osTime_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="425" x="5277.5" y="1494.8594"/><ellipse cx="5446.25" cy="1510.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5447.0938,1517.6094 L5444.6406,1517.6094 L5444.6406,1507.3594 L5441.5,1507.3594 L5441.5,1505.2188 L5450.2344,1505.2188 L5450.2344,1507.3594 L5447.0938,1507.3594 L5447.0938,1517.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="5466.75" y="1515.0137">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5278.5" x2="5701.5" y1="1526.8594" y2="1526.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5278.5" x2="5701.5" y1="1534.8594" y2="1534.8594"/><ellipse cx="5288.5" cy="1545.8594" 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="5297.5" y="1549.0698">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="5288.5" cy="1558.6641" 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="5297.5" y="1561.8745">urtTimeNow (void) : urt_osTime_t</text><ellipse cx="5288.5" cy="1571.4688" 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="399" x="5297.5" y="1574.6792">urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*</text><!--MD5=[532279a7a1cac9af7f32856ca2ae6b9b]
25
class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="298" x="5738" y="1488.3594"/><ellipse cx="5839.25" cy="1504.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5840.0938,1511.1094 L5837.6406,1511.1094 L5837.6406,1500.8594 L5834.5,1500.8594 L5834.5,1498.7188 L5843.2344,1498.7188 L5843.2344,1500.8594 L5840.0938,1500.8594 L5840.0938,1511.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="5859.75" y="1508.5137">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5739" x2="6035" y1="1520.3594" y2="1520.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5739" x2="6035" y1="1528.3594" y2="1528.3594"/><ellipse cx="5749" cy="1539.3594" 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="245" x="5758" y="1542.5698">urtMutexInit (mutex : urt_osMutex_t*) : void</text><ellipse cx="5749" cy="1552.1641" 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="253" x="5758" y="1555.3745">urtMutexLock (mutex : urt_osMutex_t*) : void</text><ellipse cx="5749" cy="1564.9688" 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="272" x="5758" y="1568.1792">urtMutexTryLock (mutex : urt_osMutex_t*) : bool</text><ellipse cx="5749" cy="1577.7734" 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="265" x="5758" y="1580.9839">urtMutexUnlock (mutex : urt_osMutex_t*) : void</text><!--MD5=[0cf29100c96c506429a28b45d347cc92]
26
class urt_streams--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="73.6094" id="urt_streams" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="4287.5" y="1500.8594"/><ellipse cx="4350.25" cy="1516.8594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4354.4844,1512.625 L4349.2031,1512.625 L4349.2031,1515.2969 L4354,1515.2969 L4354,1517.4531 L4349.2031,1517.4531 L4349.2031,1522.8594 L4346.7656,1522.8594 L4346.7656,1510.4688 L4354.4844,1510.4688 L4354.4844,1512.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="4370.75" y="1521.0137">urt_streams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4288.5" x2="4495.5" y1="1532.8594" y2="1532.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4288.5" x2="4495.5" y1="1540.8594" y2="1540.8594"/><ellipse cx="4298.5" cy="1551.8594" 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="4307.5" y="1555.0698">urtPrintf(fmt : char*, ... ) : int</text><ellipse cx="4298.5" cy="1564.6641" 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="4307.5" y="1567.8745">urtErrPrintf(fmt : char*, ... ) : int</text><!--MD5=[52fa11869cb40c93fa7702378ddd839e]
27
class urt_osCondvarWaitStatus_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="4752" y="1802.8594"/><ellipse cx="4798.25" cy="1818.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4802.3594,1824.8594 L4794.6406,1824.8594 L4794.6406,1812.4688 L4802.3594,1812.4688 L4802.3594,1814.625 L4797.0938,1814.625 L4797.0938,1817.2969 L4801.8594,1817.2969 L4801.8594,1819.4531 L4797.0938,1819.4531 L4797.0938,1822.7031 L4802.3594,1822.7031 L4802.3594,1824.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="169" x="4818.75" y="1823.0137">urt_osCondvarWaitStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4753" x2="5021" y1="1834.8594" y2="1834.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="4758" y="1849.0698">URT_CONDVAR_WAITSTATUS_SIGNAL = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="4758" y="1861.8745">URT_CONDVAR_WAITSTATUS_BROADCAST = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="4758" y="1874.6792">URT_CONDVAR_WAITSTATUS_TIMEOUT = 0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4753" x2="5021" y1="1881.2734" y2="1881.2734"/><!--MD5=[004fc5dee471033e8e4138c1c73f0692]
28
class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="710" x="4532" y="1488.3594"/><ellipse cx="4832.25" cy="1504.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4833.0938,1511.1094 L4830.6406,1511.1094 L4830.6406,1500.8594 L4827.5,1500.8594 L4827.5,1498.7188 L4836.2344,1498.7188 L4836.2344,1500.8594 L4833.0938,1500.8594 L4833.0938,1511.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="4852.75" y="1508.5137">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4533" x2="5241" y1="1520.3594" y2="1520.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4533" x2="5241" y1="1528.3594" y2="1528.3594"/><ellipse cx="4543" cy="1539.3594" 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="4552" y="1542.5698">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4543" cy="1552.1641" 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="301" x="4552" y="1555.3745">urtCondvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4543" cy="1564.9688" 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="4552" y="1568.1792">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="4543" cy="1577.7734" 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="684" x="4552" y="1580.9839">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t</text><!--MD5=[93799a03260ba286abda700174f4f205]
29
class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="6319" y="1815.3594"/><ellipse cx="6389.75" cy="1831.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6390.5938,1838.1094 L6388.1406,1838.1094 L6388.1406,1827.8594 L6385,1827.8594 L6385,1825.7188 L6393.7344,1825.7188 L6393.7344,1827.8594 L6390.5938,1827.8594 L6390.5938,1838.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="6410.25" y="1835.5137">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6320" x2="6604" y1="1847.3594" y2="1847.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6320" x2="6604" y1="1855.3594" y2="1855.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="6325" y="1869.5698">urt_osTimerCallback_t (parameter : void*) : void</text><!--MD5=[0b340d7b925b1eab6a1b7e084f68a7c2]
30
class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="112.0234" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="782" x="6071" y="1481.8594"/><ellipse cx="6415.75" cy="1497.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6416.5938,1504.6094 L6414.1406,1504.6094 L6414.1406,1494.3594 L6411,1494.3594 L6411,1492.2188 L6419.7344,1492.2188 L6419.7344,1494.3594 L6416.5938,1494.3594 L6416.5938,1504.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="6436.25" y="1502.0137">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6072" x2="6852" y1="1513.8594" y2="1513.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6072" x2="6852" y1="1521.8594" y2="1521.8594"/><ellipse cx="6082" cy="1532.8594" 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="6091" y="1536.0698">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="6082" cy="1545.6641" 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="6091" y="1548.8745">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="6082" cy="1558.4688" 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="756" x="6091" y="1561.6792">urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="6082" cy="1571.2734" 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="6091" y="1574.4839">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="6082" cy="1584.0781" 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="6091" y="1587.2886">urtTimerIsArmed (timer : urt_osTimer_t*) : bool</text><!--MD5=[86c16d91227b9a9ec3b6b9b0285de4e9]
31
class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="150.4375" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="7138.5" y="1770.8594"/><ellipse cx="7174.65" cy="1786.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7175.4938,1793.6094 L7173.0406,1793.6094 L7173.0406,1783.3594 L7169.9,1783.3594 L7169.9,1781.2188 L7178.6344,1781.2188 L7178.6344,1783.3594 L7175.4938,1783.3594 L7175.4938,1793.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="7193.35" y="1791.0137">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7139.5" x2="7334.5" y1="1802.8594" y2="1802.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="7144.5" y="1817.0698">URT_THREAD_PRIO_LOW_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="7144.5" y="1829.8745">URT_THREAD_PRIO_LOW_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="7144.5" y="1842.6792">URT_THREAD_PRIO_NORMAL_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="7144.5" y="1855.4839">URT_THREAD_PRIO_NORMAL_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="164" x="7144.5" y="1868.2886">URT_THREAD_PRIO_HIGH_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="7144.5" y="1881.0933">URT_THREAD_PRIO_HIGH_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="7144.5" y="1893.8979">URT_THREAD_PRIO_RT_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="7144.5" y="1906.7026">URT_THREAD_PRIO_RT_MAX</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7139.5" x2="7334.5" y1="1913.2969" y2="1913.2969"/><!--MD5=[69d8aab9aa387a2f5052ea3da80e80ea]
32
class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="7648" y="1815.3594"/><ellipse cx="7695.75" cy="1831.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7696.5938,1838.1094 L7694.1406,1838.1094 L7694.1406,1827.8594 L7691,1827.8594 L7691,1825.7188 L7699.7344,1825.7188 L7699.7344,1827.8594 L7696.5938,1827.8594 L7696.5938,1838.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="7716.25" y="1835.5137">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7649" x2="7899" y1="1847.3594" y2="1847.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7649" x2="7899" y1="1855.3594" y2="1855.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="7654" y="1869.5698">urt_osThreadFunction_t (arg : void*) : void</text><!--MD5=[ab5f611d45c3fa10609c33f780d8c3e1]
33
class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="7371" y="1808.8594"/><ellipse cx="7392.75" cy="1824.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7396.8594,1830.8594 L7389.1406,1830.8594 L7389.1406,1818.4688 L7396.8594,1818.4688 L7396.8594,1820.625 L7391.5938,1820.625 L7391.5938,1823.2969 L7396.3594,1823.2969 L7396.3594,1825.4531 L7391.5938,1825.4531 L7391.5938,1828.7031 L7396.8594,1828.7031 L7396.8594,1830.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="7408.25" y="1829.0137">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7372" x2="7612" y1="1840.8594" y2="1840.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="7377" y="1855.0698">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="7377" y="1867.8745">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7372" x2="7612" y1="1874.4688" y2="1874.4688"/><!--MD5=[47d14ad2c233fae1b32b8d0a283e820a]
34
class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="137.6328" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="6877" y="1776.8594"/><ellipse cx="6921.75" cy="1792.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6925.8594,1798.8594 L6918.1406,1798.8594 L6918.1406,1786.4688 L6925.8594,1786.4688 L6925.8594,1788.625 L6920.5938,1788.625 L6920.5938,1791.2969 L6925.3594,1791.2969 L6925.3594,1793.4531 L6920.5938,1793.4531 L6920.5938,1796.7031 L6925.8594,1796.7031 L6925.8594,1798.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="6942.25" y="1797.0137">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6878" x2="7102" y1="1808.8594" y2="1808.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="6883" y="1823.0698">URT_THREAD_STATE_INACTIVE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="6883" y="1835.8745">URT_THREAD_STATE_RUNNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="6883" y="1848.6792">URT_THREAD_STATE_READY = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="6883" y="1861.4839">URT_THREAD_STATE_SLEEPING = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="6883" y="1874.2886">URT_THREAD_STATE_SUSPENDED = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="6883" y="1887.0933">URT_THREAD_STATE_WAITING = 5</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="6883" y="1899.8979">URT_THREAD_STATE_TERMINATED = 6</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6878" x2="7102" y1="1906.4922" y2="1906.4922"/><!--MD5=[0a16224ede9ffa9bb2d34e085a076e6d]
35
class urt_osThread_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="337.7031" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="560" x="7084" y="1368.8594"/><ellipse cx="7312.75" cy="1384.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7313.5938,1391.6094 L7311.1406,1391.6094 L7311.1406,1381.3594 L7308,1381.3594 L7308,1379.2188 L7316.7344,1379.2188 L7316.7344,1381.3594 L7313.5938,1381.3594 L7313.5938,1391.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="7333.25" y="1389.0137">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7085" x2="7643" y1="1400.8594" y2="1400.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="7090" y="1415.0698">URT_THREAD_SLEEP_MAX : float</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="7090" y="1427.8745">URT_THREAD_SSLEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="7090" y="1440.6792">URT_THREAD_MSLEEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="224" x="7090" y="1453.4839">URT_THREAD_USLEEP_MAX : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="7085" x2="7643" y1="1460.0781" y2="1460.0781"/><ellipse cx="7095" cy="1471.0781" 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="248" x="7104" y="1474.2886">URT_THREAD_MEMORY (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7085" x2="7643" y1="1480.8828" y2="1480.8828"/><ellipse cx="7095" cy="1491.8828" 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="534" x="7104" y="1495.0933">urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*</text><ellipse cx="7095" cy="1504.6875" 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="7104" y="1507.8979">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="7095" cy="1517.4922" 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="7104" y="1520.7026">urtThreadYield (void) : void</text><ellipse cx="7095" cy="1530.2969" 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="7104" y="1533.5073">urtThreadGetPriority (void) : urt_osThreadPrio_t</text><ellipse cx="7095" cy="1543.1016" 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="304" x="7104" y="1546.312">urtThreadSetPriority (prio : urt_osThreadPrio_t) : void</text><ellipse cx="7095" cy="1555.9063" 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="7104" y="1559.1167">urtThreadSuspend (thread : urt_osThread_t*) : void</text><ellipse cx="7095" cy="1568.7109" 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="7104" y="1571.9214">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="7095" cy="1581.5156" 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="7104" y="1584.7261">urtThreadSleep (seconds : float) : void</text><ellipse cx="7095" cy="1594.3203" 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="265" x="7104" y="1597.5308">urtThreadSSleep (seconds : urt_delay_t) : void</text><ellipse cx="7095" cy="1607.125" 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="289" x="7104" y="1610.3354">urtThreadMSleep (milliseconds : urt_delay_t) : void</text><ellipse cx="7095" cy="1619.9297" 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="7104" y="1623.1401">urtThreadUSleep (microseconds : urt_delay_t) : void</text><ellipse cx="7095" cy="1632.7344" 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="7104" y="1635.9448">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="7095" cy="1645.5391" 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="7104" y="1648.7495">urtThreadExit (void) : void</text><ellipse cx="7095" cy="1658.3438" 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="7104" y="1661.5542">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="7095" cy="1671.1484" 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="7104" y="1674.3589">urtThreadJoin (thread : urt_osThread_t*) : void</text><ellipse cx="7095" cy="1683.9531" 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="7104" y="1687.1636">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="7095" cy="1696.7578" 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="237" x="7104" y="1699.9683">urtThreadGetSelf (void) : urt_osThread_t*</text><!--MD5=[0a4e0f34d8da0ad3ed6ecf72f02e09c8]
36
class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="8169" y="1815.3594"/><ellipse cx="8246.25" cy="1831.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8247.0938,1838.1094 L8244.6406,1838.1094 L8244.6406,1827.8594 L8241.5,1827.8594 L8241.5,1825.7188 L8250.2344,1825.7188 L8250.2344,1827.8594 L8247.0938,1827.8594 L8247.0938,1838.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="8266.75" y="1835.5137">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8170" x2="8448" y1="1847.3594" y2="1847.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="268" x="8175" y="1861.5698">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8170" x2="8448" y1="1868.1641" y2="1868.1641"/><!--MD5=[dc1cc33af288560680c15dec1e56eda0]
37
class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="8656" y="2075.8594"/><ellipse cx="8671" cy="2091.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8671.8438,2098.6094 L8669.3906,2098.6094 L8669.3906,2088.3594 L8666.25,2088.3594 L8666.25,2086.2188 L8674.9844,2086.2188 L8674.9844,2088.3594 L8671.8438,2088.3594 L8671.8438,2098.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="8685" y="2096.0137">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8657" x2="8805" y1="2107.8594" y2="2107.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8657" x2="8805" y1="2115.8594" y2="2115.8594"/><!--MD5=[e2bbbd64e6979bf7b755747a6c0ba948]
38
class urt_osEventWait_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="7972" y="1802.8594"/><ellipse cx="7995.1" cy="1818.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7999.2094,1824.8594 L7991.4906,1824.8594 L7991.4906,1812.4688 L7999.2094,1812.4688 L7999.2094,1814.625 L7993.9438,1814.625 L7993.9438,1817.2969 L7998.7094,1817.2969 L7998.7094,1819.4531 L7993.9438,1819.4531 L7993.9438,1822.7031 L7999.2094,1822.7031 L7999.2094,1824.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="8010.9" y="1823.0137">urt_osEventWait_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7973" x2="8133" y1="1834.8594" y2="1834.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="7978" y="1849.0698">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="7978" y="1861.8745">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="7978" y="1874.6792">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7973" x2="8133" y1="1881.2734" y2="1881.2734"/><!--MD5=[d054ac2eda12ce4b1fe5a18c9be716c1]
39
class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="8484" y="1802.8594"/><ellipse cx="8659.25" cy="1818.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8660.0938,1825.6094 L8657.6406,1825.6094 L8657.6406,1815.3594 L8654.5,1815.3594 L8654.5,1813.2188 L8663.2344,1813.2188 L8663.2344,1815.3594 L8660.0938,1815.3594 L8660.0938,1825.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="8679.75" y="1823.0137">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8485" x2="8977" y1="1834.8594" y2="1834.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8485" x2="8977" y1="1842.8594" y2="1842.8594"/><ellipse cx="8495" cy="1853.8594" 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="8504" y="1857.0698">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="8495" cy="1866.6641" 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="8504" y="1869.8745">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="8495" cy="1879.4688" 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="8504" y="1882.6792">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--MD5=[4d6906f8b977dc26629fa492460e6327]
40
class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="9013.5" y="1808.8594"/><ellipse cx="9218.25" cy="1824.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9219.0938,1831.6094 L9216.6406,1831.6094 L9216.6406,1821.3594 L9213.5,1821.3594 L9213.5,1819.2188 L9222.2344,1819.2188 L9222.2344,1821.3594 L9219.0938,1821.3594 L9219.0938,1831.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="9238.75" y="1829.0137">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9014.5" x2="9559.5" y1="1840.8594" y2="1840.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9014.5" x2="9559.5" y1="1848.8594" y2="1848.8594"/><ellipse cx="9024.5" cy="1859.8594" 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="9033.5" y="1863.0698">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="9024.5" cy="1872.6641" 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="9033.5" y="1875.8745">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--MD5=[04a3b5a37031e2a4d723f19d8adf86f5]
41
class urt_events--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="890" x="8286" y="1494.8594"/><ellipse cx="8693.75" cy="1510.8594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8697.9844,1506.625 L8692.7031,1506.625 L8692.7031,1509.2969 L8697.5,1509.2969 L8697.5,1511.4531 L8692.7031,1511.4531 L8692.7031,1516.8594 L8690.2656,1516.8594 L8690.2656,1504.4688 L8697.9844,1504.4688 L8697.9844,1506.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="8714.25" y="1515.0137">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8287" x2="9175" y1="1526.8594" y2="1526.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8287" x2="9175" y1="1534.8594" y2="1534.8594"/><ellipse cx="8297" cy="1545.8594" 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="864" x="8306" y="1549.0698">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t</text><ellipse cx="8297" cy="1558.6641" 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="8306" y="1561.8745">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text><ellipse cx="8297" cy="1571.4688" 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="618" x="8306" y="1574.6792">urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWait_t, timeout : urt_delay_t) : urt_osEventMask_t</text><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
42
class urt_core_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="196.8516" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="515" x="3747.5" y="110.8594"/><ellipse cx="3969.25" cy="126.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3968.7344,127.4219 Q3966.875,126.7188 3966.2188,125.9531 Q3965.5781,125.1719 3965.5781,123.8594 Q3965.5781,122.1719 3966.6563,121.2031 Q3967.7344,120.2344 3969.6094,120.2344 Q3970.4688,120.2344 3971.3125,120.4375 Q3972.1719,120.625 3973.0156,121.0156 L3973.0156,123.4063 Q3972.2344,122.8438 3971.4063,122.5625 Q3970.5938,122.2656 3969.7969,122.2656 Q3968.9219,122.2656 3968.4375,122.625 Q3967.9688,122.9844 3967.9688,123.6406 Q3967.9688,124.1563 3968.3125,124.5 Q3968.6563,124.8281 3969.75,125.2344 L3970.8125,125.6406 Q3972.2969,126.1875 3973,127.0938 Q3973.7188,128 3973.7188,129.375 Q3973.7188,131.25 3972.6094,132.1719 Q3971.5,133.0938 3969.25,133.0938 Q3968.3281,133.0938 3967.4063,132.875 Q3966.4844,132.6563 3965.625,132.2344 L3965.625,129.7031 Q3966.5938,130.3906 3967.5156,130.7344 Q3968.4375,131.0781 3969.3281,131.0781 Q3970.2344,131.0781 3970.7344,130.6719 Q3971.2344,130.25 3971.2344,129.5156 Q3971.2344,128.9531 3970.8906,128.5469 Q3970.5625,128.125 3969.9375,127.875 L3968.7344,127.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="3989.75" y="131.0137">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3748.5" x2="4261.5" y1="142.8594" y2="142.8594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="3755.5" y="150.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="3767.5" y="157.0698">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="3755.5" y="163.6641"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="3767.5" y="169.8745">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="3755.5" y="176.4688"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="3767.5" y="182.6792">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="3755.5" y="206.0781"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="134" x="3767.5" y="212.2886">_pubsub : urt_pubsub_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3748.5" x2="3900" y1="195.6758" y2="195.6758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="3900" y="198.9839">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4110" x2="4261.5" y1="195.6758" y2="195.6758"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="3755.5" y="235.6875"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="86" x="3767.5" y="241.8979">_rpc : urt_rpc_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3748.5" x2="3912.5" y1="225.2852" y2="225.2852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="3912.5" y="228.5933">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4097.5" x2="4261.5" y1="225.2852" y2="225.2852"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3748.5" x2="4261.5" y1="248.4922" y2="248.4922"/><ellipse cx="3758.5" cy="259.4922" 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="3767.5" y="262.7026">urtCoreInit (void) : urt_status_t</text><ellipse cx="3758.5" cy="272.2969" 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="3767.5" y="275.5073">urtCoreStartNodes (void) : urt_status_t</text><ellipse cx="3758.5" cy="285.1016" 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="489" x="3767.5" y="288.312">urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodestage_t) : urt_status_t</text><ellipse cx="3758.5" cy="297.9063" 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="3767.5" y="301.1167">urtCoreStopNodes (void) : urt_status_t</text><!--MD5=[a7dea26996a1231aa68629b332780450]
43
class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="2487" y="729.3594"/><ellipse cx="2632.75" cy="745.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2633.5938,752.1094 L2631.1406,752.1094 L2631.1406,741.8594 L2628,741.8594 L2628,739.7188 L2636.7344,739.7188 L2636.7344,741.8594 L2633.5938,741.8594 L2633.5938,752.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="2653.25" y="749.5137">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2488" x2="2942" y1="761.3594" y2="761.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2488" x2="2942" y1="769.3594" y2="769.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="2493" y="783.5698">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
44
class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="2978" y="729.3594"/><ellipse cx="3206.25" cy="745.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3207.0938,752.1094 L3204.6406,752.1094 L3204.6406,741.8594 L3201.5,741.8594 L3201.5,739.7188 L3210.2344,739.7188 L3210.2344,741.8594 L3207.0938,741.8594 L3207.0938,752.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="3226.75" y="749.5137">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2979" x2="3591" y1="761.3594" y2="761.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2979" x2="3591" y1="769.3594" y2="769.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="2984" y="783.5698">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[d2563153d77472384a15c07b815d639f]
45
class urt_node_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="176.0469" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1104" x="2473" y="367.8594"/><ellipse cx="2987.25" cy="383.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2986.7344,384.4219 Q2984.875,383.7188 2984.2188,382.9531 Q2983.5781,382.1719 2983.5781,380.8594 Q2983.5781,379.1719 2984.6563,378.2031 Q2985.7344,377.2344 2987.6094,377.2344 Q2988.4688,377.2344 2989.3125,377.4375 Q2990.1719,377.625 2991.0156,378.0156 L2991.0156,380.4063 Q2990.2344,379.8438 2989.4063,379.5625 Q2988.5938,379.2656 2987.7969,379.2656 Q2986.9219,379.2656 2986.4375,379.625 Q2985.9688,379.9844 2985.9688,380.6406 Q2985.9688,381.1563 2986.3125,381.5 Q2986.6563,381.8281 2987.75,382.2344 L2988.8125,382.6406 Q2990.2969,383.1875 2991,384.0938 Q2991.7188,385 2991.7188,386.375 Q2991.7188,388.25 2990.6094,389.1719 Q2989.5,390.0938 2987.25,390.0938 Q2986.3281,390.0938 2985.4063,389.875 Q2984.4844,389.6563 2983.625,389.2344 L2983.625,386.7031 Q2984.5938,387.3906 2985.5156,387.7344 Q2986.4375,388.0781 2987.3281,388.0781 Q2988.2344,388.0781 2988.7344,387.6719 Q2989.2344,387.25 2989.2344,386.5156 Q2989.2344,385.9531 2988.8906,385.5469 Q2988.5625,385.125 2987.9375,384.875 L2986.7344,384.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="3007.75" y="388.0137">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2474" x2="3576" y1="399.8594" y2="399.8594"/><ellipse cx="2484" cy="410.8594" 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="2493" y="414.0698">next : urt_node_t*</text><ellipse cx="2484" cy="423.6641" 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="2493" y="426.8745">thread : urt_osThread_t*</text><ellipse cx="2484" cy="436.4688" 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="2493" y="439.6792">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="2484" cy="449.2734" 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="2493" y="452.4839">setupparams : void*</text><ellipse cx="2484" cy="462.0781" 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="2493" y="465.2886">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="2484" cy="474.8828" 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="2493" y="478.0933">loopparams : void*</text><ellipse cx="2484" cy="487.6875" 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="2493" y="490.8979">stage : urt_nodestage_t</text><ellipse cx="2484" cy="500.4922" 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="2493" y="503.7026">listener : urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2474" x2="3576" y1="510.2969" y2="510.2969"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2481" y="518.2969"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="2493" y="524.5073">_main : urt_osThreadFunction_t</text><ellipse cx="2484" cy="534.1016" 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="2493" y="537.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><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
46
class urt_message_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="167.2422" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="1980.5" y="975.8594"/><ellipse cx="2155.75" cy="991.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2155.2344,992.4219 Q2153.375,991.7188 2152.7188,990.9531 Q2152.0781,990.1719 2152.0781,988.8594 Q2152.0781,987.1719 2153.1563,986.2031 Q2154.2344,985.2344 2156.1094,985.2344 Q2156.9688,985.2344 2157.8125,985.4375 Q2158.6719,985.625 2159.5156,986.0156 L2159.5156,988.4063 Q2158.7344,987.8438 2157.9063,987.5625 Q2157.0938,987.2656 2156.2969,987.2656 Q2155.4219,987.2656 2154.9375,987.625 Q2154.4688,987.9844 2154.4688,988.6406 Q2154.4688,989.1563 2154.8125,989.5 Q2155.1563,989.8281 2156.25,990.2344 L2157.3125,990.6406 Q2158.7969,991.1875 2159.5,992.0938 Q2160.2188,993 2160.2188,994.375 Q2160.2188,996.25 2159.1094,997.1719 Q2158,998.0938 2155.75,998.0938 Q2154.8281,998.0938 2153.9063,997.875 Q2152.9844,997.6563 2152.125,997.2344 L2152.125,994.7031 Q2153.0938,995.3906 2154.0156,995.7344 Q2154.9375,996.0781 2155.8281,996.0781 Q2156.7344,996.0781 2157.2344,995.6719 Q2157.7344,995.25 2157.7344,994.5156 Q2157.7344,993.9531 2157.3906,993.5469 Q2157.0625,993.125 2156.4375,992.875 L2155.2344,992.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="2176.25" y="996.0137">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1981.5" x2="2430.5" y1="1007.8594" y2="1007.8594"/><ellipse cx="1991.5" cy="1018.8594" 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="2000.5" y="1022.0698">next : urt_message_t*</text><ellipse cx="1991.5" cy="1031.6641" 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="2000.5" y="1034.8745">payload : void*</text><ellipse cx="1991.5" cy="1044.4688" 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="2000.5" y="1047.6792">originTime : urt_osTime_t</text><ellipse cx="1991.5" cy="1057.2734" 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="2000.5" y="1060.4839">lock : urt_osMutex_t</text><ellipse cx="1991.5" cy="1070.0781" 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="2000.5" y="1073.2886">numHrtConsumersLeft : unsigned int</text><ellipse cx="1991.5" cy="1082.8828" 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="2000.5" y="1086.0933">hrtConsumersLeft : urt_osCondvar_t</text><ellipse cx="1991.5" cy="1112.4922" 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="2000.5" y="1115.7026">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1981.5" x2="2097.5" y1="1099.0898" y2="1099.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2097.5" y="1102.3979">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2314.5" x2="2430.5" y1="1099.0898" y2="1099.0898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1981.5" x2="2430.5" y1="1122.2969" y2="1122.2969"/><ellipse cx="1991.5" cy="1133.2969" 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="2000.5" y="1136.5073">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
47
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="1689.5" y="695.3594"/><ellipse cx="2018.25" cy="711.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2017.7344,711.9219 Q2015.875,711.2188 2015.2188,710.4531 Q2014.5781,709.6719 2014.5781,708.3594 Q2014.5781,706.6719 2015.6563,705.7031 Q2016.7344,704.7344 2018.6094,704.7344 Q2019.4688,704.7344 2020.3125,704.9375 Q2021.1719,705.125 2022.0156,705.5156 L2022.0156,707.9063 Q2021.2344,707.3438 2020.4063,707.0625 Q2019.5938,706.7656 2018.7969,706.7656 Q2017.9219,706.7656 2017.4375,707.125 Q2016.9688,707.4844 2016.9688,708.1406 Q2016.9688,708.6563 2017.3125,709 Q2017.6563,709.3281 2018.75,709.7344 L2019.8125,710.1406 Q2021.2969,710.6875 2022,711.5938 Q2022.7188,712.5 2022.7188,713.875 Q2022.7188,715.75 2021.6094,716.6719 Q2020.5,717.5938 2018.25,717.5938 Q2017.3281,717.5938 2016.4063,717.375 Q2015.4844,717.1563 2014.625,716.7344 L2014.625,714.2031 Q2015.5938,714.8906 2016.5156,715.2344 Q2017.4375,715.5781 2018.3281,715.5781 Q2019.2344,715.5781 2019.7344,715.1719 Q2020.2344,714.75 2020.2344,714.0156 Q2020.2344,713.4531 2019.8906,713.0469 Q2019.5625,712.625 2018.9375,712.375 L2017.7344,711.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="2038.75" y="715.5137">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1690.5" x2="2447.5" y1="727.3594" y2="727.3594"/><ellipse cx="1700.5" cy="738.3594" 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="1709.5" y="741.5698">topic : urt_topic_t*</text><ellipse cx="1700.5" cy="767.9688" 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="1709.5" y="771.1792">publishAttempts : uint64_t</text><ellipse cx="1700.5" cy="780.7734" 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="124" x="1709.5" y="783.9839">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1690.5" x2="1987" y1="754.5664" y2="754.5664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="164" x="1987" y="757.8745">URT_CFG_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2151" x2="2447.5" y1="754.5664" y2="754.5664"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1690.5" x2="2447.5" y1="790.5781" y2="790.5781"/><ellipse cx="1700.5" cy="801.5781" 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="1709.5" y="804.7886">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1700.5" cy="814.3828" 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="1709.5" y="817.5933">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
48
class urt_topic_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="235.2656" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="1252" y="642.3594"/><ellipse cx="1406.75" cy="658.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1406.2344,658.9219 Q1404.375,658.2188 1403.7188,657.4531 Q1403.0781,656.6719 1403.0781,655.3594 Q1403.0781,653.6719 1404.1563,652.7031 Q1405.2344,651.7344 1407.1094,651.7344 Q1407.9688,651.7344 1408.8125,651.9375 Q1409.6719,652.125 1410.5156,652.5156 L1410.5156,654.9063 Q1409.7344,654.3438 1408.9063,654.0625 Q1408.0938,653.7656 1407.2969,653.7656 Q1406.4219,653.7656 1405.9375,654.125 Q1405.4688,654.4844 1405.4688,655.1406 Q1405.4688,655.6563 1405.8125,656 Q1406.1563,656.3281 1407.25,656.7344 L1408.3125,657.1406 Q1409.7969,657.6875 1410.5,658.5938 Q1411.2188,659.5 1411.2188,660.875 Q1411.2188,662.75 1410.1094,663.6719 Q1409,664.5938 1406.75,664.5938 Q1405.8281,664.5938 1404.9063,664.375 Q1403.9844,664.1563 1403.125,663.7344 L1403.125,661.2031 Q1404.0938,661.8906 1405.0156,662.2344 Q1405.9375,662.5781 1406.8281,662.5781 Q1407.7344,662.5781 1408.2344,662.1719 Q1408.7344,661.75 1408.7344,661.0156 Q1408.7344,660.4531 1408.3906,660.0469 Q1408.0625,659.625 1407.4375,659.375 L1406.2344,658.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="1427.25" y="662.5137">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253" x2="1635" y1="674.3594" y2="674.3594"/><ellipse cx="1263" cy="685.3594" 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="1272" y="688.5698">next : urt_topic_t*</text><ellipse cx="1263" cy="698.1641" 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="1272" y="701.3745">id : urt_topicid_t</text><ellipse cx="1263" cy="710.9688" 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="1272" y="714.1792">lock : urt_osMutex_t</text><ellipse cx="1263" cy="723.7734" 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="1272" y="726.9839">evtSource : urt_osEventSource_t</text><ellipse cx="1263" cy="736.5781" 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="1272" y="739.7886">numHrtSubscribers : unsigned int</text><ellipse cx="1263" cy="749.3828" 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="1272" y="752.5933">hrtSubscribers : urt_subscriber_t*</text><ellipse cx="1263" cy="762.1875" 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="1272" y="765.3979">mandatoryMessage : urt_message_t</text><ellipse cx="1263" cy="774.9922" 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="1272" y="778.2026">latestMessage : urt_message_t*</text><ellipse cx="1263" cy="804.6016" 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="170" x="1272" y="807.812">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1253" x2="1311.5" y1="791.1992" y2="791.1992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="1311.5" y="794.5073">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1576.5" x2="1635" y1="791.1992" y2="791.1992"/><ellipse cx="1263" cy="834.2109" 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="197" x="1272" y="837.4214">numDiscardedMessages : uint64_t</text><ellipse cx="1263" cy="847.0156" 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="1272" y="850.2261">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1253" x2="1335.5" y1="820.8086" y2="820.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1335.5" y="824.1167">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1552.5" x2="1635" y1="820.8086" y2="820.8086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253" x2="1635" y1="856.8203" y2="856.8203"/><ellipse cx="1263" cy="867.8203" 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="1272" y="871.0308">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[4a0cbcfec60c5e893e4ff6f7470d1adc]
49
class urt_pubsub_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_pubsub_t" style="stroke: #A80036; stroke-width: 1.5;" width="340" x="1998" y="412.8594"/><ellipse cx="2122.75" cy="428.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2122.2344,429.4219 Q2120.375,428.7188 2119.7188,427.9531 Q2119.0781,427.1719 2119.0781,425.8594 Q2119.0781,424.1719 2120.1563,423.2031 Q2121.2344,422.2344 2123.1094,422.2344 Q2123.9688,422.2344 2124.8125,422.4375 Q2125.6719,422.625 2126.5156,423.0156 L2126.5156,425.4063 Q2125.7344,424.8438 2124.9063,424.5625 Q2124.0938,424.2656 2123.2969,424.2656 Q2122.4219,424.2656 2121.9375,424.625 Q2121.4688,424.9844 2121.4688,425.6406 Q2121.4688,426.1563 2121.8125,426.5 Q2122.1563,426.8281 2123.25,427.2344 L2124.3125,427.6406 Q2125.7969,428.1875 2126.5,429.0938 Q2127.2188,430 2127.2188,431.375 Q2127.2188,433.25 2126.1094,434.1719 Q2125,435.0938 2122.75,435.0938 Q2121.8281,435.0938 2120.9063,434.875 Q2119.9844,434.6563 2119.125,434.2344 L2119.125,431.7031 Q2120.0938,432.3906 2121.0156,432.7344 Q2121.9375,433.0781 2122.8281,433.0781 Q2123.7344,433.0781 2124.2344,432.6719 Q2124.7344,432.25 2124.7344,431.5156 Q2124.7344,430.9531 2124.3906,430.5469 Q2124.0625,430.125 2123.4375,429.875 L2122.2344,429.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="82" x="2143.25" y="433.0137">urt_pubsub_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1999" x2="2337" y1="444.8594" y2="444.8594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2006" y="452.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="2018" y="459.0698">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1999" x2="2337" y1="465.6641" y2="465.6641"/><ellipse cx="2009" cy="476.6641" 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="190" x="2018" y="479.8745">urtPubsubInit (void) : urt_status_t</text><ellipse cx="2009" cy="489.4688" 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="314" x="2018" y="492.6792">urtPubsubRetrieveTopic (id : urt_topicid_t) : urt_topic_t*</text><!--MD5=[ab7cf431813e3be5d474948fd959cdbf]
50
class urt_subscriber_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="312.0938" id="urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1068" x="149" y="603.8594"/><ellipse cx="628.25" cy="619.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M627.7344,620.4219 Q625.875,619.7188 625.2188,618.9531 Q624.5781,618.1719 624.5781,616.8594 Q624.5781,615.1719 625.6563,614.2031 Q626.7344,613.2344 628.6094,613.2344 Q629.4688,613.2344 630.3125,613.4375 Q631.1719,613.625 632.0156,614.0156 L632.0156,616.4063 Q631.2344,615.8438 630.4063,615.5625 Q629.5938,615.2656 628.7969,615.2656 Q627.9219,615.2656 627.4375,615.625 Q626.9688,615.9844 626.9688,616.6406 Q626.9688,617.1563 627.3125,617.5 Q627.6563,617.8281 628.75,618.2344 L629.8125,618.6406 Q631.2969,619.1875 632,620.0938 Q632.7188,621 632.7188,622.375 Q632.7188,624.25 631.6094,625.1719 Q630.5,626.0938 628.25,626.0938 Q627.3281,626.0938 626.4063,625.875 Q625.4844,625.6563 624.625,625.2344 L624.625,622.7031 Q625.5938,623.3906 626.5156,623.7344 Q627.4375,624.0781 628.3281,624.0781 Q629.2344,624.0781 629.7344,623.6719 Q630.2344,623.25 630.2344,622.5156 Q630.2344,621.9531 629.8906,621.5469 Q629.5625,621.125 628.9375,620.875 L627.7344,620.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="648.75" y="624.0137">urt_subscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="150" x2="1216" y1="635.8594" y2="635.8594"/><ellipse cx="160" cy="646.8594" 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="169" y="650.0698">topic : urt_topic_t*</text><ellipse cx="160" cy="659.6641" 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="169" y="662.8745">evtListener : urt_osEventListener_t</text><ellipse cx="160" cy="672.4688" 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="191" x="169" y="675.6792">rtconstraints : urt_rtconstaints_t*</text><ellipse cx="160" cy="685.2734" 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="169" y="688.4839">lastMessage : urt_message_t*</text><ellipse cx="160" cy="698.0781" 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="169" y="701.2886">lastMessageTime : urt_osTime_t</text><ellipse cx="160" cy="727.6875" 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="169" y="730.8979">sumLatencies : uint64_t</text><ellipse cx="160" cy="740.4922" 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="190" x="169" y="743.7026">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="150" x2="574.5" y1="714.2852" y2="714.2852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="574.5" y="717.5933">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="791.5" x2="1216" y1="714.2852" y2="714.2852"/><ellipse cx="160" cy="770.1016" 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="169" y="773.312">minLatency : urt_delay_t</text><ellipse cx="160" cy="782.9063" 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="169" y="786.1167">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="150" x2="422.5" y1="756.6992" y2="756.6992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="521" x="422.5" y="760.0073">URT_CFG_PUBSUB_PROFILING == true &amp;&amp; URT_CFG_PUBSUB_QOS_JITTERCHECKS == false</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="943.5" x2="1216" y1="756.6992" y2="756.6992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="150" x2="1216" y1="792.7109" y2="792.7109"/><ellipse cx="160" cy="803.7109" 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="169" y="806.9214">urtSubscriberInit (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="160" cy="816.5156" 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="1042" x="169" y="819.7261">urtSubscriberSubscribeHrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="160" cy="829.3203" 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="1040" x="169" y="832.5308">urtSubscriberSubscribeFrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="160" cy="842.125" 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="1042" x="169" y="845.3354">urtSubscriberSubscribeSrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t</text><ellipse cx="160" cy="854.9297" 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="699" x="169" y="858.1401">urtSubscriberSubscribeNrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="160" cy="867.7344" 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="169" y="870.9448">urtSubscriberUnsubscribe (subscriber : urt_subscriber_t*) : urt_status_t</text><ellipse cx="160" cy="880.5391" 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="752" x="169" y="883.7495">urtSubscriberFetchNextMessage (subscriber : urt_subscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="160" cy="893.3438" 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="762" x="169" y="896.5542">urtSubscriberFetchLatestMessage (subscriber : urt_subscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="160" cy="906.1484" 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="537" x="169" y="909.3589">urtSubscriberCalculateUsefulness (subscriber : urt_subscriber_t*, latency : urt_delay_t) : float</text><!--MD5=[82a1b6b26b12edcbd86fa16935c3353e]
51
class urt_rtdata_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="73.6094" id="urt_rtdata_t" style="stroke: #A80036; stroke-width: 1.5;" width="231" x="567.5" y="1022.3594"/><ellipse cx="641.75" cy="1038.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M641.2344,1038.9219 Q639.375,1038.2188 638.7188,1037.4531 Q638.0781,1036.6719 638.0781,1035.3594 Q638.0781,1033.6719 639.1563,1032.7031 Q640.2344,1031.7344 642.1094,1031.7344 Q642.9688,1031.7344 643.8125,1031.9375 Q644.6719,1032.125 645.5156,1032.5156 L645.5156,1034.9063 Q644.7344,1034.3438 643.9063,1034.0625 Q643.0938,1033.7656 642.2969,1033.7656 Q641.4219,1033.7656 640.9375,1034.125 Q640.4688,1034.4844 640.4688,1035.1406 Q640.4688,1035.6563 640.8125,1036 Q641.1563,1036.3281 642.25,1036.7344 L643.3125,1037.1406 Q644.7969,1037.6875 645.5,1038.5938 Q646.2188,1039.5 646.2188,1040.875 Q646.2188,1042.75 645.1094,1043.6719 Q644,1044.5938 641.75,1044.5938 Q640.8281,1044.5938 639.9063,1044.375 Q638.9844,1044.1563 638.125,1043.7344 L638.125,1041.2031 Q639.0938,1041.8906 640.0156,1042.2344 Q640.9375,1042.5781 641.8281,1042.5781 Q642.7344,1042.5781 643.2344,1042.1719 Q643.7344,1041.75 643.7344,1041.0156 Q643.7344,1040.4531 643.3906,1040.0469 Q643.0625,1039.625 642.4375,1039.375 L641.2344,1038.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="662.25" y="1042.5137">urt_rtdata_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="568.5" x2="797.5" y1="1054.3594" y2="1054.3594"/><ellipse cx="578.5" cy="1065.3594" 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="170" x="587.5" y="1068.5698">class : urt_rtconstraintclass_t</text><ellipse cx="578.5" cy="1078.1641" 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="205" x="587.5" y="1081.3745">params : urt_rtconstraintsparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="568.5" x2="797.5" y1="1087.9688" y2="1087.9688"/><!--MD5=[4bd59d3bc50b317c5523bafe6b73a042]
52
class urt_rtclass_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="99.2188" id="urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="497.5" y="1202.8594"/><ellipse cx="532.3" cy="1218.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M536.4094,1224.8594 L528.6906,1224.8594 L528.6906,1212.4688 L536.4094,1212.4688 L536.4094,1214.625 L531.1438,1214.625 L531.1438,1217.2969 L535.9094,1217.2969 L535.9094,1219.4531 L531.1438,1219.4531 L531.1438,1222.7031 L536.4094,1222.7031 L536.4094,1224.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="550.7" y="1223.0137">urt_rtclass_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="498.5" x2="649.5" y1="1234.8594" y2="1234.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="503.5" y="1249.0698">URT_RTCLASS_HARD = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="503.5" y="1261.8745">URT_RTCLASS_FIRM = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="503.5" y="1274.6792">URT_RTCLASS_SOFT = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="503.5" y="1287.4839">URT_RTCLASS_NONE = 3</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="498.5" x2="649.5" y1="1294.0781" y2="1294.0781"/><!--MD5=[7b207cc31d63d27c526f257c1fda2512]
53
class urt_rtclassdata_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="99.2188" id="urt_rtclassdata_t" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="686" y="1202.8594"/><ellipse cx="704.6" cy="1218.8594" fill="#7FCF7F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M700.475,1220.7813 L700.475,1212.9688 L702.9281,1212.9688 L702.9281,1221.4063 Q702.9281,1222.3281 703.3969,1222.8594 Q703.8813,1223.3906 704.7094,1223.3906 Q705.5531,1223.3906 706.0219,1222.8594 Q706.4906,1222.3281 706.4906,1221.4063 L706.4906,1212.9688 L708.9438,1212.9688 L708.9438,1220.7813 Q708.9438,1223.3125 707.9438,1224.4531 Q706.9438,1225.5938 704.7094,1225.5938 Q702.4906,1225.5938 701.475,1224.4531 Q700.475,1223.3125 700.475,1220.7813 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="719.4" y="1223.0137">urt_rtclassdata_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="687" x2="831" y1="1234.8594" y2="1234.8594"/><ellipse cx="697" cy="1245.8594" 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="706" y="1249.0698">hrt : urt_hrtparams_t</text><ellipse cx="697" cy="1258.6641" 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="706" y="1261.8745">frt : urt_frtparams_t</text><ellipse cx="697" cy="1271.4688" 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="706" y="1274.6792">srt : urt_srtparans_t</text><ellipse cx="697" cy="1284.2734" 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="706" y="1287.4839">nrt : urt_nrtparams_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="687" x2="831" y1="1294.0781" y2="1294.0781"/><!--MD5=[c57ade65ef97beb73587233399d5250a]
54
class urt_hrtdata_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="180.0469" id="urt_hrtdata_t" style="stroke: #A80036; stroke-width: 1.5;" width="299" x="928.5" y="1447.8594"/><ellipse cx="1032.75" cy="1463.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1032.2344,1464.4219 Q1030.375,1463.7188 1029.7188,1462.9531 Q1029.0781,1462.1719 1029.0781,1460.8594 Q1029.0781,1459.1719 1030.1563,1458.2031 Q1031.2344,1457.2344 1033.1094,1457.2344 Q1033.9688,1457.2344 1034.8125,1457.4375 Q1035.6719,1457.625 1036.5156,1458.0156 L1036.5156,1460.4063 Q1035.7344,1459.8438 1034.9063,1459.5625 Q1034.0938,1459.2656 1033.2969,1459.2656 Q1032.4219,1459.2656 1031.9375,1459.625 Q1031.4688,1459.9844 1031.4688,1460.6406 Q1031.4688,1461.1563 1031.8125,1461.5 Q1032.1563,1461.8281 1033.25,1462.2344 L1034.3125,1462.6406 Q1035.7969,1463.1875 1036.5,1464.0938 Q1037.2188,1465 1037.2188,1466.375 Q1037.2188,1468.25 1036.1094,1469.1719 Q1035,1470.0938 1032.75,1470.0938 Q1031.8281,1470.0938 1030.9063,1469.875 Q1029.9844,1469.6563 1029.125,1469.2344 L1029.125,1466.7031 Q1030.0938,1467.3906 1031.0156,1467.7344 Q1031.9375,1468.0781 1032.8281,1468.0781 Q1033.7344,1468.0781 1034.2344,1467.6719 Q1034.7344,1467.25 1034.7344,1466.5156 Q1034.7344,1465.9531 1034.3906,1465.5469 Q1034.0625,1465.125 1033.4375,1464.875 L1032.2344,1464.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="82" x="1053.25" y="1468.0137">urt_hrtdata_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.5" x2="1226.5" y1="1479.8594" y2="1479.8594"/><ellipse cx="939.5" cy="1490.8594" 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="948.5" y="1494.0698">next : urt_subscriber_t*</text><ellipse cx="939.5" cy="1520.4688" 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="948.5" y="1523.6792">qosDeadlineTimer : urt_osTimer_t</text><ellipse cx="939.5" cy="1533.2734" 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="948.5" y="1536.4839">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="929.5" x2="932.5" y1="1507.0664" y2="1507.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="932.5" y="1510.3745">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1223.5" x2="1226.5" y1="1507.0664" y2="1507.0664"/><ellipse cx="939.5" cy="1562.8828" 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="948.5" y="1566.0933">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="929.5" x2="945.5" y1="1549.4805" y2="1549.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="945.5" y="1552.7886">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1210.5" x2="1226.5" y1="1549.4805" y2="1549.4805"/><ellipse cx="939.5" cy="1592.4922" 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="124" x="948.5" y="1595.7026">maxJitter : urt_delay_t</text><ellipse cx="939.5" cy="1605.2969" 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="948.5" y="1608.5073">minLatency : urt_delay_t</text><ellipse cx="939.5" cy="1618.1016" 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="948.5" y="1621.312">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="929.5" x2="942.5" y1="1579.0898" y2="1579.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="942.5" y="1582.3979">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1213.5" x2="1226.5" y1="1579.0898" y2="1579.0898"/><!--MD5=[72774668522d2286013bfbc0db723956]
55
class urt_frtdata_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="167.2422" id="urt_frtdata_t" style="stroke: #A80036; stroke-width: 1.5;" width="299" x="444.5" y="1454.3594"/><ellipse cx="550.75" cy="1470.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M550.2344,1470.9219 Q548.375,1470.2188 547.7188,1469.4531 Q547.0781,1468.6719 547.0781,1467.3594 Q547.0781,1465.6719 548.1563,1464.7031 Q549.2344,1463.7344 551.1094,1463.7344 Q551.9688,1463.7344 552.8125,1463.9375 Q553.6719,1464.125 554.5156,1464.5156 L554.5156,1466.9063 Q553.7344,1466.3438 552.9063,1466.0625 Q552.0938,1465.7656 551.2969,1465.7656 Q550.4219,1465.7656 549.9375,1466.125 Q549.4688,1466.4844 549.4688,1467.1406 Q549.4688,1467.6563 549.8125,1468 Q550.1563,1468.3281 551.25,1468.7344 L552.3125,1469.1406 Q553.7969,1469.6875 554.5,1470.5938 Q555.2188,1471.5 555.2188,1472.875 Q555.2188,1474.75 554.1094,1475.6719 Q553,1476.5938 550.75,1476.5938 Q549.8281,1476.5938 548.9063,1476.375 Q547.9844,1476.1563 547.125,1475.7344 L547.125,1473.2031 Q548.0938,1473.8906 549.0156,1474.2344 Q549.9375,1474.5781 550.8281,1474.5781 Q551.7344,1474.5781 552.2344,1474.1719 Q552.7344,1473.75 552.7344,1473.0156 Q552.7344,1472.4531 552.3906,1472.0469 Q552.0625,1471.625 551.4375,1471.375 L550.2344,1470.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="78" x="571.25" y="1474.5137">urt_frtdata_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="445.5" x2="742.5" y1="1486.3594" y2="1486.3594"/><ellipse cx="455.5" cy="1514.1641" 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="464.5" y="1517.3745">qosDeadlineTimer : urt_osTimer_t</text><ellipse cx="455.5" cy="1526.9688" 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="464.5" y="1530.1792">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="445.5" x2="448.5" y1="1500.7617" y2="1500.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="448.5" y="1504.0698">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="739.5" x2="742.5" y1="1500.7617" y2="1500.7617"/><ellipse cx="455.5" cy="1556.5781" 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="464.5" y="1559.7886">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="445.5" x2="461.5" y1="1543.1758" y2="1543.1758"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="461.5" y="1546.4839">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="726.5" x2="742.5" y1="1543.1758" y2="1543.1758"/><ellipse cx="455.5" cy="1586.1875" 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="124" x="464.5" y="1589.3979">maxJitter : urt_delay_t</text><ellipse cx="455.5" cy="1598.9922" 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="464.5" y="1602.2026">minLatency : urt_delay_t</text><ellipse cx="455.5" cy="1611.7969" 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="464.5" y="1615.0073">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="445.5" x2="458.5" y1="1572.7852" y2="1572.7852"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="458.5" y="1576.0933">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="729.5" x2="742.5" y1="1572.7852" y2="1572.7852"/><!--MD5=[ca63c4d42025d7ce195746a6a8d32f3e]
56
class urt_nrtdata_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="48" id="urt_nrtdata_t" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="779" y="1513.8594"/><ellipse cx="794" cy="1529.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M793.4844,1530.4219 Q791.625,1529.7188 790.9688,1528.9531 Q790.3281,1528.1719 790.3281,1526.8594 Q790.3281,1525.1719 791.4063,1524.2031 Q792.4844,1523.2344 794.3594,1523.2344 Q795.2188,1523.2344 796.0625,1523.4375 Q796.9219,1523.625 797.7656,1524.0156 L797.7656,1526.4063 Q796.9844,1525.8438 796.1563,1525.5625 Q795.3438,1525.2656 794.5469,1525.2656 Q793.6719,1525.2656 793.1875,1525.625 Q792.7188,1525.9844 792.7188,1526.6406 Q792.7188,1527.1563 793.0625,1527.5 Q793.4063,1527.8281 794.5,1528.2344 L795.5625,1528.6406 Q797.0469,1529.1875 797.75,1530.0938 Q798.4688,1531 798.4688,1532.375 Q798.4688,1534.25 797.3594,1535.1719 Q796.25,1536.0938 794,1536.0938 Q793.0781,1536.0938 792.1563,1535.875 Q791.2344,1535.6563 790.375,1535.2344 L790.375,1532.7031 Q791.3438,1533.3906 792.2656,1533.7344 Q793.1875,1534.0781 794.0781,1534.0781 Q794.9844,1534.0781 795.4844,1533.6719 Q795.9844,1533.25 795.9844,1532.5156 Q795.9844,1531.9531 795.6406,1531.5469 Q795.3125,1531.125 794.6875,1530.875 L793.4844,1530.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="82" x="808" y="1534.0137">urt_nrtdata_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="780" x2="892" y1="1545.8594" y2="1545.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="780" x2="892" y1="1553.8594" y2="1553.8594"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
57
class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="54" y="1815.3594"/><ellipse cx="163.25" cy="1831.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M167.4844,1827.125 L162.2031,1827.125 L162.2031,1829.7969 L167,1829.7969 L167,1831.9531 L162.2031,1831.9531 L162.2031,1837.3594 L159.7656,1837.3594 L159.7656,1824.9688 L167.4844,1824.9688 L167.4844,1827.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="183.75" y="1835.5137">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="55" x2="427" y1="1847.3594" y2="1847.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="55" x2="427" y1="1855.3594" y2="1855.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="60" y="1869.5698">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[4a2daf41193a31389d6311337c2a120f]
58
class urt_srtdata_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="73.6094" id="urt_srtdata_t" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="131" y="1500.8594"/><ellipse cx="215.25" cy="1516.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M214.7344,1517.4219 Q212.875,1516.7188 212.2188,1515.9531 Q211.5781,1515.1719 211.5781,1513.8594 Q211.5781,1512.1719 212.6563,1511.2031 Q213.7344,1510.2344 215.6094,1510.2344 Q216.4688,1510.2344 217.3125,1510.4375 Q218.1719,1510.625 219.0156,1511.0156 L219.0156,1513.4063 Q218.2344,1512.8438 217.4063,1512.5625 Q216.5938,1512.2656 215.7969,1512.2656 Q214.9219,1512.2656 214.4375,1512.625 Q213.9688,1512.9844 213.9688,1513.6406 Q213.9688,1514.1563 214.3125,1514.5 Q214.6563,1514.8281 215.75,1515.2344 L216.8125,1515.6406 Q218.2969,1516.1875 219,1517.0938 Q219.7188,1518 219.7188,1519.375 Q219.7188,1521.25 218.6094,1522.1719 Q217.5,1523.0938 215.25,1523.0938 Q214.3281,1523.0938 213.4063,1522.875 Q212.4844,1522.6563 211.625,1522.2344 L211.625,1519.7031 Q212.5938,1520.3906 213.5156,1520.7344 Q214.4375,1521.0781 215.3281,1521.0781 Q216.2344,1521.0781 216.7344,1520.6719 Q217.2344,1520.25 217.2344,1519.5156 Q217.2344,1518.9531 216.8906,1518.5469 Q216.5625,1518.125 215.9375,1517.875 L214.7344,1517.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="81" x="235.75" y="1521.0137">urt_srtdata_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="132" x2="388" y1="1532.8594" y2="1532.8594"/><ellipse cx="142" cy="1543.8594" 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="151" y="1547.0698">usefullnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="142" cy="1556.6641" 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="151" y="1559.8745">cbparams : void*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="132" x2="388" y1="1566.4688" y2="1566.4688"/><!--MD5=[c49c66e54807645986bdfbce830f97dc]
59
class urt_rpc_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="86.4141" id="urt_rpc_t" style="stroke: #A80036; stroke-width: 1.5;" width="358" x="3861" y="412.8594"/><ellipse cx="4008.25" cy="428.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4007.7344,429.4219 Q4005.875,428.7188 4005.2188,427.9531 Q4004.5781,427.1719 4004.5781,425.8594 Q4004.5781,424.1719 4005.6563,423.2031 Q4006.7344,422.2344 4008.6094,422.2344 Q4009.4688,422.2344 4010.3125,422.4375 Q4011.1719,422.625 4012.0156,423.0156 L4012.0156,425.4063 Q4011.2344,424.8438 4010.4063,424.5625 Q4009.5938,424.2656 4008.7969,424.2656 Q4007.9219,424.2656 4007.4375,424.625 Q4006.9688,424.9844 4006.9688,425.6406 Q4006.9688,426.1563 4007.3125,426.5 Q4007.6563,426.8281 4008.75,427.2344 L4009.8125,427.6406 Q4011.2969,428.1875 4012,429.0938 Q4012.7188,430 4012.7188,431.375 Q4012.7188,433.25 4011.6094,434.1719 Q4010.5,435.0938 4008.25,435.0938 Q4007.3281,435.0938 4006.4063,434.875 Q4005.4844,434.6563 4004.625,434.2344 L4004.625,431.7031 Q4005.5938,432.3906 4006.5156,432.7344 Q4007.4375,433.0781 4008.3281,433.0781 Q4009.2344,433.0781 4009.7344,432.6719 Q4010.2344,432.25 4010.2344,431.5156 Q4010.2344,430.9531 4009.8906,430.5469 Q4009.5625,430.125 4008.9375,429.875 L4007.7344,429.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="4028.75" y="433.0137">urt_rpc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3862" x2="4218" y1="444.8594" y2="444.8594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="3869" y="452.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="3881" y="459.0698">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3862" x2="4218" y1="465.6641" y2="465.6641"/><ellipse cx="3872" cy="476.6641" 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="168" x="3881" y="479.8745">urtRpcInit (void) : urt_status_t</text><ellipse cx="3872" cy="489.4688" 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="332" x="3881" y="492.6792">urtRpcRetrieveService (id : urt_serviceid_t) : urt_service_t*</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
60
class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="3796.5" y="1028.8594"/><ellipse cx="3964.75" cy="1044.8594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3968.9844,1040.625 L3963.7031,1040.625 L3963.7031,1043.2969 L3968.5,1043.2969 L3968.5,1045.4531 L3963.7031,1045.4531 L3963.7031,1050.8594 L3961.2656,1050.8594 L3961.2656,1038.4688 L3968.9844,1038.4688 L3968.9844,1040.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="3985.25" y="1049.0137">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3797.5" x2="4246.5" y1="1060.8594" y2="1060.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3797.5" x2="4246.5" y1="1068.8594" y2="1068.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="3802.5" y="1083.0698">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
61
class urt_service_t--><rect fill="#FEFECE" filter="url(#f1f8akzzk460ac)" height="222.4609" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="3627" y="648.8594"/><ellipse cx="3884.25" cy="664.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3883.7344,665.4219 Q3881.875,664.7188 3881.2188,663.9531 Q3880.5781,663.1719 3880.5781,661.8594 Q3880.5781,660.1719 3881.6563,659.2031 Q3882.7344,658.2344 3884.6094,658.2344 Q3885.4688,658.2344 3886.3125,658.4375 Q3887.1719,658.625 3888.0156,659.0156 L3888.0156,661.4063 Q3887.2344,660.8438 3886.4063,660.5625 Q3885.5938,660.2656 3884.7969,660.2656 Q3883.9219,660.2656 3883.4375,660.625 Q3882.9688,660.9844 3882.9688,661.6406 Q3882.9688,662.1563 3883.3125,662.5 Q3883.6563,662.8281 3884.75,663.2344 L3885.8125,663.6406 Q3887.2969,664.1875 3888,665.0938 Q3888.7188,666 3888.7188,667.375 Q3888.7188,669.25 3887.6094,670.1719 Q3886.5,671.0938 3884.25,671.0938 Q3883.3281,671.0938 3882.4063,670.875 Q3881.4844,670.6563 3880.625,670.2344 L3880.625,667.7031 Q3881.5938,668.3906 3882.5156,668.7344 Q3883.4375,669.0781 3884.3281,669.0781 Q3885.2344,669.0781 3885.7344,668.6719 Q3886.2344,668.25 3886.2344,667.5156 Q3886.2344,666.9531 3885.8906,666.5469 Q3885.5625,666.125 3884.9375,665.875 L3883.7344,665.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="3904.75" y="669.0137">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3628" x2="4228" y1="680.8594" y2="680.8594"/><ellipse cx="3638" cy="691.8594" 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="115" x="3647" y="695.0698">next : urt_service_t*</text><ellipse cx="3638" cy="704.6641" 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="105" x="3647" y="707.8745">id : urt_serviceid_t</text><ellipse cx="3638" cy="717.4688" 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="3647" y="720.6792">lock : urt_osMutex_t</text><ellipse cx="3638" cy="730.2734" 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="160" x="3647" y="733.4839">callback : urt_servicefunc_t*</text><ellipse cx="3638" cy="759.8828" 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="3647" y="763.0933">sumDurations : uint64_t</text><ellipse cx="3638" cy="772.6875" 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="110" x="3647" y="775.8979">numCalls : uint64_t</text><ellipse cx="3638" cy="785.4922" 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="3647" y="788.7026">numTimeouts : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3628" x2="3833.5" y1="746.4805" y2="746.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="3833.5" y="749.7886">URT_CFG_RPC_PROFLING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4022.5" x2="4228" y1="746.4805" y2="746.4805"/><ellipse cx="3638" cy="815.1016" 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="143" x="3647" y="818.312">minDuration : urt_delay_t</text><ellipse cx="3638" cy="827.9063" 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="3647" y="831.1167">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3628" x2="3695" y1="801.6992" y2="801.6992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="466" x="3695" y="805.0073">URT_CFG_RPC_PROFILING == true &amp;&amp; URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4161" x2="4228" y1="801.6992" y2="801.6992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3628" x2="4228" y1="837.7109" y2="837.7109"/><ellipse cx="3638" cy="848.7109" 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="576" x="3647" y="851.9214">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="3638" cy="861.5156" 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="557" x="3647" y="864.7261">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[5fff9a13948f7f5b5e6ca18c1c7a9716]
62
link urt_nodestage_t to urt_config--><path d="M10928.8528,1924.1938 C10923.2465,1927.281 10917.6117,1930.1919 10912,1932.8594 C10772.2412,1999.294 10600.7668,2044.5454 10480.2659,2071.008 " fill="none" id="urt_nodestage_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10475.2845,2072.0976,10484.9314,2074.082,10480.169,2071.0292,10483.2219,2066.2668,10475.2845,2072.0976" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7db439499cb1afd557b9be4c8c52b2ba]
63
link urt_topicid_t to urt_config--><path d="M10330,1925.1818 C10330,1942.4784 10330,1961.1552 10330,1979.6399 " fill="none" id="urt_topicid_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10330,1984.8471,10334,1975.8471,10330,1979.8471,10326,1975.8471,10330,1984.8471" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e851a4e79ca88682282ceaaad2100c63]
64
link urt_serviceid_t to urt_config--><path d="M10689.9025,1922.2515 C10684.2472,1925.932 10678.59,1929.4919 10673,1932.8594 C10611.7639,1969.7489 10541.1896,2005.2191 10480.0378,2033.9088 " fill="none" id="urt_serviceid_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10475.2779,2036.1372,10485.1249,2035.9438,10479.8062,2034.0172,10481.7328,2028.6985,10475.2779,2036.1372" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[844001065b3bef53527c5dd4ba0c22e5]
65
link urt_delay_t to urt_config--><path d="M10152.1357,1895.4361 C10173.4142,1919.892 10200.082,1950.5419 10226.2438,1980.6102 " fill="none" id="urt_delay_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10229.764,1984.656,10226.8739,1975.2407,10226.482,1980.8839,10220.8387,1980.492,10229.764,1984.656" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7766572fa0c619a5409829048dc0b6d6]
66
link urt_osCondvar_t to urt_osCondvarWaitStatus_t--><path d="M4887,1587.6872 C4887,1645.5308 4887,1740.2868 4887,1797.4978 " fill="none" id="urt_osCondvar_t-&gt;urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="4887,1802.5732,4891,1793.5732,4887,1797.5732,4883,1793.5732,4887,1802.5732" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9b2507ea88616aeae65e3c4d63560016]
67
link urt_osCondvar_t to urt_osMutex_t--><path d="M4935.2684,1488.2186 C5001.9844,1424.6895 5129.4139,1320.9884 5263.5,1305.8594 C5287.7351,1303.1249 5678.2649,1303.1249 5702.5,1305.8594 C5710.4281,1306.7539 5713.3337,1305.476 5720,1309.8594 C5785.4639,1352.9052 5834.2355,1430.9585 5861.6686,1483.5995 " fill="none" id="urt_osCondvar_t-&gt;urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5864.0941,1488.2947,5863.5172,1478.4627,5861.7993,1483.8524,5856.4096,1482.1345,5864.0941,1488.2947" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[83094e108045c8f9585007cdb3b7cb2e]
68
link urt_osTimer_t to urt_osTimerCallback_t--><path d="M6462,1593.9932 C6462,1656.7318 6462,1756.4721 6462,1809.6616 " fill="none" id="urt_osTimer_t-&gt;urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6462,1814.9737,6466,1805.9737,6462,1809.9737,6458,1805.9737,6462,1814.9737" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8d8c3240b5b2b5edf6544088e583ffa5]
69
link urt_osThread_t to urt_osThreadPrio_t--><path d="M7294.1841,1707.1767 C7285.8072,1727.4924 7277.5783,1747.449 7270.0884,1765.6135 " fill="none" id="urt_osThread_t-&gt;urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7267.996,1770.688,7275.1248,1763.8924,7269.902,1766.0655,7267.7289,1760.8427,7267.996,1770.688" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d7d1d43fd970fb07a484642bc19fcb13]
70
link urt_osThread_t to urt_osThreadFunction_t--><path d="M7594.0192,1707.0198 C7606.5504,1716.4082 7618.9425,1725.7337 7631,1734.8594 C7664.7973,1760.4389 7702.673,1789.874 7730.9496,1812.0028 " fill="none" id="urt_osThread_t-&gt;urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7735.0502,1815.2133,7730.4296,1806.5156,7731.1133,1812.1309,7725.4979,1812.8146,7735.0502,1815.2133" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6564761b32ad7eeb5abb8896c72cfca5]
71
link urt_osThread_t to urt_osThreadTerminateSignal_t--><path d="M7434.3656,1707.1767 C7449.3503,1743.2335 7463.8648,1778.1591 7474.5796,1803.9416 " fill="none" id="urt_osThread_t-&gt;urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7476.5353,1808.6475,7476.7752,1798.8015,7474.6165,1804.0303,7469.3877,1801.8716,7476.5353,1808.6475" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[92ba23225d8de8f8080583fedda5e6f8]
72
link urt_osThread_t to urt_osThreadState_t--><path d="M7154.6626,1707.0878 C7143.2562,1716.4587 7131.9761,1725.7619 7121,1734.8594 C7106.0837,1747.2228 7090.2979,1760.4629 7075.0454,1773.3377 " fill="none" id="urt_osThread_t-&gt;urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7071.18,1776.6023,7080.6368,1773.851,7074.9999,1773.3761,7075.4749,1767.7392,7071.18,1776.6023" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[78b286ab2177e5f7b31e6e832d821818]
73
link urt_osThread_t to urt_osTime_t--><path d="M7083.8362,1373.5719 C7010.7801,1341.376 6930.3546,1314.7566 6851.5,1305.8594 C6820.7783,1302.393 5769.2217,1302.393 5738.5,1305.8594 C5633.83,1317.6694 5554.3278,1425.7647 5515.7721,1490.1578 " fill="none" id="urt_osThread_t-&gt;urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5513.0671,1494.7166,5521.0997,1489.0177,5515.6185,1490.4166,5514.2197,1484.9354,5513.0671,1494.7166" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[659af6ab57e6a38ebfd5c07c5616787c]
74
link urt_osEventListener_t to urt_osEventFlags_t--><path d="M8731,1888.947 C8731,1940.6304 8731,2025.8733 8731,2070.518 " fill="none" id="urt_osEventListener_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8731,2075.7562,8735,2066.7562,8731,2070.7562,8727,2066.7562,8731,2075.7562" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[eac11679f26c499aa1c571e1f795945d]
75
link urt_osEventSource_t to urt_osEventFlags_t--><path d="M9205.8553,1882.9291 C9092.072,1934.9092 8887.9274,2028.1695 8788.5291,2073.5781 " fill="none" id="urt_osEventSource_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8783.8758,2075.7039,8793.7241,2075.6024,8788.4237,2073.6262,8790.3999,2068.3258,8783.8758,2075.7039" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0259cdb10c6c32168d1d17d25519d939]
76
link urt_events to urt_osEventSource_t--><path d="M8808.8949,1581.0098 C8916.9717,1640.8797 9110.8852,1748.2994 9215.4683,1806.2339 " fill="none" id="urt_events-&gt;urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="9220.0727,1808.7846,9214.1383,1800.9243,9215.699,1806.3617,9210.2617,1807.9223,9220.0727,1808.7846" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0ce043e0e9532fc393f3f8836f5de19a]
77
link urt_events to urt_osEventListener_t--><path d="M8731,1581.0098 C8731,1637.9005 8731,1737.7263 8731,1797.2294 " fill="none" id="urt_events-&gt;urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8731,1802.5046,8735,1793.5046,8731,1797.5046,8727,1793.5046,8731,1802.5046" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[430bebba9cd89d3ba8f63b2078968bca]
78
link urt_events to urt_osEventMask_t--><path d="M8671.8784,1581.0098 C8586.8614,1643.0601 8431.8633,1756.1867 8354.8957,1812.362 " fill="none" id="urt_events-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8350.8401,1815.3221,8360.4679,1813.2472,8354.8788,1812.3744,8355.7516,1806.7853,8350.8401,1815.3221" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b1b185abc2161e087cab32ae7fdb2c40]
79
link urt_events to urt_osEventFlags_t--><path d="M8400.3006,1580.8669 C8215.4917,1612.4307 8011.2713,1662.5177 7955,1734.8594 C7927.9849,1769.5896 7927.3532,1898.6299 7955,1932.8594 C8042.0186,2040.5973 8470.7427,2082.1023 8650.9663,2094.9645 " fill="none" id="urt_events-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8655.9634,2095.3183,8647.2684,2090.6926,8650.9759,2094.9651,8646.7034,2098.6726,8655.9634,2095.3183" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[706a1974d1b474cbba7e7b0213f243a1]
80
link urt_events to urt_osEventWait_t--><path d="M8523.3939,1580.8618 C8407.5017,1611.4029 8264.298,1660.4451 8152,1734.8594 C8126.569,1751.7113 8103.5251,1776.6506 8086.0817,1798.6231 " fill="none" id="urt_events-&gt;urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8082.8904,1802.6888,8091.5939,1798.079,8085.9776,1798.7557,8085.301,1793.1395,8082.8904,1802.6888" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5f656ccbf337bb70e2692ec6599b22aa]
81
link urt_osCondvar_t to urt_delay_t--><path d="M4966.0473,1587.4103 C5036.4683,1628.4709 5143.8828,1683.7094 5246,1706.8594 C5374.8169,1736.0623 9879.4697,1683.1198 10001,1734.8594 C10029.0634,1746.807 10053.4624,1769.9618 10071.9341,1792.0455 " fill="none" id="urt_osCondvar_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10075.3137,1796.1536,10072.6847,1786.6621,10072.1371,1792.2924,10066.5068,1791.7447,10075.3137,1796.1536" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2da0e339f7ca878d257c4a5336e8cad5]
82
link urt_osThread_t to urt_delay_t--><path d="M7644.1776,1639.9536 C7731.0685,1667.0413 7827.9371,1692.6757 7919,1706.8594 C8033.299,1724.6623 9894.7389,1689.1453 10001,1734.8594 C10029.0181,1746.9129 10053.4119,1770.0798 10071.8919,1792.1441 " fill="none" id="urt_osThread_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10075.2732,1796.2482,10072.6375,1786.7586,10072.0938,1792.3892,10066.4631,1791.8456,10075.2732,1796.2482" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4dd831efde278dc905a11b75839a39d0]
83
link urt_osThread_t to urt_status_t--><path d="M7644.157,1640.0864 C7731.0471,1667.1791 7827.9205,1692.7829 7919,1706.8594 C8057.5855,1728.278 10313.2671,1681.6235 10443,1734.8594 C10475.0328,1748.0041 10503.1606,1774.7065 10523.5796,1798.6269 " fill="none" id="urt_osThread_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10527.0453,1802.7473,10524.3133,1793.2849,10523.8269,1798.9208,10518.191,1798.4344,10527.0453,1802.7473" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8bf77663ad208115c32fd5300d37f092]
84
link urt_osTimer_t to urt_delay_t--><path d="M6563.3839,1593.9486 C6641.9468,1634.1112 6754.9347,1684.8302 6861,1706.8594 C6946.4031,1724.5972 9920.7966,1700.5705 10001,1734.8594 C10029.0453,1746.8494 10053.4422,1770.0091 10071.9172,1792.085 " fill="none" id="urt_osTimer_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10075.2975,1796.1915,10072.6658,1786.7007,10072.1198,1792.3312,10066.4893,1791.7851,10075.2975,1796.1915" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[97e66fd6906ece822f393f9bfe719297]
85
link urt_osTimer_t to urt_status_t--><path d="M6563.377,1593.9821 C6641.9362,1634.1623 6754.9226,1684.8886 6861,1706.8594 C6958.4351,1727.0402 10350.8842,1697.2359 10443,1734.8594 C10475.0543,1747.9516 10503.1826,1774.6527 10523.5966,1798.5856 " fill="none" id="urt_osTimer_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10527.0613,1802.7082,10524.3329,1793.2448,10523.8443,1798.8805,10518.2086,1798.3919,10527.0613,1802.7082" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a4e2abbbace7909006fa5f13364d6021]
86
link urt_events to urt_delay_t--><path d="M8931.3055,1580.9344 C9116.4487,1619.2786 9399.6236,1674.2097 9648,1706.8594 C9726.0196,1717.1153 9929.775,1701.4042 10001,1734.8594 C10028.2634,1747.6653 10052.3474,1770.5198 10070.8138,1792.1759 " fill="none" id="urt_events-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10074.196,1796.2029,10071.4707,1786.7386,10070.9803,1792.3742,10065.3447,1791.8837,10074.196,1796.2029" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0549e7b45a7543f4046fb7eaa1b75598]
87
link urt_events to urt_status_t--><path d="M8935.7025,1580.9285 C9134.7621,1620.8969 9446.1855,1678.3746 9719,1706.8594 C9799.0693,1715.2195 10368.9504,1703.274 10443,1734.8594 C10474.728,1748.3928 10502.7586,1774.9556 10523.2016,1798.7031 " fill="none" id="urt_events-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10526.6726,1802.7933,10523.8989,1793.343,10523.4374,1798.981,10517.7994,1798.5194,10526.6726,1802.7933" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
88
reverse link urt_node_t to urt_node_t--><path d="M3589.4188,433.1216 C3603.8891,439.4262 3612,447.0054 3612,455.8594 C3612,466.9702 3599.2271,476.0738 3577.1426,483.1699 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3577.1426,428.5489,3581.3689,434.3917,3588.3878,432.7377,3584.1615,426.8949,3577.1426,428.5489" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3584.9634" y="425.1269">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3585.0759" y="480.516">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
89
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M2913.5084,553.4314 C2849.8668,614.1181 2775.6879,688.1412 2738.3741,729.0158 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2923.2197,544.1971,2916.1153,545.4328,2914.5235,552.466,2921.6279,551.2303,2923.2197,544.1971" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2906.7903" y="563.9045">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2734.37" y="718.2081">1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
90
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M2943.6986,547.8631 C2882.9417,609.5267 2802.7378,686.8823 2755.0058,729.0158 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2947.3059,544.1971,2938.1424,547.8068,2943.7991,547.7611,2943.8448,553.4177,2947.3059,544.1971" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
91
reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M3097.3843,554.5545 C3147.397,615.0289 3211.4586,688.393 3250.5424,729.0158 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3088.853,544.1971,3089.5803,551.3714,3096.4825,553.4594,3095.7552,546.2851,3088.853,544.1971" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3085.6225" y="563.9045">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3234.6105" y="718.2081">1</text><!--MD5=[b913f036db99e36b937989146817bd94]
92
reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M3116.5336,548.2318 C3171.3261,609.8348 3235.968,686.9662 3267.174,729.0158 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="3112.9392,544.1971,3115.9392,553.5779,3116.2651,547.9304,3121.9126,548.2564,3112.9392,544.1971" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0c465c1a61dfd99ff8b5568ca35c92d1]
93
reverse link urt_srtdata_t to urt_srtusefulnessfunc_t--><path d="M256.9062,1588.011 C252.9391,1652.3196 246.1814,1761.8665 242.9,1815.0592 " fill="none" id="urt_srtdata_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="257.7082,1575.0114,253.3463,1580.7537,256.9692,1586.9886,261.3311,1581.2463,257.7082,1575.0114" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="248.6661" y="1594.5171">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="216.8169" y="1804.2605">0..1</text><!--MD5=[3f22cd2af9b1d30da63b75b4db75ae6e]
94
reverse link urt_rtclassdata_t to urt_hrtdata_t--><path d="M845.2541,1303.9197 C871.2017,1308.3304 885.1296,1295.5624 910,1309.8594 C964.6691,1341.2865 1006.7266,1398.448 1035.0879,1447.6718 " fill="none" id="urt_rtclassdata_t&lt;-urt_hrtdata_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="832.404,1300.5253,837.1835,1305.9249,844.0061,1303.5899,839.2266,1298.1902,832.404,1300.5253" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="840.0235" y="1301.591">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1006.5405" y="1436.6525">0..1</text><!--MD5=[a94a8c9c209e194384613684e912df80]
95
reverse link urt_rtclassdata_t to urt_frtdata_t--><path d="M723.6265,1313.5663 C699.8859,1354.6447 668.3116,1409.2779 642.269,1454.3394 " fill="none" id="urt_rtclassdata_t&lt;-urt_frtdata_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="730.2592,1302.0897,723.7937,1305.283,724.2547,1312.4794,730.7202,1309.286,730.2592,1302.0897" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="717.655" y="1322.1985">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="647.6367" y="1443.2949">0..1</text><!--MD5=[e6a6d7a2212fadf5661857a71d4f05c3]
96
reverse link urt_rtclassdata_t to urt_srtdata_t--><path d="M673.6235,1300.2126 C671.7477,1300.8036 669.872,1301.3541 668,1301.8594 C638.4877,1309.8253 419.283,1294.2506 393,1309.8594 C322.0775,1351.9784 285.1366,1447.5873 269.4537,1500.6429 " fill="none" id="urt_rtclassdata_t&lt;-urt_srtdata_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="685.9663,1295.7733,678.9666,1294.04,674.6744,1299.8345,681.6741,1301.5679,685.9663,1295.7733" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="670.0222" y="1296.5394">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="273.2751" y="1489.7913">0..1</text><!--MD5=[206fe31eaf8244c7272230bb0ec7137c]
97
reverse link urt_rtclassdata_t to urt_nrtdata_t--><path d="M775.8738,1314.9238 C792.712,1377.3564 817.7189,1470.0767 829.462,1513.6179 " fill="none" id="urt_rtclassdata_t&lt;-urt_nrtdata_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="772.4124,1302.0897,770.1128,1308.9243,775.5373,1313.6757,777.8368,1306.8411,772.4124,1302.0897" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="765.736" y="1322.1985">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="800.9434" y="1502.964">0..1</text><!--MD5=[1ba55993ff077c77667f6c7be6552d53]
98
reverse link urt_rtdata_t to urt_rtclass_t--><path d="M655.4885,1108.0724 C639.1214,1137.0528 618.4103,1173.7246 601.964,1202.8451 " fill="none" id="urt_rtdata_t&lt;-urt_rtclass_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="661.9837,1096.5717,655.5502,1099.829,656.0825,1107.0204,662.516,1103.7631,661.9837,1096.5717" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="649.8404" y="1116.0874">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="597.3339" y="1191.8883">1</text><!--MD5=[8318054091d2ecf2336b9e490f482e2a]
99
reverse link urt_rtdata_t to urt_rtclassdata_t--><path d="M702.4874,1108.847 C713.8508,1137.7041 728.1369,1173.9835 739.5021,1202.8451 " fill="none" id="urt_rtdata_t&lt;-urt_rtclassdata_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="697.6536,1096.5717,696.1301,1103.62,702.0503,1107.7372,703.5738,1100.6889,697.6536,1096.5717" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="691.4181" y="1116.0874">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="728.1977" y="1191.8883">1</text><!--MD5=[b6ee30948a218449c72edbee7363b5d7]
100
link urt_subscriber_t to urt_hrtdata_t--><path d="M782.1276,916.1087 C793.8926,936.0191 805.4536,956.2795 816,975.8594 C900.473,1132.6875 985.2064,1321.5779 1034.5713,1435.5606 " fill="none" id="urt_subscriber_t-&gt;urt_hrtdata_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1039.8249,1447.7167,1041.1164,1440.6222,1035.0643,1436.7014,1033.7729,1443.7959,1039.8249,1447.7167" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="762.3478" y="936.1081">0..1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1036.9948" y="1436.7011">1</text><!--MD5=[536025241394544a90bc53fb552f3a08]
101
reverse link urt_message_t to urt_message_t--><path d="M2443.9841,1034.6182 C2458.0653,1040.534 2466.5,1048.781 2466.5,1059.3594 C2466.5,1072.7656 2452.9528,1082.4276 2431.534,1088.3452 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2431.534,1030.3736,2435.9223,1036.0957,2442.892,1034.2459,2438.5038,1028.5237,2431.534,1030.3736" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2439.7829" y="1026.1273">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2439.3281" y="1086.1153">0..1</text><!--MD5=[f7eb638a1c2d853c6fb0ae6f53692e50]
102
reverse link urt_subscriber_t to urt_rtdata_t--><path d="M683,929.6446 C683,964.6077 683,998.0871 683,1022.2733 " fill="none" id="urt_subscriber_t&lt;-urt_rtdata_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="683,916.1883,679,922.1883,683,928.1883,687,922.1883,683,916.1883" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="674.8063" y="936.1916">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="674.2625" y="1011.1679">1</text><!--MD5=[bf7bf5810813e0e9b75d3053dc098443]
103
reverse link urt_subscriber_t to urt_topic_t--><path d="M1230.5539,759.8594 C1237.6579,759.8594 1244.7619,759.8594 1251.866,759.8594 " fill="none" id="urt_subscriber_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1217.335,759.8594,1223.335,763.8594,1229.335,759.8594,1223.335,755.8594,1217.335,759.8594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1224.9053" y="756.8211">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1224.1802" y="756.57">0..1</text><!--MD5=[d3b08a81de663c21a5ec062e6c430f2b]
104
reverse link urt_topic_t to urt_subscriber_t--><path d="M1238.6471,759.8594 C1231.543,759.8594 1224.439,759.8594 1217.335,759.8594 " fill="none" id="urt_topic_t&lt;-urt_subscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1251.866,759.8594,1245.866,755.8594,1239.866,759.8594,1245.866,763.8594,1251.866,759.8594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1236.2045" y="772.2166">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1225.0178" y="772.032">0..1</text><!--MD5=[67fd999c5486ad1c37ee9b77e12afd1b]
105
reverse link urt_subscriber_t to urt_message_t--><path d="M1230.1507,917.8191 C1488.9403,973.1085 1783.1151,1012.4421 1980.4589,1035.4477 " fill="none" id="urt_subscriber_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1217.0751,915.0053,1222.0993,920.178,1228.8065,917.5299,1223.7823,912.3571,1217.0751,915.0053" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1224.8117" y="916.456">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1948.6646" y="1031.4821">0..1</text><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
106
reverse link urt_publisher_t to urt_topic_t--><path d="M1675.8792,759.8594 C1662.6731,759.8594 1649.4669,759.8594 1636.2607,759.8594 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1689.0854,759.8594,1683.0854,755.8594,1677.0854,759.8594,1683.0854,763.8594,1689.0854,759.8594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1673.2871" y="756.777">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1643.9271" y="756.6307">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
107
link urt_publisher_t to urt_message_t--><path d="M2098.5583,824.4777 C2118.1409,867.2878 2144.0816,923.9975 2165.5676,970.9689 " fill="none" id="urt_publisher_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2167.7651,975.7729,2167.6588,965.9246,2165.6852,971.226,2160.3838,969.2524,2167.7651,975.7729" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
108
reverse link urt_topic_t to urt_topic_t--><path d="M1648.0439,719.1296 C1662.3061,728.4263 1671,742.0029 1671,759.8594 C1671,782.2676 1657.309,797.9358 1636.1039,806.8641 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1636.1039,712.8547,1639.5542,719.1868,1646.7262,718.4373,1643.2759,712.1052,1636.1039,712.8547" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1643.7642" y="707.7899">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1644.0767" y="805.4715">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
109
reverse link urt_topic_t to urt_message_t--><path d="M1596.0295,884.438 C1615.3279,896.0002 1635.2412,906.7668 1655,915.8594 C1757.2499,962.9128 1877.8551,996.9667 1980.1861,1020.0584 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1584.7437,877.5451,1587.7793,884.0861,1594.9847,883.7998,1591.9491,877.2588,1584.7437,877.5451" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1585.5038" y="897.6274">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1948.3828" y="1015.5878">1..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
110
reverse link urt_topic_t to urt_message_t--><path d="M1630.5617,884.2759 C1650.1418,895.8995 1670.1489,906.7243 1690,915.8594 C1781.6761,958.0469 1888.1075,989.7845 1980.4701,1012.5406 " fill="none" id="urt_topic_t&lt;-urt_message_t-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1619.4106,877.5451,1622.4804,884.0701,1629.6842,883.7462,1626.6144,877.2211,1619.4106,877.5451" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1622.3916" y="897.6274">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1964.2214" y="1007.6534">1</text><!--MD5=[d97285d52857c028121a6b5bc3935d87]
111
reverse link urt_pubsub_t to urt_topic_t--><path d="M1984.8963,480.8411 C1888.3066,498.8102 1769.8739,528.6345 1672,576.8594 C1636.8283,594.1894 1602.1221,617.724 1570.8031,642.1407 " fill="none" id="urt_pubsub_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1997.7704,478.4919,1991.1498,475.634,1985.9654,480.6462,1992.586,483.504,1997.7704,478.4919" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1981.8756" y="476.2381">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1554.1577" y="631.1815">0..1</text><!--MD5=[8d27a615fd5a1da0f7adeab7e6eca6da]
112
link urt_pubsub_t to urt_publisher_t--><!--MD5=[05f2c35569573d3273c65d3342945557]
113
reverse link urt_service_t to urt_service_t--><path d="M4240.7882,724.6841 C4255.4237,733.5568 4264,745.2819 4264,759.8594 C4264,777.9751 4250.7552,791.6858 4229.0965,800.9913 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4229.0965,718.7275,4232.6268,725.0153,4239.7888,724.1749,4236.2585,717.8871,4229.0965,718.7275" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4237.2006" y="714.4982">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4237.4131" y="814.3456">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
114
reverse link urt_service_t to urt_servicefunc_t--><path d="M3966.8486,883.6376 C3983.5292,936.7849 4001.6229,994.4344 4012.3758,1028.695 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3962.8685,870.9565,3960.8488,877.879,3966.462,882.4058,3968.4817,875.4833,3962.8685,870.9565" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3957.0389" y="891.3507">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3983.9158" y="1017.9243">0..1</text><!--MD5=[44e85a81cd85acd5638164304275c8f6]
115
reverse link urt_rpc_t to urt_service_t--><path d="M4019.4944,511.5174 C4005.3878,549.8068 3986.1691,601.9718 3968.9865,648.6102 " fill="none" id="urt_rpc_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4024.0721,499.0923,4018.2445,503.3395,4019.9235,510.3524,4025.7512,506.1052,4024.0721,499.0923" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4012.8961" y="519.2223">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3972.5465" y="637.6876">0..1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
116
reverse link urt_core_t to urt_node_t--><path d="M3734.434,277.415 C3623.305,305.3674 3493.198,338.0933 3374.9657,367.8323 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3747.1962,274.2049,3740.4017,271.7893,3735.5587,277.1321,3742.3532,279.5476,3747.1962,274.2049" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3731.4239" y="272.9784">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3380.0096" y="356.6935">0..1</text><!--MD5=[126a576c1462f30ade8ec99c3bc39be3]
117
reverse link urt_core_t to urt_pubsub_t--><path d="M3734.3403,222.767 C3356.882,243.1083 2692.2496,285.3478 2457,340.8594 C2387.4938,357.2607 2312.6742,387.407 2256.5805,412.7198 " fill="none" id="urt_core_t&lt;-urt_pubsub_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3747.3675,222.0675,3741.1616,218.395,3735.3848,222.711,3741.5906,226.3835,3747.3675,222.0675" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3731.6003" y="219.2932">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2244.7855" y="401.6936">0..1</text><!--MD5=[d3daad950a97bef6626a3189265b6c3e]
118
reverse link urt_core_t to urt_rpc_t--><path d="M4020.9215,321.4924 C4025.5159,353.8502 4030.2567,387.2385 4033.8631,412.6381 " fill="none" id="urt_core_t&lt;-urt_rpc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4019.0342,308.2001,4015.9174,314.7028,4020.7212,320.0809,4023.838,313.5782,4019.0342,308.2001" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4011.7397" y="327.7539">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4007.0859" y="401.9167">0..1</text><!--MD5=[a42c921bb2ae3ef3cd6ba12c97758939]
119
reverse link urt_core_t to urt_osEventSource_t--><path d="M4275.7133,209.7578 C5300.9831,212.1127 8945.7002,228.3874 10100,340.8594 C10754.9106,404.6722 11520,101.8473 11520,759.8594 C11520,759.8594 11520,759.8594 11520,1059.3594 C11520,1210.8033 11471.117,1457.3808 10835,1706.8594 C10719.8345,1752.0261 9844.5383,1717.9038 9722,1734.8594 C9611.9826,1750.0824 9489.6613,1782.7512 9402.8226,1808.7268 " fill="none" id="urt_core_t&lt;-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4262.6607,209.7282,4268.6516,213.7418,4274.6607,209.7555,4268.6698,205.7418,4262.6607,209.7282" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4270.4288" y="222.0328">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9414.741" y="1797.8901">1</text><!--MD5=[b9eb8460041bde16ab6e44c28de7b0fc]
120
reverse link urt_core_t to urt_osMutex_t--><path d="M4275.9722,213.8189 C5576.1247,236.3477 11123.8095,345.7713 11404,576.8594 C11468.6152,630.151 11449,676.1031 11449,759.8594 C11449,759.8594 11449,759.8594 11449,1059.3594 C11449,1359.349 6319.5369,1168.3885 6055,1309.8594 C5982.8094,1348.466 5933.4576,1433.2997 5907.7736,1487.8982 " fill="none" id="urt_core_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4262.7451,213.5902,4268.675,217.6934,4274.7433,213.7977,4268.8134,209.6946,4262.7451,213.5902" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4270.5157" y="210.5642">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5902.0276" y="1477.2379">1</text><!--MD5=[53eb1ed31b8ffcbb98ca8a87ecf3ad40]
121
link urt_core_t to urt_status_t--><path d="M4262.5792,209.6087 C5575.6731,211.3946 11468.4594,225.8159 11617,340.8594 C11769.7671,459.1763 11733,566.6324 11733,759.8594 C11733,759.8594 11733,759.8594 11733,1059.3594 C11733,1443.051 11507.0509,1539.0526 11162,1706.8594 C11064.1168,1754.4624 10772.7172,1691.2286 10673,1734.8594 C10641.519,1748.6338 10613.585,1775.0557 10593.1329,1798.666 " fill="none" id="urt_core_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10589.6593,1802.7324,10598.5464,1798.4875,10592.907,1798.9307,10592.4638,1793.2912,10589.6593,1802.7324" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f6f8ae0abb3c85244c8639cf15039f58]
122
link urt_core_t to urt_nodestage_t--><path d="M4262.5821,209.8093 C5425.7951,212.4533 10160.3955,229.9913 10814,340.8594 C11200.8185,406.4737 11591,367.5154 11591,759.8594 C11591,759.8594 11591,759.8594 11591,1059.3594 C11591,1363.5591 11310.575,1633.0163 11148.7501,1763.1867 " fill="none" id="urt_core_t-&gt;urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11144.4737,1766.6165,11153.9972,1764.106,11148.3742,1763.4882,11148.992,1757.8652,11144.4737,1766.6165" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[addb2e74eebae0995b3a6bf162197d46]
123
reverse link urt_node_t to urt_osThread_t--><path d="M3590.075,542.5315 C3594.399,542.9837 3598.7079,543.4265 3603,543.8594 C3895.2171,573.3335 3973.1492,529.4664 4263,576.8594 C5450.3988,771.0089 5739.9852,894.0042 6869,1309.8594 C6939.8055,1335.9395 7014.534,1367.8972 7083.8699,1399.5394 " fill="none" id="urt_node_t&lt;-urt_osThread_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3577.0597,541.1469,3582.6029,545.7592,3588.9924,542.4164,3583.4492,537.8041,3577.0597,541.1469" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3584.8793" y="539.3083">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7052.1102" y="1392.7386">0..1</text><!--MD5=[71f626b81c482d35e653d2b548781872]
124
reverse link urt_node_t to urt_nodestage_t--><path d="M3590.0497,542.8149 C3594.3818,543.1759 3598.6991,543.5242 3603,543.8594 C3654.0609,547.839 10940.2181,542.2822 10978,576.8594 C11057.4412,649.5622 11023,951.6719 11023,1059.3594 C11023,1059.3594 11023,1059.3594 11023,1252.3594 C11023,1436.5914 11029.8256,1652.9026 11033.9449,1766.674 " fill="none" id="urt_node_t&lt;-urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3577.0107,541.6949,3582.6464,546.1937,3588.9667,542.7219,3583.331,538.223,3577.0107,541.6949" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3584.8296" y="555.0749">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="11025.2945" y="1755.7355">1</text><!--MD5=[ecbb69d8dc7b8a34ff21337736794c2a]
125
reverse link urt_node_t to urt_osEventListener_t--><path d="M3590.0496,542.8157 C3594.3817,543.1764 3598.6991,543.5245 3603,543.8594 C3655.5151,547.9491 11149.0307,541.4199 11188,576.8594 C11347.4331,721.8512 11236,843.8564 11236,1059.3594 C11236,1059.3594 11236,1059.3594 11236,1252.3594 C11236,1316.5536 11214.4674,1501.6824 10395,1706.8594 C10093.36,1782.3836 9300.2271,1670.544 8996,1734.8594 C8931.3383,1748.5293 8862.6215,1777.7842 8811.3692,1802.8292 " fill="none" id="urt_node_t&lt;-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3577.0106,541.6964,3582.6465,546.1949,3588.9666,542.7227,3583.3307,538.2242,3577.0106,541.6964" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3585.2797" y="541.0902">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8815.5405" y="1791.8204">1</text><!--MD5=[a052f483eba01ccbd89eefaa281cffa6]
126
reverse link urt_node_t to urt_osThreadFunction_t--><path d="M3590.0496,542.8155 C3594.3818,543.1762 3598.6991,543.5244 3603,543.8594 C3655.0442,547.9135 11081.4891,541.6181 11120,576.8594 C11278.8885,722.2584 11165,843.9843 11165,1059.3594 C11165,1059.3594 11165,1059.3594 11165,1252.3594 C11165,1986.4754 10303.1099,1598.736 9577,1706.8594 C9485.8804,1720.4278 8005.9994,1704.5611 7919,1734.8594 C7872.5941,1751.0206 7829.2269,1788.3034 7802.2309,1815.2062 " fill="none" id="urt_node_t&lt;-urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3577.0106,541.6959,3582.6464,546.1945,3588.9666,542.7225,3583.3308,538.2238,3577.0106,541.6959" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="3585.2589" y="559.1613">0..*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7799.2285" y="1804.4378">1</text><!--MD5=[0cba389305cd35ebcbacaedacb3fbe88]
127
link urt_node_t to urt_status_t--><path d="M3577.0107,541.6954 C3585.7305,542.4664 3594.3983,543.1892 3603,543.8594 C3654.5526,547.8762 11010.8536,541.9501 11049,576.8594 C11128.4427,649.5605 11094,951.6719 11094,1059.3594 C11094,1059.3594 11094,1059.3594 11094,1252.3594 C11094,1460.8348 11136.6115,1571.5657 10978,1706.8594 C10926.2167,1751.0299 10734.8774,1706.5093 10673,1734.8594 C10641.9987,1749.0631 10614.2606,1775.2089 10593.7968,1798.5583 " fill="none" id="urt_node_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10590.319,1802.5798,10599.2317,1798.3888,10593.5896,1798.7978,10593.1806,1793.1558,10590.319,1802.5798" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b00c0c61b5ae38465e12763fb588229]
128
link urt_nodeSetupCallback_t to urt_osEventMask_t--><path d="M2749.3444,790.6217 C2794.2394,828.5796 2877.0794,891.1267 2961,915.8594 C3060.2415,945.1074 10337.1368,902.4069 10410,975.8594 C10462.2712,1028.5534 10449.9437,1080.3019 10410,1142.8594 C10089.3911,1644.9788 9773.1788,1567.3391 9194,1706.8594 C9036.8209,1744.7228 8620.188,1683.1647 8467,1734.8594 C8420.0344,1750.7084 8374.6127,1785.279 8344.6193,1811.6574 " fill="none" id="urt_nodeSetupCallback_t-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8340.6739,1815.1585,8350.0605,1812.1767,8344.4137,1811.8398,8344.7506,1806.193,8340.6739,1815.1585" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[aa0b59559007c8ad9b783f6dc5ed8ad9]
129
link urt_nodeLoopCallback_t to urt_osEventMask_t--><path d="M3331.7053,790.3721 C3392.9043,828.3811 3504.9445,891.3086 3611,915.8594 C3704.9227,937.6016 10484.1257,907.3958 10552,975.8594 C10666.368,1091.2203 10666.0918,1591.2252 10552,1706.8594 C10511.319,1748.0904 8522.109,1717.0285 8467,1734.8594 C8419.6868,1750.1679 8374.1542,1785.0052 8344.2248,1811.5993 " fill="none" id="urt_nodeLoopCallback_t-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8340.2891,1815.129,8349.6599,1812.0979,8344.0114,1811.7907,8344.3186,1806.1422,8340.2891,1815.129" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7f2dcdcdb5d5a5f231908f157fd7bf49]
130
link urt_pubsub_t to urt_status_t--><path d="M2282.9877,498.8882 C2335.2933,516.3659 2398.4619,534.5972 2457,543.8594 C2655.2341,575.2251 4062.4537,569.0024 4263,576.8594 C5007.5821,606.0305 10952,314.2061 10952,1059.3594 C10952,1059.3594 10952,1059.3594 10952,1252.3594 C10952,1463.8567 10967.8838,1565.0194 10811,1706.8594 C10764.5773,1748.8305 10728.3966,1705.7413 10673,1734.8594 C10643.2799,1750.4812 10615.9631,1776.1333 10595.4174,1798.8441 " fill="none" id="urt_pubsub_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10591.9204,1802.7535,10600.9021,1798.7125,10595.254,1799.0269,10594.9396,1793.3788,10591.9204,1802.7535" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b3fa89608aace108b23bbfcd22712ec]
131
link urt_publisher_t to urt_config--><path d="M2194.6216,824.3625 C2268.8287,858.8635 2365.8287,897.8635 2457,915.8594 C2675.6759,959.0228 10275.8534,888.698 10481,975.8594 C10976.5975,1186.4259 11568.0293,1518.6143 11224,1932.8594 C11131.1843,2044.6187 10709.8752,2081.9976 10480.284,2094.1821 " fill="none" id="urt_publisher_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10475.2336,2094.4477,10484.4313,2097.9693,10480.2267,2094.185,10484.011,2089.9803,10475.2336,2094.4477" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[48a81098d0aa451a4923659bb2bbea3c]
132
link urt_publisher_t to urt_status_t--><path d="M2195.058,824.5577 C2269.2095,859.0065 2366.0086,897.8894 2457,915.8594 C2563.4199,936.8764 10176.6812,915.7809 10267,975.8594 C10410.6469,1071.4107 10519.5739,1628.3198 10549.6682,1797.2789 " fill="none" id="urt_publisher_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10550.6206,1802.6447,10552.9861,1793.0841,10549.7467,1797.7216,10545.1092,1794.4823,10550.6206,1802.6447" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c16173558393ca1d9128284d70afa235]
133
link urt_publisher_t to urt_delay_t--><path d="M2195.0585,824.5553 C2269.2101,859.0033 2366.0093,897.8862 2457,915.8594 C2562.4654,936.6917 10121.2789,899.5491 10197,975.8594 C10420.6851,1201.2852 10220.0489,1639.2135 10139.1911,1791.8374 " fill="none" id="urt_publisher_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10136.8343,1796.2692,10144.5918,1790.2011,10139.182,1791.8546,10137.5285,1786.4448,10136.8343,1796.2692" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3f75a4ca5db56e37c381a718c71f2950]
134
reverse link urt_topic_t to urt_topicid_t--><path d="M1600.9198,884.2038 C1623.7218,897.1036 1647.725,908.254 1672,915.8594 C1782.7237,950.5495 9934.4679,904.5501 10026,975.8594 C10290.8078,1182.1614 10063.7946,1407.6652 10216,1706.8594 C10226.5426,1727.5833 10240.6038,1748.0172 10255.2427,1766.5747 " fill="none" id="urt_topic_t&lt;-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1589.47,877.5244,1592.6371,884.0028,1599.8352,883.571,1596.6682,877.0926,1589.47,877.5244" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1590.5329" y="897.6054">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10240.2284" y="1755.8987">1</text><!--MD5=[2ea2859f8de074b5c128ff5997404a58]
135
reverse link urt_topic_t to urt_osMutex_t--><path d="M1601.2985,884.0358 C1624.0017,896.9214 1647.8772,908.1132 1672,915.8594 C1968.9162,1011.2039 4169.9622,927.2532 4478,975.8594 C4975.7854,1054.4064 5067.4427,1215.89 5564,1301.8594 C5581.1017,1304.8202 5704.7266,1301.6158 5720,1309.8594 C5791.8912,1348.6616 5840.91,1433.4364 5866.3979,1487.9699 " fill="none" id="urt_topic_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1589.8962,877.3682,1593.0564,883.8499,1600.255,883.4258,1597.0948,876.944,1589.8962,877.3682" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1599.9674" y="897.8296">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5855.092" y="1477.3193">1</text><!--MD5=[ee40dc1875ed5325eec4e6c8c8102744]
136
reverse link urt_topic_t to urt_osEventSource_t--><path d="M1600.9201,884.203 C1623.722,897.1029 1647.7251,908.2535 1672,915.8594 C1782.1664,950.3771 9902.6615,893.9316 9984,975.8594 C10060.1568,1052.5679 10003.4993,1548.1484 9842,1706.8594 C9802.9389,1745.2461 9775.2023,1721.8661 9722,1734.8594 C9624.1379,1758.7598 9514.2091,1786.8211 9429.344,1808.7493 " fill="none" id="urt_topic_t&lt;-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1589.4703,877.5235,1592.6373,884.0019,1599.8355,883.5702,1596.6685,877.0918,1589.4703,877.5235" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1590.5332" y="897.6044">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9445.9865" y="1797.9166">1</text><!--MD5=[f5e2f818dfb7c47ef0a661b061d2efd0]
137
link urt_topic_t to urt_config--><path d="M1589.4685,877.529 C1615.6176,893.2389 1643.6229,906.9717 1672,915.8594 C1899.4712,987.103 10030.1192,891.3436 10253,975.8594 C10368.453,1019.6389 10984.5267,1642.661 11090,1706.8594 C11118.9754,1724.4958 11141.9148,1706.8171 11161,1734.8594 C11210.5125,1807.6091 11216.7595,1864.7795 11161,1932.8594 C11076.5813,2035.9309 10695.8329,2076.7438 10480.1902,2091.8047 " fill="none" id="urt_topic_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10475.1273,2092.1556,10484.3825,2095.5232,10480.1153,2091.8096,10483.8289,2087.5424,10475.1273,2092.1556" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a01366c261f16bb61c03de8616a1256c]
138
reverse link urt_topic_t to urt_osTimer_t--><path d="M1601.2832,884.0834 C1623.9888,896.9614 1647.8691,908.1384 1672,915.8594 C2001.1801,1021.1852 4439.6088,928.7284 4782,975.8594 C5366.5755,1056.3276 5520.9751,1086.1173 6067,1309.8594 C6180.9317,1356.5447 6302.1939,1430.6378 6379.8448,1481.6175 " fill="none" id="urt_topic_t&lt;-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1589.8799,877.4191,1593.0418,883.9,1600.2404,883.4739,1597.0784,876.993,1589.8799,877.4191" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1611.1426" y="897.1721">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6344.3696" y="1470.9225">0..1</text><!--MD5=[23aed2412a22c58889d68b772ca9654f]
139
link urt_topic_t to urt_status_t--><path d="M1589.4689,877.5279 C1615.6179,893.2379 1643.6231,906.9711 1672,915.8594 C1784.9926,951.2514 10101.6494,905.6584 10197,975.8594 C10231.3247,1001.1306 10408.5849,1670.0054 10430,1706.8594 C10449.8722,1741.0582 10479.4187,1773.8762 10505.1186,1799.0281 " fill="none" id="urt_topic_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10508.8809,1802.6827,10505.2124,1793.5425,10505.2945,1799.1988,10499.6382,1799.2809,10508.8809,1802.6827" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[40d97a101b79fe2b6aede42ee911a5e3]
140
reverse link urt_message_t to urt_osTime_t--><path d="M2444.5316,1104.3803 C2769.0239,1163.1976 3368.3854,1263.2312 3885,1301.8594 C3904.0167,1303.2813 5240.3714,1302.587 5258,1309.8594 C5349.0972,1347.4401 5423.7984,1439.7243 5462.1291,1494.6744 " fill="none" id="urt_message_t&lt;-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2431.6742,1102.0452,2436.8629,1107.053,2443.4811,1104.1895,2438.2924,1099.1817,2431.6742,1102.0452" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2439.2104" y="1100.2648">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5458.3247" y="1483.6409">1</text><!--MD5=[7527c1e2a180419f2ba2182e8f11877d]
141
reverse link urt_message_t to urt_osMutex_t--><path d="M2444.9373,1087.8259 C2909.1199,1141.6573 3965.5808,1256.9922 4858,1301.8594 C4881.9153,1303.0618 5698.694,1298.9306 5720,1309.8594 C5792.9076,1347.257 5841.7608,1432.8883 5866.9171,1487.9088 " fill="none" id="urt_message_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2431.7156,1086.2906,2437.2141,1090.956,2443.6355,1087.6748,2438.137,1083.0094,2431.7156,1086.2906" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2439.2531" y="1083.9933">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5864.756" y="1477.25">1</text><!--MD5=[107def0b4b669b7e1be29db2eeb634c8]
142
reverse link urt_message_t to urt_osCondvar_t--><path d="M2395.6982,1148.1844 C2526.6035,1204.4797 2706.4174,1272.1016 2873,1301.8594 C2918.2563,1309.9439 4483.886,1296.9192 4528,1309.8594 C4647.2026,1344.8257 4764.7879,1432.3143 4831.3925,1488.1835 " fill="none" id="urt_message_t&lt;-urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2383.583,1142.9466,2387.503,1148.9991,2394.5977,1147.7086,2390.6777,1141.656,2383.583,1142.9466" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2391.0427" y="1163.1211">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4815.0102" y="1477.204">1</text><!--MD5=[2bb9471b6fda5815e085c87a24a67f11]
143
link urt_message_t to urt_config--><path d="M2431.5848,1074.9522 C2709.0372,1093.6254 3194.4685,1124.6568 3611,1142.8594 C3693.8145,1146.4784 9515.449,1254.3363 9577,1309.8594 C9784.3717,1496.9226 9472.994,1724.5389 9659,1932.8594 C9727.3367,2009.3942 10003.5877,2058.1791 10179.6224,2082.1489 " fill="none" id="urt_message_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10184.801,2082.8508,10176.42,2077.678,10179.8463,2082.1791,10175.3452,2085.6054,10184.801,2082.8508" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[570f5794230ed2cf7946261591bb6cd1]
144
link urt_message_t to urt_status_t--><path d="M2431.536,1076.196 C2708.9397,1096.1118 3194.3223,1128.3845 3611,1142.8594 C3776.1033,1148.5949 9412.825,1124.0166 9558,1202.8594 C9668.9263,1263.1022 9714.6668,1637.2984 9820,1706.8594 C9877.8215,1745.0441 10379.3492,1707.4738 10443,1734.8594 C10474.565,1748.4402 10502.5017,1774.8558 10522.9342,1798.5112 " fill="none" id="urt_message_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10526.4043,1802.5859,10523.6144,1793.1404,10523.1625,1798.7792,10517.5237,1798.3273,10526.4043,1802.5859" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7cee5aa7c1aa784c863bfc703478827b]
145
reverse link urt_subscriber_t to urt_osEventListener_t--><path d="M1229.9889,917.1783 C1939.8397,1020.7077 3693.7515,944.8957 4394,975.8594 C4928.101,999.4763 8829.3212,918.9233 9194,1309.8594 C9314.3569,1438.8821 9309.7009,1573.6455 9194,1706.8594 C9164.8606,1740.4095 9038.8447,1723.0675 8996,1734.8594 C8934.6831,1751.7353 8868.7101,1779.3348 8817.9287,1802.7902 " fill="none" id="urt_subscriber_t&lt;-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1217.0299,915.2507,1222.376,920.09,1228.8993,917.0164,1223.5532,912.1771,1217.0299,915.2507" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1224.5959" y="914.3976">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8823.1455" y="1791.7752">1</text><!--MD5=[d78112c1c4e2d668c8a365106ad0148b]
146
reverse link urt_subscriber_t to urt_osTime_t--><path d="M1230.041,917.0292 C1612.0967,964.2221 3948.6176,863.0141 4263,975.8594 C4375.5643,1016.2635 4366.0624,1091.3552 4474,1142.8594 C4765.0659,1281.7462 4863.7652,1249.5574 5182,1301.8594 C5215.5148,1307.3676 5227.2821,1295.3684 5258,1309.8594 C5346.359,1351.5424 5421.2451,1441.0113 5460.516,1494.6447 " fill="none" id="urt_subscriber_t&lt;-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1217.0302,915.2491,1222.4326,920.0255,1228.9194,916.8758,1223.5171,912.0994,1217.0302,915.2491" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1224.5962" y="929.6069">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5447.3888" y="1483.9243">1</text><!--MD5=[86ebe93bbfa4ec3b6f23ec8ed904ce0f]
147
link urt_subscriber_t to urt_config--><path d="M1217.0277,915.2658 C1218.353,915.466 1219.6772,915.6639 1221,915.8594 C1809.4248,1002.8154 5979.9364,945.9672 6574,975.8594 C7703.3033,1032.6838 7991.144,1026.2588 9108,1202.8594 C9319.1767,1236.2513 9425.4905,1159.0102 9577,1309.8594 C9677.7308,1410.1512 9623.4872,1830.3881 9722,1932.8594 C9784.8068,1998.19 10020.7139,2048.8722 10179.5299,2076.5249 " fill="none" id="urt_subscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10184.6759,2077.4175,10176.492,2071.9381,10179.7495,2076.5629,10175.1247,2079.8204,10184.6759,2077.4175" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[52cc257f73bbbb16d4f5605ee05234fd]
148
reverse link urt_subscriber_t to urt_delay_t--><path d="M1230.006,916.128 C1619.6681,932.1814 9820.5409,901.3882 9913,975.8594 C9978.5646,1028.6684 10074.2005,1619.7408 10101.4831,1796.3298 " fill="none" id="urt_subscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1217.0264,915.2742,1222.7509,919.6594,1229.0005,916.062,1223.2761,911.6767,1217.0264,915.2742" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1224.7616" y="932.1782">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="10074.7385" y="1785.3708">0..2</text><!--MD5=[e382e2d38ad01b25c47e084dc0da57c4]
149
link urt_subscriber_t to urt_status_t--><path d="M1217.0264,915.2743 C1218.3522,915.4718 1219.6768,915.6668 1221,915.8594 C1341.2358,933.3604 9867.0051,909.8293 9969,975.8594 C10268.8458,1169.9754 10022.979,1485.101 10303,1706.8594 C10352.7447,1746.254 10386.7911,1705.4141 10443,1734.8594 C10472.7418,1750.4398 10500.0598,1776.0897 10520.6007,1798.8095 " fill="none" id="urt_subscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10524.0968,1802.7207,10521.0812,1793.3448,10520.7647,1798.9928,10515.1167,1798.6763,10524.0968,1802.7207" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3efe35f90d26626840318a84096a56c5]
150
link urt_hrtdata_t to urt_config--><path d="M1227.8623,1561.0791 C1705.9069,1633.8564 3238.1575,1857.1594 4516,1932.8594 C4796.6768,1949.4868 9297.1905,1925.2445 9577,1952.8594 C9788.4456,1973.7273 10028.7512,2025.6652 10179.8516,2061.8502 " fill="none" id="urt_hrtdata_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10184.7422,2063.0234,10176.9237,2057.0342,10179.8802,2061.8569,10175.0574,2064.8134,10184.7422,2063.0234" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ed989009be771aee0dc5ea42e965db70]
151
reverse link urt_hrtdata_t to urt_osTimer_t--><path d="M1240.8154,1521.9202 C1712.0152,1476.6922 3117.9516,1348.0979 4288.5,1305.8594 C4337.3849,1304.0954 6000.8918,1300.3749 6049.5,1305.8594 C6187.8901,1321.4741 6323.8568,1418.1177 6399.9406,1481.6449 " fill="none" id="urt_hrtdata_t&lt;-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1227.825,1523.1687,1234.1802,1526.5763,1239.77,1522.0206,1233.4148,1518.613,1227.825,1523.1687" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1235.2759" y="1519.1628">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6393.8396" y="1470.9532">0..1</text><!--MD5=[7e23fc46f17d4a9469ac4a553a110c32]
152
reverse link urt_hrtdata_t to urt_delay_t--><path d="M1240.8024,1549.2435 C1710.4851,1581.4893 3108.5931,1673.2766 4271,1706.8594 C4350.5511,1709.1577 9927.7599,1703.7219 10001,1734.8594 C10030.8165,1747.5356 10056.4922,1772.8717 10075.3191,1796.141 " fill="none" id="urt_hrtdata_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1227.5156,1548.3302,1233.2271,1552.7323,1239.4873,1549.1532,1233.7758,1544.7511,1227.5156,1548.3302" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1235.4312" y="1545.5525">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="10044.8952" y="1785.1555">0..5</text><!--MD5=[84b4ddc626a7a0aa23e58213a3a30632]
153
link urt_frtdata_t to urt_config--><path d="M656.4669,1621.7873 C684.758,1653.6704 720.8698,1687.0463 761,1706.8594 C1478.4313,2061.0692 1748.5488,1881.4017 2547,1932.8594 C2936.7486,1957.9775 9188.3099,1914.7161 9577,1952.8594 C9788.4571,1973.6103 10028.7599,2025.577 10179.8565,2061.8004 " fill="none" id="urt_frtdata_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10184.747,2062.9748,10176.9299,2056.9837,10179.8852,2061.8072,10175.0618,2064.7625,10184.747,2062.9748" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8b5e0556f8c73fbb24cf4e7733c873ff]
154
reverse link urt_frtdata_t to urt_osTimer_t--><path d="M629.5604,1442.39 C658.8199,1382.0294 707.1876,1313.9056 778.5,1305.8594 C814.8734,1301.7554 6013.1266,1301.7554 6049.5,1305.8594 C6187.8901,1321.4741 6323.8568,1418.1177 6399.9406,1481.6449 " fill="none" id="urt_frtdata_t&lt;-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="623.9621,1454.3385,630.1299,1450.6024,629.0534,1443.4721,622.8856,1447.2082,623.9621,1454.3385" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="618.2743" y="1443.294">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6366.9146" y="1470.9532">0..1</text><!--MD5=[29efa6d8db454d55b0473550ef148da3]
155
reverse link urt_frtdata_t to urt_delay_t--><path d="M661.9444,1631.7114 C689.0408,1661.5225 722.8957,1690.8752 761,1706.8594 C879.3433,1756.5027 9882.8498,1684.7582 10001,1734.8594 C10030.8282,1747.508 10056.5046,1772.8424 10075.3289,1796.1177 " fill="none" id="urt_frtdata_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="653.018,1621.6026,653.9911,1628.7477,660.9609,1630.5976,659.9878,1623.4525,653.018,1621.6026" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="649.918" y="1641.7909">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="10072.2814" y="1785.1289">0..5</text><!--MD5=[19bf7f91edc926705d1714d4ed8cf052]
156
link urt_srtusefulnessfunc_t to urt_delay_t--><path d="M428.1863,1838.4614 C1026.2415,1815.2425 2944.7328,1743.9874 4533.5,1720.8594 C4609.1864,1719.7576 9912.0726,1695.804 9983.5,1720.8594 C10020.1469,1733.7145 10051.1786,1764.3064 10073.2168,1792.0071 " fill="none" id="urt_srtusefulnessfunc_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10076.4027,1796.0707,10073.9976,1786.52,10073.3177,1792.1358,10067.7019,1791.456,10076.4027,1796.0707" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[49d68c01ac8dc0620b1ed1800c01c519]
157
link urt_rpc_t to urt_status_t--><path d="M4219.007,459.4409 C4852.8104,472.0548 7049.5896,515.202 8863,543.8594 C8897.3043,544.4015 11307.7937,553.5845 11333,576.8594 C11412.1174,649.9144 11378,951.6719 11378,1059.3594 C11378,1059.3594 11378,1059.3594 11378,1252.3594 C11378,1567.0748 11120.5347,1574.5124 10835,1706.8594 C10768.7074,1737.5864 10738.1637,1701.8056 10673,1734.8594 C10642.9393,1750.1075 10615.5138,1775.877 10594.9909,1798.7499 " fill="none" id="urt_rpc_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10591.4992,1802.6879,10600.463,1798.6073,10594.8163,1798.9466,10594.477,1793.3,10591.4992,1802.6879" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e94002b645d3e9bc57281d43facd7112]
158
link urt_rpc_t to urt_serviceid_t--><path d="M4219.0075,459.4132 C4852.8123,471.9347 7049.5958,514.8123 8863,543.8594 C8896.235,544.3918 11231.4457,554.4554 11256,576.8594 C11335.6476,649.532 11307,951.5399 11307,1059.3594 C11307,1059.3594 11307,1059.3594 11307,1252.3594 C11307,1317.4777 11020.5263,1615.602 10874.8992,1762.9447 " fill="none" id="urt_rpc_t-&gt;urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10871.0589,1766.8283,10880.2314,1763.2414,10874.5746,1763.273,10874.5429,1757.6162,10871.0589,1766.8283" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[85137379eadac9ac066ccd1aa3005a20]
159
reverse link urt_service_t to urt_serviceid_t--><path d="M4242.4783,764.5029 C5556.0267,784.575 10541.6872,867.7683 10663,975.8594 C10890.2954,1178.3821 10841.7956,1593.1442 10809.2196,1766.7193 " fill="none" id="urt_service_t&lt;-urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4229.093,764.2986,4235.0312,768.3897,4241.0916,764.4817,4235.1534,760.3906,4229.093,764.2986" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4237.197" y="761.2798">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10802.4383" y="1755.785">1</text><!--MD5=[bfc39859b663e58a9d342532110a4ed9]
160
reverse link urt_service_t to urt_osMutex_t--><path d="M4242.1666,787.6371 C4626.8127,835.9117 5281.1007,965.796 5720,1309.8594 C5782.556,1358.8985 5832.815,1437.1754 5861.2897,1488.0483 " fill="none" id="urt_service_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4229.1652,786.0236,4234.6269,790.7321,4241.0738,787.5016,4235.6122,782.793,4229.1652,786.0236" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4237.2712" y="783.5819">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5849.2974" y="1477.4082">1</text><!--MD5=[33249c42c81fffc5b10022c232aa2b33]
161
link urt_service_t to urt_config--><path d="M4229.0051,762.6518 C5481.2354,775.1566 10243.4129,831.8324 10900,975.8594 C11271.5492,1057.3614 11477.9695,992.7182 11688,1309.8594 C11840.8856,1540.7132 11871.4527,1725.4647 11688,1932.8594 C11608.949,2022.2272 10817.5211,2074.1825 10480.5893,2092.4037 " fill="none" id="urt_service_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10475.1708,2092.696,10484.3733,2096.2052,10480.1635,2092.4266,10483.9422,2088.2168,10475.1708,2092.696" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ac5bbcedbd2eba97f2e594f2b75734f9]
162
reverse link urt_service_t to urt_delay_t--><path d="M4242.5049,764.6024 C5549.6163,784.9889 10490.403,869.0026 10611,975.8594 C10726.9796,1078.6249 10631.9618,1694.8346 10620,1706.8594 C10556.6891,1770.5041 10298.4401,1697.0913 10217,1734.8594 C10187.9735,1748.3205 10162.596,1773.2518 10143.7471,1796.081 " fill="none" id="urt_service_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4229.1845,764.3949,4235.1214,768.4879,4241.183,764.5819,4235.2461,760.4889,4229.1845,764.3949" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4237.291" y="776.7771">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="10122.8037" y="1785.4453">0..2</text><!--MD5=[5471b15d17b5493f5e528354308bf7b4]
163
link urt_service_t to urt_status_t--><path d="M4229.2037,763.6143 C5543.9247,780.7046 10719.3813,855.5372 10836,975.8594 C11069.5838,1216.8611 10726.8666,1654.0796 10601.1477,1798.2969 " fill="none" id="urt_service_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10597.4922,1802.4777,10606.4274,1798.335,10600.7832,1798.7135,10600.4047,1793.0693,10597.4922,1802.4777" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0826203957815bb9ddac9132e239afa7]
164
link urt_servicefunc_t to urt_delay_t--><path d="M4247.8316,1059.7059 C5257.5131,1061.9554 9319.048,1078.715 9558,1202.8594 C9805.5245,1331.4575 9711.4615,1536.0713 9932,1706.8594 C9958.1666,1727.1232 9973.542,1716.3833 10001,1734.8594 C10024.5273,1750.6906 10046.9999,1772.3177 10065.2935,1792.2779 " fill="none" id="urt_servicefunc_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10068.8956,1796.2456,10065.8077,1786.8933,10065.5348,1792.5436,10059.8845,1792.2707,10068.8956,1796.2456" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3a1e539c88376aaf116c25a44ec54d4f]
165
link urt_servicefunc_t to urt_status_t--><path d="M4247.8446,1060.9005 C5265.964,1068.3857 9390.3874,1104.6745 9646,1202.8594 C9961.6752,1324.1152 9908.0034,1567.2462 10216,1706.8594 C10308.5855,1748.8279 10351.2559,1691.0822 10443,1734.8594 C10473.6577,1749.4882 10501.2918,1775.5086 10521.7835,1798.6806 " fill="none" id="urt_servicefunc_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10525.2675,1802.6709,10522.3615,1793.2605,10521.9791,1798.9044,10516.3351,1798.522,10525.2675,1802.6709" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9b83926eaf943def5703de2b1cf2c4ec]
2 166
@startuml
3 167

  
4 168
title **µRtWare**\nOverview\n
5 169

  
6 170

  
7 171

  
8
class urt_config <<(C,grey)>> {
9
  + URT_CFG_DEBUG : bool
10
  + URT_CFG_DELAY_WIDTH
11
  + URT_CFG_TOPICID_WIDTH
12
  + URT_CFG_NODESTAGE_WIDTH
13
}
14 172

  
15
package "primitives" {
16 173

  
17
  class urt_delay_t <<(T,lightblue)>> {
18
    .. either ..
19
    uint32_t
20
    .. or ..
21
    uint64_t
22
  }
23
  urt_delay_t ..> urt_config
24 174

  
25
  enum urt_status_t {
26
    URT_STATUS_OK = 0
27
    URT_STATUS_WARNING = 1
28
    URT_STATUS_ERROR = -1
29
  }
30
  
31
  class urt_topicid_t <<(T,lightblue)>> {
32
    uin8_t
33
    .. or ..
34
    uint16_t
35
    .. or ..
36
    uint32_t
37
    .. or ..
38
    uint64_t
39
  }
40
  urt_topicid_t ..> urt_config
41

  
42
  class urt_nodestage_t <<T,lightblue>> {
43
    uin8_t
44
    .. or ..
45
    uint16_t
46
    .. or ..
47
    uint32_t
48
    .. or ..
49
    uint64_t
50
  }
51
  urt_nodestage_t ..> urt_config
52 175

  
53
} 
54 176

  
55 177

  
56 178

  
57
package "OSAL" {
58 179

  
59
  class urt_osTime_t <<(T,lightblue)>> {
60
    + urtTime2Us (t : urt_osTime_t*) : uint64_t
61
    + urtTimeNow (void) : urt_osTime_t
62
  }
63 180

  
64
  class urt_osMutex_t <<(T,lightblue)>> {
65
    + urtMutexInit (mutex : urt_osMutex_t*) : void
66
    + urtMutexLock (mutex : urt_osMutex_t*) : void
67
    + urtMutexTryLock (mutex : urt_osMutex_t*) : bool
68
    + urtMutexUnlock (mutex : urt_osMutex_t*) : void
69
  }
70 181

  
71
  package "condition variable" {
182
  package "Configuration" <<Node>> {
72 183

  
73
    enum urt_condvarStatus_t {
74
      + URT_CONDVAR_STATUS_SIGNAL = 0
75
      + URT_CONDVAR_STATUS_BROADCAST = 1
76
      + URT_CONDVAR_STATUS_TIMEOUT = 2
77
    }
184
  class urt_config <<C,BFBFBF>> {
185
  URT_CFG_DELAY_WIDTH : int
186
  URT_CFG_TOPICID_WIDTH : int
187
  URT_CFG_SERVICEID_WIDTH : int
188
  URT_CFG_NODESTAGE_WIDTH : int
189
  ..
190
  URT_CFG_DEBUG_ENABLED : bool
191
  ..
192
  URT_CFG_PUBSUB_ENABLED : bool
193
  URT_CFG_PUBSUB_PROFILING : bool
194
  URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool
195
  URT_CFG_PUBSUB_QOS_RATECHECKS : bool
196
  URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool
197
  ..
198
  URT_CFG_RPC_ENABLED : bool
199
  URT_CFG_RPC_PROFILING : bool
200
  URT_CFG_RPC_QOS_JITTERCHECKS : bool
201
}
78 202

  
79
    class urt_osCondvar_t <<(T,lightblue)>> {
80
      + urtCondvarInit (condvar : urt_osCondvar_t*) : void
81
      + urtConvarSignal (condvar : urt_osCondvar_t*) : void
82
      + urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void
83
      + urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_condvarStatus_t
84
    }
85
    urt_osCondvar_t ..> urt_osMutex_t
86
    urt_osCondvar_t ..> urt_delay_t
87
    urt_osCondvar_t ..> urt_condvarStatus_t
203
}
88 204

  
89
  } 
205
  package "Primitives" <<Node>> {
206

  
207
  class urt_nodestage_t <<T,00CFFF>> {
208
  .. URT_CFG_NODESTAGE_WIDTH == 8 ..
209
  uin8_t
210
  .. URT_CFG_NODESTAGE_WIDTH == 16 ..
211
  uint16_t
212
  .. URT_CFG_NODESTAGE_WIDTH == 32 ..
213
  uint32_t
214
  .. URT_CFG_NODESTAGE_WIDTH == 64 ..
215
  uint64_t
216
}
90 217

  
91
  package "timer" {
218
  class urt_topicid_t <<T,00CFFF>> {
219
  .. URT_CFG_TOPICID_WIDTH == 8 ..
220
  uin8_t
221
  .. URT_CFG_TOPICID_WIDTH == 16 ..
222
  uint16_t
223
  .. URT_CFG_TOPICID_WIDTH == 32 ..
224
  uint32_t
225
  .. URT_CFG_TOPICID_WIDTH == 64 ..
226
  uint64_t
227
}
92 228

  
93
    class urt_osTimerCallback_t <<(T,lightblue)>> {
94
      urt_osTimerCallback_t (parameter : void*) : void
95
    }
96
  
97
    class urt_osTimer_t <<(T,lightblue)>> {
98
      + urtTimerInit (timer : urt_osTimer_t*) : void
99
      + urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t
100
      + urtTimerReset (timer : urt_osTimer_t*) : urt_status_t
101
      + urtTimerIsArmed (timer : urt_osTimer_t*) : bool
102
    }
103
    urt_osTimer_t ..> urt_delay_t
104
    urt_osTimer_t ..> urt_status_t
105
    urt_osTimer_t ..> urt_osTimerCallback_t
229
  class urt_serviceid_t <<T,00CFFF>> {
230
  .. URT_CFG_SERVICEID_WIDTH == 8 ..
231
  uin8_t
232
  .. URT_CFG_SERVICEID_WIDTH == 16 ..
233
  uint16_t
234
  .. URT_CFG_SERVICEID_WIDTH == 32 ..
235
  uint32_t
236
  .. URT_CFG_SERVICEID_WIDTH == 64 ..
237
  uint64_t
238
}
106 239

  
107
  } 
240
  class urt_status_t <<T,00CFFF>> {
241
  URT_STATUS_OK = 0x0..0
242
  URT_STATUS_WARNING = 0x4..0
243
  URT_STATUS_ERROR = 0x8..0
244
}
108 245

  
109
  package "thread" {
110

  
111
    class urt_osThreadPrio_t <<(T,lightblue)>> {
112
      + URT_THREAD_PRIO_LOW_MIN
113
      + URT_THREAD_PRIO_LOW_MAX
114
      + URT_THREAD_PRIO_NORMAL_MIN
115
      + URT_THREAD_PRIO_NORMAL_MAX
116
      + URT_THREAD_PRIO_HIGH_MIN
117
      + URT_THREAD_PRIO_HIGH_MAX
118
      + URT_THREAD_PRIO_RT_MIN
119
      + URT_THREAD_PRIO_RT_MAX
120
    }
246
  class urt_delay_t <<T,00CFFF>> {
247
  .. URT_CFG_DELAY_WIDTH == 32 ..
248
  uint32_t
249
  .. URT_CFG_DELAY_WIDTH == 64 ..
250
  uint64_t
251
}
121 252

  
122
    class urt_osThreadFunction_t <<(T,lightblue)>> {
123
      urt_osThreadFunction_t (arg : void*) : void
124
    }
253
  class urt_debug <<F,E0E0E0>> {
254
  + {method} urtDebugAssert(condition : bool) : void
255
}
125 256

  
126
    enum urt_osThreadTerminateSignal_t {
127
      URT_THREAD_TERMINATE_REQUEST = 15
128
      URT_THREAD_TERMINATE_KILL = 9
129
    }
257
}
130 258

  
131
    enum urt_osThreadState_t {
132
      URT_THREAD_STATE_RUNNING = 0
133
      URT_THREAD_STATE_READY = 1
134
      URT_THREAD_STATE_SLEEPING = 2
135
      URT_THREAD_STATE_SUSPENDED = 3
136
      URT_THREAD_STATE_WAITING = 4
137
      URT_THREAD_STATE_TERMINATED = 5
138
    }
259
  package "OSAL" <<Node>> {
139 260

  
140
    class urt_osThread_t <<(T,lightblue)>> {
141
      + URT_THREAD_SLEEP_MAX : float
142
      + URT_THREAD_SSLEP_MAX : unsigned int
143
      + URT_THREAD_MSLEEP_MAX : unsigned int
144
      + URT_THREAD_USLEEP_MAX : unisgned int
145
      __
146
      + URT_THREAD_MEMORY (varname, stacksize)
147
      ..
148
      + urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*
149
      + urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void
150
      + urtThreadYield (void) : void
151
      + urtThreadGetPriority (void) : urt_osThreadPrio_t
152
      + urtThreadSetPriority (prio : urt_osThreadPrio_t) : void
153
      + urtThreadSuspend (thread : urt_osThread_t*) : void
154
      + urtThreadResume (thread : urt_osThread_t*) : urt_status_t
155
      + urtThreadSleep (seconds : float) : void
156
      + urtThreadSSleep (seconds : usnigned int) : void
157
      + urtThreadMSleep (milliseconds : unsigned int) : void
158
      + urtThreadUSleep (microseconds : unsigned int) : void
159
      + urtThreadSleepUntil (time : urt_osTime_t) : void
160
      + urtThreadExit (void) : void
161
      + urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
162
      + urtThreadJoin (thread : urt_osThread_t*) : int
163
      + urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
164
      + urtThreadGetSelf (void) : urt_osThread_t*
165
      + urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*
166
      + urtThreadGetSibling (thread : urt_osThread_t*) : urt_osThread_t*
167
      + urtThreadGetParent (thread : urt_osThread_t) : urt_osThread_t*
168
    }
169
    urt_osThread_t ..> urt_osThreadPrio_t
170
    urt_osThread_t ..> urt_osThreadFunction_t
171
    urt_osThread_t ..> urt_osTime_t
172
    urt_osThread_t ..> urt_osThreadTerminateSignal_t
173
    urt_osThread_t ..> urt_osThreadState_t
174
    urt_osThread_t ..> urt_status_t
261
  class urt_osTime_t <<T,00CFFF>> {
262
  + {method} urtTime2Us (t : urt_osTime_t*) : uint64_t
263
  + {method} urtTimeNow (void) : urt_osTime_t
264
  + {method} urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*
265
}
175 266

  
176
  } 
267
  class urt_osMutex_t <<T,00CFFF>> {
268
  + {method} urtMutexInit (mutex : urt_osMutex_t*) : void
269
  + {method} urtMutexLock (mutex : urt_osMutex_t*) : void
270
  + {method} urtMutexTryLock (mutex : urt_osMutex_t*) : bool
271
  + {method} urtMutexUnlock (mutex : urt_osMutex_t*) : void
272
}
177 273

  
178
  package "events" {
274
  package "condition variable" <<Rectangle>> {
275
    class urt_osCondvarWaitStatus_t <<E,FF7F3F>> {
276
    URT_CONDVAR_WAITSTATUS_SIGNAL = 1
277
    URT_CONDVAR_WAITSTATUS_BROADCAST = 2
278
    URT_CONDVAR_WAITSTATUS_TIMEOUT = 0
279
  }
179 280

  
180
    class urt_osEventMask_t <<(T,lightblue)>> {
181
      + URT_EVENTMASK_MAXPRIO : urt_osEventMask_t
182
    }
281
    class urt_osCondvar_t <<T,00CFFF>> {
282
    + {method} urtCondvarInit (condvar : urt_osCondvar_t*) : void
283
    + {method} urtCondvarSignal (condvar : urt_osCondvar_t*) : void
284
    + {method} urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void
285
    + {method} urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t
286
  }
287
}
183 288

  
184
    class urt_osEventFlags_t <<(T,lightblue)>>
289
  package "timer" <<Rectangle>> {
290
    class urt_osTimerCallback_t <<T,00CFFF>> {
291
    urt_osTimerCallback_t (parameter : void*) : void
292
  }
185 293

  
186
    enum urt_osEventWaitType_t {
187
      URT_EVENT_WAIT_ONE = 0
188
      URT_EVENT_WAIT_ANY = 1
189
      URT_EVENT_WAIT_ALL = 2
190
    }
294
    class urt_osTimer_t <<T,00CFFF>> {
295
    + {method} urtTimerInit (timer : urt_osTimer_t*) : void
296
    + {method} urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t
297
    + {method} urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t
298
    + {method} urtTimerReset (timer : urt_osTimer_t*) : urt_status_t
299
    + {method} urtTimerIsArmed (timer : urt_osTimer_t*) : bool
300
  }
301
} 
191 302

  
192
    class urt_osEventListener_t <<(T,lightblue)>> {
193
      + urtEventListenerInit (listener : urt_osEventListener_t*) : void
194
      + urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
195
      + urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
196
    }
197
    urt_osEventListener_t ..> urt_osEventFlags_t
303
  package "thread" <<Rectangle>> {
304
    class urt_osThreadPrio_t <<T,00CFFF>> {
305
    URT_THREAD_PRIO_LOW_MIN
306
    URT_THREAD_PRIO_LOW_MAX
307
    URT_THREAD_PRIO_NORMAL_MIN
308
    URT_THREAD_PRIO_NORMAL_MAX
309
    URT_THREAD_PRIO_HIGH_MIN
310
    URT_THREAD_PRIO_HIGH_MAX
311
    URT_THREAD_PRIO_RT_MIN
312
    URT_THREAD_PRIO_RT_MAX
313
  }
198 314

  
199
    class urt_osEventSource_t <<(T,lightblue)>> {
200
      + urtEventSourceInit (source : urt_osEventSource_t*) : void
201
      + urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void
202
    }
203
    urt_osEventSource_t ..> urt_osEventFlags_t
315
    class urt_osThreadFunction_t <<T,00CFFF>> {
316
    urt_osThreadFunction_t (arg : void*) : void
317
  }
204 318

  
205
    class urt_events <<(F,white)>> {
206
      + urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t) : urt_status_t
207
      + urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t
208
      + urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t
209
    }
210
    urt_events ..> urt_osEventSource_t
211
    urt_events ..> urt_osEventListener_t
212
    urt_events ..> urt_osEventMask_t
213
    urt_events ..> urt_status_t
214
    urt_events ..> urt_osEventWaitType_t
215
    urt_events ..> urt_delay_t
319
    class urt_osThreadTerminateSignal_t <<E,FF7F3F>> {
320
    URT_THREAD_TERMINATE_REQUEST = 15
321
    URT_THREAD_TERMINATE_KILL = 9
322
  }
216 323

  
217
  } 
324
    class urt_osThreadState_t <<E,FF7F3F>> {
325
    URT_THREAD_STATE_INACTIVE = 0
326
    URT_THREAD_STATE_RUNNING = 1
327
    URT_THREAD_STATE_READY = 2
328
    URT_THREAD_STATE_SLEEPING = 3
329
    URT_THREAD_STATE_SUSPENDED = 4
330
    URT_THREAD_STATE_WAITING = 5
331
    URT_THREAD_STATE_TERMINATED = 6
332
  }
218 333

  
219
    class urt_streams <<(F,white)>> {
220
      + urtPrintf(fmt : char*, ... ) : int
221
      + urtErrPrintf(fmt : char*, ... ) : int
222
    }
334
    class urt_osThread_t <<T,00CFFF>> {
335
    URT_THREAD_SLEEP_MAX : float
336
    URT_THREAD_SSLEP_MAX : urt_delay_t
337
    URT_THREAD_MSLEEP_MAX : urt_delay_t
338
    URT_THREAD_USLEEP_MAX : urt_delay_t
339
    - -
340
    + {method} URT_THREAD_MEMORY (varname, stacksize)
341
    ..
342
    + {method} urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*
343
    + {method} urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void
344
    + {method} urtThreadYield (void) : void
345
    + {method} urtThreadGetPriority (void) : urt_osThreadPrio_t
346
    + {method} urtThreadSetPriority (prio : urt_osThreadPrio_t) : void
347
    + {method} urtThreadSuspend (thread : urt_osThread_t*) : void
348
    + {method} urtThreadResume (thread : urt_osThread_t*) : urt_status_t
349
    + {method} urtThreadSleep (seconds : float) : void
350
    + {method} urtThreadSSleep (seconds : urt_delay_t) : void
351
    + {method} urtThreadMSleep (milliseconds : urt_delay_t) : void
352
    + {method} urtThreadUSleep (microseconds : urt_delay_t) : void
353
    + {method} urtThreadSleepUntil (time : urt_osTime_t) : void
354
    + {method} urtThreadExit (void) : void
355
    + {method} urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
356
    + {method} urtThreadJoin (thread : urt_osThread_t*) : void
357
    + {method} urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
358
    + {method} urtThreadGetSelf (void) : urt_osThread_t*
359
  }
360
} 
361

  
362
  package "events" <<Rectangle>> {
363
    class urt_osEventMask_t <<T,00CFFF>> {
364
    URT_EVENTMASK_MAXPRIO : urt_osEventMask_t
365
  }
366

  
367
    class urt_osEventFlags_t <<T,00CFFF>> {
368
  }
369

  
370
    class urt_osEventWait_t <<E,FF7F3F>> {
371
    URT_EVENT_WAIT_ONE = 0
372
    URT_EVENT_WAIT_ANY = 1
373
    URT_EVENT_WAIT_ALL = 2
374
  }
375

  
376
    class urt_osEventListener_t <<T,00CFFF>> {
377
    + {method} urtEventListenerInit (listener : urt_osEventListener_t*) : void
378
    + {method} urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
379
    + {method} urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t
380
  }
223 381

  
382
    class urt_osEventSource_t <<T,00CFFF>> {
383
    + {method} urtEventSourceInit (source : urt_osEventSource_t*) : void
384
    + {method} urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void
385
  }
386

  
387
    class urt_events <<F,E0E0E0>> {
388
    + {method} urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t
389
    + {method} urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t
390
    + {method} urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWait_t, timeout : urt_delay_t) : urt_osEventMask_t
391
  }
224 392
} 
225 393

  
226
package "middleware" {
394
  class urt_streams <<F,E0E0E0>> {
395
  + {method} urtPrintf(fmt : char*, ... ) : int
396
  + {method} urtErrPrintf(fmt : char*, ... ) : int
397
}
398

  
399
}
400

  
401
  package "Middleware" <<Node>> {
402

  
403
  class urt_core_t <<S,BFAFFF>> {
404
  - {field} {static} _nodes : urt_node_t*
405
  - {field} {static} _evtSource : urt_osEventSource_t
406
  - {field} {static} _lock : urt_osMutex_t
407
  .. URT_CFG_PUBSUB_ENABLED == true ..
408
  - {field} {static} _pubsub : urt_pubsub_t
409
  .. URT_CFG_RPC_ENABLED == true ..
410
  - {field} {static} _rpc : urt_rpc_t
411
  __
412
  + {method} urtCoreInit (void) : urt_status_t
413
  + {method} urtCoreStartNodes (void) : urt_status_t
414
  + {method} urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodestage_t) : urt_status_t
415
  + {method} urtCoreStopNodes (void) : urt_status_t
416
}
227 417

  
228
  class urt_debug <<(F,white)>> {
229
    + urtDebugAssert(condition : bool) : void
418
  package "node" <<Rectangle>> {
419
    class urt_nodeSetupCallback_t <<T,00CFFF>> {
420
    urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t
230 421
  }
231
  urt_debug ..> urt_config
232 422

  
233
  package "real-time class" {
423
    class urt_nodeLoopCallback_t <<T,00CFFF>> {
424
    urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t
425
  }
426

  
427
    class urt_node_t <<S,BFAFFF>> {
428
    + {field} next : urt_node_t*
429
    + {field} thread : urt_osThread_t*
430
    + {field} setupcallback : urt_nodeSetupCallback_t*
431
    + {field} setupparams : void*
432
    + {field} loopcallback : urt_nodeLoopCallback_t*
433
    + {field} loopparams : void*
434
    + {field} stage : urt_nodestage_t
435
    + {field} listener : urt_osEventListener_t
436
    __
437
    - {method} {static} _main : urt_osThreadFunction_t
438
    + {method} urtNodeInit (node : urt_node_t*, stacksize : size_t, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*) : urt_status_t
439
  }
440
} 
441

  
442
  package "Publish-Subscribe System" <<Node>> {
443

  
444
  class urt_message_t <<S,BFAFFF>> {
445
  + {field} next : urt_message_t*
446
  + {field} payload : void*
447
  + {field} originTime : urt_osTime_t
448
  + {field} lock : urt_osMutex_t
449
  + {field} numHrtConsumersLeft : unsigned int
450
  + {field} hrtConsumersLeft : urt_osCondvar_t
451
  .. URT_CFG_PUBSUB_PROFILING == true ..
452
  + {field} numConsumersLeft : unsigned int
453
  __
454
  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
455
}
234 456

  
235
    class urt_rtclass_t <<(S,lightgrey)>> {
236
      + class : urt_rtclasstype_t
237
      + params : urt_rtclassparams_t
457
  package "subscriber" <<Rectangle>> {
458
    package "real-time constraint data" <<Rectangle>> {
459
      class urt_rtdata_t <<S,BFAFFF>> {
460
      + {field} class : urt_rtconstraintclass_t
461
      + {field} params : urt_rtconstraintsparams_t
238 462
    }
239
    urt_rtclass_t "1" *- - "1" urt_rtclasstype_t
240
    urt_rtclass_t "1" *- - "1" urt_rtclassparams_t
241 463

  
242
    enum urt_rtclasstype_t {
464
      class urt_rtclass_t <<E,FF7F3F>> {
243 465
      URT_RTCLASS_HARD = 0
244 466
      URT_RTCLASS_FIRM = 1
245 467
      URT_RTCLASS_SOFT = 2
246 468
      URT_RTCLASS_NONE = 3
247 469
    }
248 470

  
249
    class urt_rtclassparams_t <<(U,lightgreen)>> {
250
      + hrt : urt_hrtparams_t
251
      + frt : urt_frtparams_t
252
      + srt : urt_srtparans_t
253
      + nrt : urt_nrtparams_t
471
      class urt_rtclassdata_t <<U,7FCF7F>> {
472
      + {field} hrt : urt_hrtparams_t
473
      + {field} frt : urt_frtparams_t
474
      + {field} srt : urt_srtparans_t
475
      + {field} nrt : urt_nrtparams_t
254 476
    }
255
    urt_rtclassparams_t "1" *- - "0..1" urt_hrtparams_t
256
    urt_rtclassparams_t "1" *- - "0..1" urt_frtparams_t
257
    urt_rtclassparams_t "1" *- - "0..1" urt_srtparams_t
258
    urt_rtclassparams_t "1" *- - "0..1" urt_nrtparams_t
259

  
260
    class urt_hrtparams_t <<(S,lightgrey)>> {
261
      + deadlineOffset : urt_delay_t
262
      + expectedRate : urt_delay_t
263
      + qosTimer : urt_osTimer_t
264
    }
265
    urt_hrtparams_t ..> urt_delay_t
266
    urt_hrtparams_t "1" *- - "1" urt_osTimer_t
267

  
268
    class urt_frtparams_t <<(S,lightgrey)>> {
269
      + deadlineOffset : urt_delay_t
270
      + expectedRate : urt_delay_t
271
      + qosTimer : urt_osTimer_t
272
      + callback : urt_osTimerCallback_t
273
      + cbparams : void*
274
    }
275
    urt_frtparams_t ..> urt_delay_t
276
    urt_frtparams_t "1" *- - "1" urt_osTimer_t
277
    urt_frtparams_t "1" *- - "1" urt_osTimerCallback_t
278 477

  
279
    class urt_srtparams_t <<(S,lightgrey)>> {
280
      + *usefulness (dt : urt_delay_t, params : void*) : float
281
      + params : void*
478
      class urt_hrtdata_t <<S,BFAFFF>> {
479
      + {field} next : urt_subscriber_t*
480
      .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
481
      + {field} qosDeadlineTimer : urt_osTimer_t
482
      + {field} deadlineOffset : urt_delay_t
483
      .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
484
      + {field} expectedRate : urt_delay_t
485
      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
486
      + {field} maxJitter : urt_delay_t
487
      + {field} minLatency : urt_delay_t
488
      + {field} maxLatency : urt_delay_t
282 489
    }
283
    urt_srtparams_t ..> urt_delay_t
284 490

  
285
    class urt_nrtparams_t <<(S,lightgrey)>> {
491
      class urt_frtdata_t <<S,BFAFFF>> {
492
      .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
493
      + {field} qosDeadlineTimer : urt_osTimer_t
494
      + {field} deadlineOffset : urt_delay_t
495
      .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
496
      + {field} expectedRate : urt_delay_t
497
      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
498
      + {field} maxJitter : urt_delay_t
499
      + {field} minLatency : urt_delay_t
500
      + {field} maxLatency : urt_delay_t
286 501
    }
287 502

  
288
  } 
503
      package "SRT data" <<Rectangle>> {
504
        class urt_srtusefulnessfunc_t <<F,E0E0E0>> {
505
        urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float
506
      }
289 507

  
508
        class urt_srtdata_t <<S,BFAFFF>> {
509
        + {field} usefullnesscb : urt_srtusefulnessfunc_t*
510
        + {field} cbparams : void*
511
      }
512
    } 
290 513

  
514
      class urt_nrtdata_t <<S,BFAFFF>> {
515
    }
516
  } 
291 517

  
292
  class urt_message_t <<(S,lightgrey)>> {
293
    + next : urt_message_t*
294
    + payload : void*
295
    + originTime : urt_osTime_t
296
    + lock : urt_osMutex_t
297
    + numHrtConsumersLeft : unsigned int
298
    + hrtConsumersLeft : urt_osCondvar_t
299
    - - evaluation data - -
300
    + numConsumersLeft : unsigned int
301
    __
302
    + urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
303
  }
304
  urt_message_t "1" o- - "0..1" urt_message_t
305
  urt_message_t "1" *- - "1" urt_osTime_t
306
  urt_message_t "1" *- - "1" urt_osMutex_t
307
  urt_message_t "1" *- - "1" urt_osCondvar_t
308

  
309
  class urt_subscriber_t <<(S,lightgrey)>> {
310
    + next : urt_subscriber_t*
311
    + topic : urt_topic_t*
312
    + evtListener : urt_osEventListener_t
313
    + rtclass : urt_rtclass_t
314
    + lastMessage : urt_message_t*
315
    + lastMessageTime : urt_osTime_t
316
    - - evaluation data - -
317
    + minLatency : urt_delay_t
318
    + maxLatency : urt_delay_t
319
    + sumLatencies : uint64_t
320
    + numMessagesReceived : unsigned int
518
    class urt_subscriber_t <<S,BFAFFF>> {
519
    + {field} topic : urt_topic_t*
520
    + {field} evtListener : urt_osEventListener_t
521
    + {field} rtconstraints : urt_rtconstaints_t*
522
    + {field} lastMessage : urt_message_t*
523
    + {field} lastMessageTime : urt_osTime_t
524
    .. URT_CFG_PUBSUB_PROFILING == true ..
525
    + {field} sumLatencies : uint64_t
526
    + {field} numMessagesReceived : uint64_t
527
    .. URT_CFG_PUBSUB_PROFILING == true && URT_CFG_PUBSUB_QOS_JITTERCHECKS == false ..
528
    + {field} minLatency : urt_delay_t
529
    + {field} maxLatency : urt_delay_t
321 530
    __
322
    + urtSubscriberInit (subscriber : urt_subscriber_t*) : urt_status_t
323
    + urtSubscriberSubscribe (subscriber : urt_subscriber_t*, topic : urt_topic_t*, rtclass : urt_rtclass_t*, messages : urt_messages_t*) : urt_status_t
324
    + urtSubscriberUnsubscribe (subscriber : urt_subscriber_t*) : urt_status_t
325
    + urtSubscriberFetchMessage (subscriber : urt_subscriber_t*, payload : void*, bytes : size_t, latest : bool) : urt_status_t
531
    + {method} urtSubscriberInit (subscriber : urt_subscriber_t*) : urt_status_t
532
    + {method} urtSubscriberSubscribeHrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t
533
    + {method} urtSubscriberSubscribeFrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t
534
    + {method} urtSubscriberSubscribeSrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
535
    + {method} urtSubscriberSubscribeNrt (subscriber : urt_subscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
536
    + {method} urtSubscriberUnsubscribe (subscriber : urt_subscriber_t*) : urt_status_t
537
    + {method} urtSubscriberFetchNextMessage (subscriber : urt_subscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
538
    + {method} urtSubscriberFetchLatestMessage (subscriber : urt_subscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
539
    + {method} urtSubscriberCalculateUsefulness (subscriber : urt_subscriber_t*, latency : urt_delay_t) : float
326 540
  }
327
  urt_subscriber_t "1" o- - "0..1" urt_subscriber_t
328
  urt_subscriber_t "1" o- - "0..1" urt_topic_t
329
  urt_subscriber_t "1" *- - "1" urt_osEventListener_t
330
  urt_subscriber_t "1" *- - "1" urt_rtclass_t
331
  urt_subscriber_t "1" o- - "0..1" urt_message_t
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff