Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / overview.uml @ 2d315870

History | View | Annotate | Download (4.61 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_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 "1" *-- "1" urt_status_t
77
urt_core_t ..> urt_nodestage_t
78
urt_core_t ..> urt_topicid_t
79
urt_core_t ..> urt_serviceid_t
80
urt_node_t "1" o-- "1" urt_osThread_t
81
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 "1" *-- "1" urt_osCondvar_t
94
urt_topic_t ..> urt_config
95
urt_topic_t "1" *-- "0,1" urt_osTimer_t
96
urt_topic_t ..> urt_status_t
97
urt_message_t "1" *-- "1" urt_osTime_t
98
urt_message_t ..> urt_config
99
urt_message_t ..> urt_status_t
100
urt_basesubscriber_t "1" *-- "1" urt_osEventListener_t
101
urt_basesubscriber_t "1" *-- "1" urt_osTime_t
102
urt_basesubscriber_t ..> urt_config
103
urt_basesubscriber_t ..> urt_status_t
104
urt_nrtsubscriber_t "1" *-- "0,2" urt_delay_t
105
urt_nrtsubscriber_t ..> urt_config
106
urt_nrtsubscriber_t ..> urt_status_t
107
urt_srtsubscriber_t "1" *-- "0,1" urt_usefulness_f
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
urt_baserequest_t "1" *-- "1" urt_osMutex_t
119
urt_baserequest_t "1" *-- "1" urt_osTime_t
120
urt_baserequest_t "1" *-- "1" urt_osEventSource_t
121
urt_baserequest_t "1" *-- "1" urt_osEventListener_t
122
urt_nrtrequest_t "1" *-- "0,2" urt_delay_t
123
urt_nrtrequest_t ..> urt_config
124
urt_nrtrequest_t ..> urt_status_t
125
urt_srtrequest_t "1" *-- "0,1" urt_delay_t
126
urt_srtrequest_t ..> urt_config
127
urt_srtrequest_t ..> urt_status_t
128
urt_srtrequest_t ..> urt_usefulness_f
129
urt_frtrequest_t "1" *-- "0..4" urt_delay_t
130
urt_frtrequest_t ..> urt_config
131
urt_frtrequest_t ..> urt_status_t
132
urt_hrtrequest_t "1" *-- "0..4" urt_delay_t
133
urt_hrtrequest_t "1" *-- "0,1" urt_osTimer_t
134
urt_hrtrequest_t ..> urt_config
135
urt_hrtrequest_t ..> urt_status_t
136
urt_service_t "1" *-- "1" urt_serviceid_t
137
urt_service_t "1" *-- "1" urt_osMutex_t
138
urt_service_t "1" *-- "1" urt_osEventSource_t
139
urt_service_t "1" *-- "1" urt_osEventListener_t
140
urt_service_t ..> urt_config
141
urt_service_t ..> urt_status_t
142

    
143
!endsub
144

    
145
/'### OUTRO ##################################################################'/
146

    
147
@enduml
148