urtware / doc / classdiagrams / overview.uml @ 408a606c
History | View | Annotate | Download (4.552 KB)
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**\nOverview\n |
27 |
|
28 |
!include ./functions.iuml |
29 |
|
30 |
/'### ENTITIES ###############################################################'/ |
31 |
|
32 |
!startsub ENTITIES |
33 |
|
34 |
$module("Configuration") { |
35 |
!includesub config.uml!ENTITIES |
36 |
} |
37 |
|
38 |
$module("Primitives") { |
39 |
!includesub primitives.uml!ENTITIES |
40 |
} |
41 |
|
42 |
$module("OSAL") { |
43 |
!includesub osal.uml!ENTITIES |
44 |
} |
45 |
|
46 |
$module("Middleware") { |
47 |
!includesub urtware.uml!ENTITIES |
48 |
} |
49 |
|
50 |
!endsub |
51 |
|
52 |
/'### DEPENDENCIES & LAYOUT ##################################################'/ |
53 |
|
54 |
!startsub DEPENDENCIES |
55 |
|
56 |
!includesub config.uml!DEPENDENCIES |
57 |
|
58 |
!includesub primitives.uml!DEPENDENCIES |
59 |
urt_nodestage_t ..> urt_config |
60 |
urt_topicid_t ..> urt_config |
61 |
urt_serviceid_t ..> urt_config |
62 |
urt_delay_t ..> urt_config |
63 |
|
64 |
!includesub osal.uml!DEPENDENCIES |
65 |
urt_osTime_t ..> urt_delay_t |
66 |
urt_osCondvar_t ..> urt_delay_t |
67 |
urt_osThread_t ..> urt_delay_t |
68 |
urt_osTimer_t ..> urt_delay_t |
69 |
urt_events ..> urt_delay_t |
70 |
|
71 |
!includesub urtware.uml!DEPENDENCIES |
72 |
urt_core_t "1" *-- "1" urt_osEventSource_t |
73 |
urt_core_t "1" *-- "1" urt_osMutex_t |
74 |
urt_core_t "1" *-- "1" urt_status_t |
75 |
urt_core_t ..> urt_nodestage_t |
76 |
urt_core_t ..> urt_topicid_t |
77 |
urt_core_t ..> urt_serviceid_t |
78 |
urt_node_t "1" o-- "1" urt_osThread_t |
79 |
urt_node_t "1" *-- "1" urt_nodestage_t |
80 |
urt_node_t "1" *-- "1" urt_osEventListener_t |
81 |
urt_node_t "0..*" o-- "1" urt_osThreadFunction_t |
82 |
urt_node_t ..> urt_status_t |
83 |
urt_nodeSetupCallback_t ..> urt_osEventMask_t |
84 |
urt_nodeLoopCallback_t ..> urt_osEventMask_t |
85 |
urt_publisher_t ..> urt_config |
86 |
urt_publisher_t ..> urt_status_t |
87 |
urt_publisher_t ..> urt_delay_t |
88 |
urt_topic_t "1" *-- "1" urt_topicid_t |
89 |
urt_topic_t "1" *-- "1" urt_osMutex_t |
90 |
urt_topic_t "1" *-- "1" urt_osEventSource_t |
91 |
urt_topic_t "1" *-- "1" urt_osCondvar_t |
92 |
urt_topic_t ..> urt_config |
93 |
urt_topic_t "1" *-- "0,1" urt_osTimer_t |
94 |
urt_topic_t ..> urt_status_t |
95 |
urt_message_t "1" *-- "1" urt_osTime_t |
96 |
urt_message_t ..> urt_config |
97 |
urt_message_t ..> urt_status_t |
98 |
urt_basesubscriber_t "1" *-- "1" urt_osEventListener_t |
99 |
urt_basesubscriber_t "1" *-- "1" urt_osTime_t |
100 |
urt_basesubscriber_t ..> urt_config |
101 |
urt_basesubscriber_t ..> urt_status_t |
102 |
urt_nrtsubscriber_t "1" *-- "0,2" urt_delay_t |
103 |
urt_nrtsubscriber_t ..> urt_config |
104 |
urt_nrtsubscriber_t ..> urt_status_t |
105 |
urt_srtsubscriber_t "1" *-- "0,1" urt_usefulness_f |
106 |
urt_srtsubscriber_t "1" *-- "0,2" urt_delay_t |
107 |
urt_srtsubscriber_t ..> urt_config |
108 |
urt_srtsubscriber_t ..> urt_status_t |
109 |
urt_frtsubscriber_t "1" *-- "0..4" urt_delay_t |
110 |
urt_frtsubscriber_t ..> urt_config |
111 |
urt_frtsubscriber_t ..> urt_status_t |
112 |
urt_hrtsubscriber_t "1" *-- "0..5" urt_delay_t |
113 |
urt_hrtsubscriber_t "1" *-- "1" urt_osTimer_t |
114 |
urt_hrtsubscriber_t ..> urt_config |
115 |
urt_hrtsubscriber_t ..> urt_status_t |
116 |
urt_baserequest_t "1" *-- "1" urt_osMutex_t |
117 |
urt_baserequest_t "1" *-- "1" urt_osTime_t |
118 |
urt_baserequest_t "1" *-- "1" urt_osEventSource_t |
119 |
urt_baserequest_t "1" *-- "1" urt_osEventListener_t |
120 |
urt_nrtrequest_t "1" *-- "0,2" urt_delay_t |
121 |
urt_nrtrequest_t ..> urt_config |
122 |
urt_nrtrequest_t ..> urt_status_t |
123 |
urt_srtrequest_t "1" *-- "0,1" urt_delay_t |
124 |
urt_srtrequest_t ..> urt_config |
125 |
urt_srtrequest_t ..> urt_status_t |
126 |
urt_srtrequest_t ..> urt_usefulness_f |
127 |
urt_frtrequest_t "1" *-- "0..4" urt_delay_t |
128 |
urt_frtrequest_t ..> urt_config |
129 |
urt_frtrequest_t ..> urt_status_t |
130 |
urt_hrtrequest_t "1" *-- "0..4" urt_delay_t |
131 |
urt_hrtrequest_t "1" *-- "0,1" urt_osTimer_t |
132 |
urt_hrtrequest_t ..> urt_config |
133 |
urt_hrtrequest_t ..> urt_status_t |
134 |
urt_service_t "1" *-- "1" urt_serviceid_t |
135 |
urt_service_t "1" *-- "1" urt_osMutex_t |
136 |
urt_service_t "1" *-- "1" urt_osEventSource_t |
137 |
urt_service_t "1" *-- "1" urt_osEventListener_t |
138 |
urt_service_t ..> urt_config |
139 |
urt_service_t ..> urt_status_t |
140 |
|
141 |
!endsub |
142 |
|
143 |
/'### OUTRO ##################################################################'/ |
144 |
|
145 |
@enduml |
146 |
|