IEEE Robotics & Automation Magazine - September 2015 - 158
view and serve as a vessel for communication between the varied worlds of often nonsoftware-technical stakeholders on one
hand and software engineers on the other hand. Such a documentation promotes software reuse by exhibiting
Other approaches are based
stable structures recurrent
in many systems and facilon robotics-specific languages.
itates maintenance by clarifying the impact of
changes [13]. A large variety of UML-compliant software tools
support diagram editing, differencing, merging for system design, and documentation (see [14] for a survey).
Unfortunately, the UML diagrams are not effective in
capturing and representing nonfunctional properties of
embedded, concurrent, and real-time software systems,
such as the timing constraints of system functionalities, the
capabilities of the (often distributed) communication infrastructure, and the allocation of threads and processes to different processors.
Researchers have faced the limitations of the semiformal
notation of the UML by defining specific extensions of the
UML standard (called profiles) or specialized architectural
modeling languages. These approaches are exemplified in
the next two sections. A comparison of several modeling
languages for embedded and real-time systems can be
found in [15].
UML profile for Embedded and Real-Time Systems
The UML profiles are an extension mechanism provided to
allow adaptation and customization of the UML notation by
adding ad hoc semantic and constraints and introducing terminology that is specific to a particular domain, platform, or method. In particular, the OMG has developed the modeling and
analysis of real-time embedded systems (MARTE) [16] profile,
which focuses on performance and schedulability analysis and
provides stereotypes for annotating architectural models and
map them into corresponding analysis domain concepts.
The high-level application modeling subprofile defines a
set of stereotypes to annotate the functional model with
real-time features. For example, Figure 2 shows a use of the
<> stereotype to annotate two computing units
(i.e., ObstacleAvoider and TrajectoryFollower) of the LocalNavigator component, which perform concurrent activities,
i.e., adapting the rover trajectory when an obstacle is
detected and computing the twist to let the rover follow the
trajectory. An annotation specifies that the former activity is
aperiodic and that its relative deadline is equal to 10 ms.
The software resource modeling subprofile provides modeling artifacts to describe software multitasking application
programming interfaces (API). For example, Figure 2 shows a
use of the <> stereotype to annotate
two concurrent tasks (i.e., FollowerTask and ObstacleTask)
with the specification of their priority. The stereotype <> indicates the routine (i.e., operation) executed in the context of each task.
The schedulability analysis modeling
subprofile defines the stereotypes to anno%component& LocalNavogator
tate the elements of the platform model (e.g.,
a CPU or other device, which executes funcocckind
=
aperiodic
%rtUnit&
value = { reIDI = (10, ms) }
tional steps) with nonfunctional properties,
ObstacleAvoider
such as schedulability metrics, interrupt
adaptTrajectory ()
overheads, and utilization of scheduling
processing. In particular, in Figure 2, the ste%rtUnit&
reotype <> represents
TrajectoryFollower
any kind of processing resource (e.g., POSIX
computeTwist()
threads) and contains a property ISRswitchTime that can be used to represent the worst
%entryPoint&
%entryPoint&
context switching time.
Once the application model has been
%gaResourcePlatform&
annotated with MARTE stereotypes for realRoverPlatform
time features, it needs to be converted in a
software model that can be processed by tools
%schedulableResourse&
%schedulableResourse&
for schedulability and performance analysis.
ObstacleTask
FollowerTask
In [17], the author proposes an automatic
{
fp
(priority
=
5)
}
{ fp (priority = 6) }
translation technique from MARTE models
into input for modeling and analysis suite for
%allocate&
%allocate&
real-time applications, which is a state-of-theart schedulability analysis tool used in the
%saExecHost&
academia. A list of tools related to MARTE
Controller
{ ISRswitchTime (5, ms) }
can be found in [18].
A robotic example of using the MARTE
for schedulability and performance analysis
can be found in [19].
Figure 2. An example of using the MARTE stereotypes for schedulability analysis.
158
*
IEEE ROBOTICS & AUTOMATION MAGAZINE
*
September 2015
Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2015
IEEE Robotics & Automation Magazine - September 2015 - Cover1
IEEE Robotics & Automation Magazine - September 2015 - Cover2
IEEE Robotics & Automation Magazine - September 2015 - 1
IEEE Robotics & Automation Magazine - September 2015 - 2
IEEE Robotics & Automation Magazine - September 2015 - 3
IEEE Robotics & Automation Magazine - September 2015 - 4
IEEE Robotics & Automation Magazine - September 2015 - 5
IEEE Robotics & Automation Magazine - September 2015 - 6
IEEE Robotics & Automation Magazine - September 2015 - 7
IEEE Robotics & Automation Magazine - September 2015 - 8
IEEE Robotics & Automation Magazine - September 2015 - 9
IEEE Robotics & Automation Magazine - September 2015 - 10
IEEE Robotics & Automation Magazine - September 2015 - 11
IEEE Robotics & Automation Magazine - September 2015 - 12
IEEE Robotics & Automation Magazine - September 2015 - 13
IEEE Robotics & Automation Magazine - September 2015 - 14
IEEE Robotics & Automation Magazine - September 2015 - 15
IEEE Robotics & Automation Magazine - September 2015 - 16
IEEE Robotics & Automation Magazine - September 2015 - 17
IEEE Robotics & Automation Magazine - September 2015 - 18
IEEE Robotics & Automation Magazine - September 2015 - 19
IEEE Robotics & Automation Magazine - September 2015 - 20
IEEE Robotics & Automation Magazine - September 2015 - 21
IEEE Robotics & Automation Magazine - September 2015 - 22
IEEE Robotics & Automation Magazine - September 2015 - 23
IEEE Robotics & Automation Magazine - September 2015 - 24
IEEE Robotics & Automation Magazine - September 2015 - 25
IEEE Robotics & Automation Magazine - September 2015 - 26
IEEE Robotics & Automation Magazine - September 2015 - 27
IEEE Robotics & Automation Magazine - September 2015 - 28
IEEE Robotics & Automation Magazine - September 2015 - 29
IEEE Robotics & Automation Magazine - September 2015 - 30
IEEE Robotics & Automation Magazine - September 2015 - 31
IEEE Robotics & Automation Magazine - September 2015 - 32
IEEE Robotics & Automation Magazine - September 2015 - 33
IEEE Robotics & Automation Magazine - September 2015 - 34
IEEE Robotics & Automation Magazine - September 2015 - 35
IEEE Robotics & Automation Magazine - September 2015 - 36
IEEE Robotics & Automation Magazine - September 2015 - 37
IEEE Robotics & Automation Magazine - September 2015 - 38
IEEE Robotics & Automation Magazine - September 2015 - 39
IEEE Robotics & Automation Magazine - September 2015 - 40
IEEE Robotics & Automation Magazine - September 2015 - 41
IEEE Robotics & Automation Magazine - September 2015 - 42
IEEE Robotics & Automation Magazine - September 2015 - 43
IEEE Robotics & Automation Magazine - September 2015 - 44
IEEE Robotics & Automation Magazine - September 2015 - 45
IEEE Robotics & Automation Magazine - September 2015 - 46
IEEE Robotics & Automation Magazine - September 2015 - 47
IEEE Robotics & Automation Magazine - September 2015 - 48
IEEE Robotics & Automation Magazine - September 2015 - 49
IEEE Robotics & Automation Magazine - September 2015 - 50
IEEE Robotics & Automation Magazine - September 2015 - 51
IEEE Robotics & Automation Magazine - September 2015 - 52
IEEE Robotics & Automation Magazine - September 2015 - 53
IEEE Robotics & Automation Magazine - September 2015 - 54
IEEE Robotics & Automation Magazine - September 2015 - 55
IEEE Robotics & Automation Magazine - September 2015 - 56
IEEE Robotics & Automation Magazine - September 2015 - 57
IEEE Robotics & Automation Magazine - September 2015 - 58
IEEE Robotics & Automation Magazine - September 2015 - 59
IEEE Robotics & Automation Magazine - September 2015 - 60
IEEE Robotics & Automation Magazine - September 2015 - 61
IEEE Robotics & Automation Magazine - September 2015 - 62
IEEE Robotics & Automation Magazine - September 2015 - 63
IEEE Robotics & Automation Magazine - September 2015 - 64
IEEE Robotics & Automation Magazine - September 2015 - 65
IEEE Robotics & Automation Magazine - September 2015 - 66
IEEE Robotics & Automation Magazine - September 2015 - 67
IEEE Robotics & Automation Magazine - September 2015 - 68
IEEE Robotics & Automation Magazine - September 2015 - 69
IEEE Robotics & Automation Magazine - September 2015 - 70
IEEE Robotics & Automation Magazine - September 2015 - 71
IEEE Robotics & Automation Magazine - September 2015 - 72
IEEE Robotics & Automation Magazine - September 2015 - 73
IEEE Robotics & Automation Magazine - September 2015 - 74
IEEE Robotics & Automation Magazine - September 2015 - 75
IEEE Robotics & Automation Magazine - September 2015 - 76
IEEE Robotics & Automation Magazine - September 2015 - 77
IEEE Robotics & Automation Magazine - September 2015 - 78
IEEE Robotics & Automation Magazine - September 2015 - 79
IEEE Robotics & Automation Magazine - September 2015 - 80
IEEE Robotics & Automation Magazine - September 2015 - 81
IEEE Robotics & Automation Magazine - September 2015 - 82
IEEE Robotics & Automation Magazine - September 2015 - 83
IEEE Robotics & Automation Magazine - September 2015 - 84
IEEE Robotics & Automation Magazine - September 2015 - 85
IEEE Robotics & Automation Magazine - September 2015 - 86
IEEE Robotics & Automation Magazine - September 2015 - 87
IEEE Robotics & Automation Magazine - September 2015 - 88
IEEE Robotics & Automation Magazine - September 2015 - 89
IEEE Robotics & Automation Magazine - September 2015 - 90
IEEE Robotics & Automation Magazine - September 2015 - 91
IEEE Robotics & Automation Magazine - September 2015 - 92
IEEE Robotics & Automation Magazine - September 2015 - 93
IEEE Robotics & Automation Magazine - September 2015 - 94
IEEE Robotics & Automation Magazine - September 2015 - 95
IEEE Robotics & Automation Magazine - September 2015 - 96
IEEE Robotics & Automation Magazine - September 2015 - 97
IEEE Robotics & Automation Magazine - September 2015 - 98
IEEE Robotics & Automation Magazine - September 2015 - 99
IEEE Robotics & Automation Magazine - September 2015 - 100
IEEE Robotics & Automation Magazine - September 2015 - 101
IEEE Robotics & Automation Magazine - September 2015 - 102
IEEE Robotics & Automation Magazine - September 2015 - 103
IEEE Robotics & Automation Magazine - September 2015 - 104
IEEE Robotics & Automation Magazine - September 2015 - 105
IEEE Robotics & Automation Magazine - September 2015 - 106
IEEE Robotics & Automation Magazine - September 2015 - 107
IEEE Robotics & Automation Magazine - September 2015 - 108
IEEE Robotics & Automation Magazine - September 2015 - 109
IEEE Robotics & Automation Magazine - September 2015 - 110
IEEE Robotics & Automation Magazine - September 2015 - 111
IEEE Robotics & Automation Magazine - September 2015 - 112
IEEE Robotics & Automation Magazine - September 2015 - 113
IEEE Robotics & Automation Magazine - September 2015 - 114
IEEE Robotics & Automation Magazine - September 2015 - 115
IEEE Robotics & Automation Magazine - September 2015 - 116
IEEE Robotics & Automation Magazine - September 2015 - 117
IEEE Robotics & Automation Magazine - September 2015 - 118
IEEE Robotics & Automation Magazine - September 2015 - 119
IEEE Robotics & Automation Magazine - September 2015 - 120
IEEE Robotics & Automation Magazine - September 2015 - 121
IEEE Robotics & Automation Magazine - September 2015 - 122
IEEE Robotics & Automation Magazine - September 2015 - 123
IEEE Robotics & Automation Magazine - September 2015 - 124
IEEE Robotics & Automation Magazine - September 2015 - 125
IEEE Robotics & Automation Magazine - September 2015 - 126
IEEE Robotics & Automation Magazine - September 2015 - 127
IEEE Robotics & Automation Magazine - September 2015 - 128
IEEE Robotics & Automation Magazine - September 2015 - 129
IEEE Robotics & Automation Magazine - September 2015 - 130
IEEE Robotics & Automation Magazine - September 2015 - 131
IEEE Robotics & Automation Magazine - September 2015 - 132
IEEE Robotics & Automation Magazine - September 2015 - 133
IEEE Robotics & Automation Magazine - September 2015 - 134
IEEE Robotics & Automation Magazine - September 2015 - 135
IEEE Robotics & Automation Magazine - September 2015 - 136
IEEE Robotics & Automation Magazine - September 2015 - 137
IEEE Robotics & Automation Magazine - September 2015 - 138
IEEE Robotics & Automation Magazine - September 2015 - 139
IEEE Robotics & Automation Magazine - September 2015 - 140
IEEE Robotics & Automation Magazine - September 2015 - 141
IEEE Robotics & Automation Magazine - September 2015 - 142
IEEE Robotics & Automation Magazine - September 2015 - 143
IEEE Robotics & Automation Magazine - September 2015 - 144
IEEE Robotics & Automation Magazine - September 2015 - 145
IEEE Robotics & Automation Magazine - September 2015 - 146
IEEE Robotics & Automation Magazine - September 2015 - 147
IEEE Robotics & Automation Magazine - September 2015 - 148
IEEE Robotics & Automation Magazine - September 2015 - 149
IEEE Robotics & Automation Magazine - September 2015 - 150
IEEE Robotics & Automation Magazine - September 2015 - 151
IEEE Robotics & Automation Magazine - September 2015 - 152
IEEE Robotics & Automation Magazine - September 2015 - 153
IEEE Robotics & Automation Magazine - September 2015 - 154
IEEE Robotics & Automation Magazine - September 2015 - 155
IEEE Robotics & Automation Magazine - September 2015 - 156
IEEE Robotics & Automation Magazine - September 2015 - 157
IEEE Robotics & Automation Magazine - September 2015 - 158
IEEE Robotics & Automation Magazine - September 2015 - 159
IEEE Robotics & Automation Magazine - September 2015 - 160
IEEE Robotics & Automation Magazine - September 2015 - 161
IEEE Robotics & Automation Magazine - September 2015 - 162
IEEE Robotics & Automation Magazine - September 2015 - 163
IEEE Robotics & Automation Magazine - September 2015 - 164
IEEE Robotics & Automation Magazine - September 2015 - 165
IEEE Robotics & Automation Magazine - September 2015 - 166
IEEE Robotics & Automation Magazine - September 2015 - 167
IEEE Robotics & Automation Magazine - September 2015 - 168
IEEE Robotics & Automation Magazine - September 2015 - 169
IEEE Robotics & Automation Magazine - September 2015 - 170
IEEE Robotics & Automation Magazine - September 2015 - 171
IEEE Robotics & Automation Magazine - September 2015 - 172
IEEE Robotics & Automation Magazine - September 2015 - 173
IEEE Robotics & Automation Magazine - September 2015 - 174
IEEE Robotics & Automation Magazine - September 2015 - 175
IEEE Robotics & Automation Magazine - September 2015 - 176
IEEE Robotics & Automation Magazine - September 2015 - 177
IEEE Robotics & Automation Magazine - September 2015 - 178
IEEE Robotics & Automation Magazine - September 2015 - 179
IEEE Robotics & Automation Magazine - September 2015 - 180
IEEE Robotics & Automation Magazine - September 2015 - 181
IEEE Robotics & Automation Magazine - September 2015 - 182
IEEE Robotics & Automation Magazine - September 2015 - 183
IEEE Robotics & Automation Magazine - September 2015 - 184
IEEE Robotics & Automation Magazine - September 2015 - 185
IEEE Robotics & Automation Magazine - September 2015 - 186
IEEE Robotics & Automation Magazine - September 2015 - 187
IEEE Robotics & Automation Magazine - September 2015 - 188
IEEE Robotics & Automation Magazine - September 2015 - 189
IEEE Robotics & Automation Magazine - September 2015 - 190
IEEE Robotics & Automation Magazine - September 2015 - 191
IEEE Robotics & Automation Magazine - September 2015 - 192
IEEE Robotics & Automation Magazine - September 2015 - Cover3
IEEE Robotics & Automation Magazine - September 2015 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com