Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / overview.uml @ 621aa0b6

History | View | Annotate | Download (4.552 KB)

1 6ebd2388 Thomas Schöpping
/'
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 4d55cea4 Thomas Schöpping
Copyright (C) 2018..2020  Thomas Schöpping et al.
7 6ebd2388 Thomas Schöpping
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 4d55cea4 Thomas Schöpping
/'### INTRO ##################################################################'/
23
24 6ebd2388 Thomas Schöpping
@startuml
25
26
title **µRtWare**\nOverview\n
27
28 dd31cb03 Thomas Schöpping
!include ./functions.iuml
29 6ebd2388 Thomas Schöpping
30 4d55cea4 Thomas Schöpping
/'### ENTITIES ###############################################################'/
31 6ebd2388 Thomas Schöpping
32 4d55cea4 Thomas Schöpping
!startsub ENTITIES
33 6ebd2388 Thomas Schöpping
34 4d55cea4 Thomas Schöpping
$module("Configuration") {
35
  !includesub config.uml!ENTITIES
36
}
37 6ebd2388 Thomas Schöpping
38 4d55cea4 Thomas Schöpping
$module("Primitives") {
39
  !includesub primitives.uml!ENTITIES
40
}
41 6ebd2388 Thomas Schöpping
42 4d55cea4 Thomas Schöpping
$module("OSAL") {
43
  !includesub osal.uml!ENTITIES
44
}
45 6ebd2388 Thomas Schöpping
46 4d55cea4 Thomas Schöpping
$module("Middleware") {
47
  !includesub urtware.uml!ENTITIES
48
}
49 6ebd2388 Thomas Schöpping
50 4d55cea4 Thomas Schöpping
!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 46471486 Thomas Schöpping
urt_osTime_t ..> urt_delay_t
66 4d55cea4 Thomas Schöpping
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 2d315870 Thomas Schöpping
urt_core_t "1" *-- "1" urt_status_t
75 4d55cea4 Thomas Schöpping
urt_core_t ..> urt_nodestage_t
76 056e40d2 Thomas Schöpping
urt_core_t ..> urt_topicid_t
77
urt_core_t ..> urt_serviceid_t
78 ee83a495 Thomas Schöpping
urt_node_t "1" o-- "1" urt_osThread_t
79 4d55cea4 Thomas Schöpping
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 2d315870 Thomas Schöpping
urt_topic_t "1" *-- "1" urt_osCondvar_t
92 4d55cea4 Thomas Schöpping
urt_topic_t ..> urt_config
93 2d315870 Thomas Schöpping
urt_topic_t "1" *-- "0,1" urt_osTimer_t
94 4d55cea4 Thomas Schöpping
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 ee83a495 Thomas Schöpping
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 2d315870 Thomas Schöpping
urt_nrtsubscriber_t "1" *-- "0,2" urt_delay_t
103 ee83a495 Thomas Schöpping
urt_nrtsubscriber_t ..> urt_config
104
urt_nrtsubscriber_t ..> urt_status_t
105 2d315870 Thomas Schöpping
urt_srtsubscriber_t "1" *-- "0,1" urt_usefulness_f
106
urt_srtsubscriber_t "1" *-- "0,2" urt_delay_t
107 ee83a495 Thomas Schöpping
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 2d315870 Thomas Schöpping
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 4d55cea4 Thomas Schöpping
urt_service_t "1" *-- "1" urt_serviceid_t
135
urt_service_t "1" *-- "1" urt_osMutex_t
136 2d315870 Thomas Schöpping
urt_service_t "1" *-- "1" urt_osEventSource_t
137
urt_service_t "1" *-- "1" urt_osEventListener_t
138 4d55cea4 Thomas Schöpping
urt_service_t ..> urt_config
139
urt_service_t ..> urt_status_t
140
141
!endsub
142
143
/'### OUTRO ##################################################################'/
144 6ebd2388 Thomas Schöpping
145
@enduml