Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / overview.uml @ 7d9678db

History | View | Annotate | Download (3.96 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
urt_osCondvar_t ..> urt_delay_t
66
urt_osThread_t ..> urt_delay_t
67
urt_osThread_t ..> urt_status_t
68
urt_osTimer_t ..> urt_delay_t
69
urt_osTimer_t ..> urt_status_t
70
urt_events ..> urt_delay_t
71
urt_events ..> urt_status_t
72
73
!includesub urtware.uml!DEPENDENCIES
74
urt_core_t "1" *-- "1" urt_osEventSource_t
75
urt_core_t "1" *-- "1" urt_osMutex_t
76
urt_core_t ..> urt_status_t
77
urt_core_t ..> urt_nodestage_t
78 056e40d2 Thomas Schöpping
urt_core_t ..> urt_topicid_t
79
urt_core_t ..> urt_serviceid_t
80 ee83a495 Thomas Schöpping
urt_node_t "1" o-- "1" urt_osThread_t
81 4d55cea4 Thomas Schöpping
urt_node_t "1" *-- "1" urt_nodestage_t
82
urt_node_t "1" *-- "1" urt_osEventListener_t
83
urt_node_t "0..*" o-- "1" urt_osThreadFunction_t
84
urt_node_t ..> urt_status_t
85
urt_nodeSetupCallback_t ..> urt_osEventMask_t
86
urt_nodeLoopCallback_t ..> urt_osEventMask_t
87
urt_publisher_t ..> urt_config
88
urt_publisher_t ..> urt_status_t
89
urt_publisher_t ..> urt_delay_t
90
urt_topic_t "1" *-- "1" urt_topicid_t
91
urt_topic_t "1" *-- "1" urt_osMutex_t
92
urt_topic_t "1" *-- "1" urt_osEventSource_t
93
urt_topic_t ..> urt_config
94
urt_topic_t "1" *-- "0..1" urt_osTimer_t
95
urt_topic_t ..> urt_status_t
96
urt_message_t "1" *-- "1" urt_osTime_t
97
urt_message_t "1" *-- "1" urt_osMutex_t
98
urt_message_t "1" *-- "1" urt_osCondvar_t
99
urt_message_t ..> urt_config
100
urt_message_t ..> urt_status_t
101 ee83a495 Thomas Schöpping
urt_basesubscriber_t "1" *-- "1" urt_osEventListener_t
102
urt_basesubscriber_t "1" *-- "1" urt_osTime_t
103
urt_basesubscriber_t ..> urt_config
104
urt_basesubscriber_t ..> urt_status_t
105
urt_nrtsubscriber_t "1" *-- "0..2" urt_delay_t
106
urt_nrtsubscriber_t ..> urt_config
107
urt_nrtsubscriber_t ..> urt_status_t
108
urt_srtsubscriber_t "1" *-- "0..2" urt_delay_t
109
urt_srtsubscriber_t ..> urt_config
110
urt_srtsubscriber_t ..> urt_status_t
111
urt_frtsubscriber_t "1" *-- "0..4" urt_delay_t
112
urt_frtsubscriber_t ..> urt_config
113
urt_frtsubscriber_t ..> urt_status_t
114
urt_hrtsubscriber_t "1" *-- "0..5" urt_delay_t
115
urt_hrtsubscriber_t "1" *-- "1" urt_osTimer_t
116
urt_hrtsubscriber_t ..> urt_config
117
urt_hrtsubscriber_t ..> urt_status_t
118 4d55cea4 Thomas Schöpping
urt_srtusefulnessfunc_t ..> urt_delay_t
119
urt_service_t "1" *-- "1" urt_serviceid_t
120
urt_service_t "1" *-- "1" urt_osMutex_t
121
urt_service_t ..> urt_config
122
urt_service_t "1" *-- "0..2" urt_delay_t
123
urt_service_t ..> urt_status_t
124
urt_servicefunc_t ..> urt_delay_t
125
urt_servicefunc_t ..> urt_status_t
126
127
!endsub
128
129
/'### OUTRO ##################################################################'/
130 6ebd2388 Thomas Schöpping
131
@enduml