Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / overview.uml @ 8378a78b

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