|
@@ -18,7 +18,7 @@ In this document, I give an overview of the \texttt{rtsched} \LaTeX
|
18
|
18
|
package, which can be used to easily draw chronograms (GANTT charts).
|
19
|
19
|
These diagrams are quite common in real-time scheduling research.
|
20
|
20
|
|
21
|
|
-The package depends on keyval and TikZ/PGF, both widely
|
|
21
|
+The package depends on keyval and TikZ/PGF (pgf version 2.10 or greater), both widely
|
22
|
22
|
available on any \TeX distribution.
|
23
|
23
|
|
24
|
24
|
The drawing capabilities are completely based on TikZ. Thus, you can compile
|
|
@@ -88,6 +88,8 @@ Figure \ref{fig:ex1a}. Available periodic versions of the commands can be found
|
88
|
88
|
\verb+\TaskDeadline{i}{t}+ & \verb+\TaskNDeadline{i}{t}{p}{n}+ \\
|
89
|
89
|
\verb+\TaskArrDeadl{i}{t}{reld}+ & \verb+\TaskNArrDeadl{i}{t}{reld}{p}{n}+ \\
|
90
|
90
|
\verb+\TaskExecDelta{i}{t}{delta}+ & \verb+\TaskNExecDelta{i}{t}{delta}{p}{n}+\\
|
|
91
|
+ \verb+\TaskEnd{i}{t}+ & \verb+\TaskNEnd{i}{t}{p}{n}+\\
|
|
92
|
+
|
91
|
93
|
\hline
|
92
|
94
|
\end{tabular}
|
93
|
95
|
\caption{Table of periodic commands where p stands for the period and n for the number of instances}
|
|
@@ -185,6 +187,9 @@ from periods (the so-called \emph{constrained deadline tasks}).
|
185
|
187
|
\TaskNArrDead{1}{0}{4}{4}{5} % draws the arrivals and deadlines
|
186
|
188
|
\TaskNExecDelta{1}{0}{1}{4}{5} % draws executions (highest priority)
|
187
|
189
|
% for 5 instances of period 4
|
|
190
|
+
|
|
191
|
+ \TaskNEnd{1}{1}{4}{5} % draws 5 end of job execution of period 4
|
|
192
|
+
|
188
|
193
|
|
189
|
194
|
% draws the arrival and deadline
|
190
|
195
|
\TaskNArrDead{2}{0}{6}{6}{3} % for 3 instances of period 6
|
|
@@ -193,7 +198,10 @@ from periods (the so-called \emph{constrained deadline tasks}).
|
193
|
198
|
\TaskExecution{2}{1}{4}
|
194
|
199
|
\TaskExecution{2}{6}{8}
|
195
|
200
|
\TaskExecution{2}{9}{10}
|
196
|
|
- \TaskExecution{2}{13}{16}
|
|
201
|
+ \TaskExecution{2}{13}{16}
|
|
202
|
+ \TaskEnd{2}{4}
|
|
203
|
+ \TaskEnd{2}{10}
|
|
204
|
+ \TaskEnd{2}{16}
|
197
|
205
|
\end{RTGrid}
|
198
|
206
|
|
199
|
207
|
\begin{verbatim}
|
|
@@ -202,15 +210,21 @@ from periods (the so-called \emph{constrained deadline tasks}).
|
202
|
210
|
\TaskNArrDead{1}{0}{4}{4}{5} % draws the arrivals and deadlines
|
203
|
211
|
\TaskNExecDelta{1}{0}{1}{4}{5} % draws executions (highest priority)
|
204
|
212
|
% for 5 instances of period 4
|
|
213
|
+
|
|
214
|
+ \TaskNEnd{1}{1}{4}{5} % draws 5 end of job execution of period 4
|
205
|
215
|
|
206
|
216
|
\TaskNArrDead{2}{0}{6}{6}{3} % draws the arrival and deadline
|
207
|
217
|
% for 3 instances of period 6
|
|
218
|
+
|
208
|
219
|
|
209
|
220
|
% no simple formula for lowest priority, sorry!
|
210
|
221
|
\TaskExecution{2}{1}{4}
|
211
|
222
|
\TaskExecution{2}{6}{8}
|
212
|
223
|
\TaskExecution{2}{9}{10}
|
213
|
|
- \TaskExecution{2}{13}{16}
|
|
224
|
+ \TaskExecution{2}{13}{16}
|
|
225
|
+ \TaskEnd{2}{4}
|
|
226
|
+ \TaskEnd{2}{10}
|
|
227
|
+ \TaskEnd{2}{16}
|
214
|
228
|
\end{RTGrid}
|
215
|
229
|
\end{verbatim}
|
216
|
230
|
\caption{Using periodic commands to avoid repetitions}
|
|
@@ -288,7 +302,7 @@ It is also possible to visualise preempted tasks with a hatched fill
|
288
|
302
|
style. An example is in Figure~\ref{fig:resp-time} that uses command
|
289
|
303
|
\texttt{TaskRespTime}.
|
290
|
304
|
|
291
|
|
-\begin{figure}
|
|
305
|
+\begin{figure}[!htbp]
|
292
|
306
|
\centering
|
293
|
307
|
\begin{RTGrid}{2}{20}
|
294
|
308
|
|
|
@@ -332,6 +346,10 @@ style. An example is in Figure~\ref{fig:resp-time} that uses command
|
332
|
346
|
\label{fig:resp-time}
|
333
|
347
|
\end{figure}
|
334
|
348
|
|
|
349
|
+It is sometimes usefull to represent the end of a job execution, especially when jobs are preempted. In that case, you can use the \verb+\TaskEnd{i}{t}+ command and its periodic version detailed in Table~\ref{tab:periodic_versions} that draw little circle(s) at the specified date(s). It works in the same way as \verb+\TaskArrival+ command and it is used in Figure~\ref{fig:ex1a}.
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
335
|
353
|
|
336
|
354
|
\subsection{Controlling visualization}
|
337
|
355
|
|
|
@@ -535,8 +553,8 @@ to highlight a portion of the schedule with \texttt{RTBox}:
|
535
|
553
|
|
536
|
554
|
Notice that the order with which the objects are drawn is exactly the
|
537
|
555
|
same as the order in which they are specified in the code, excepted
|
538
|
|
-for horizontal axes, arrivals and deadlines that are always drawn on the foreground.
|
539
|
|
- For example, in Figure \ref{fig:ex3a}, the executions of all the tasks are
|
|
556
|
+for horizontal axes, arrivals, deadlines and end of job execution that are always drawn on the foreground.
|
|
557
|
+For example, in Figure \ref{fig:ex3a}, the executions of all the tasks are
|
540
|
558
|
drawn on top of the box. You can try to move the \texttt{RTBox}
|
541
|
559
|
command at the end to see what happens.
|
542
|
560
|
|
|
@@ -568,7 +586,7 @@ following command:
|
568
|
586
|
\TaskExecution[color=white,execlabel=S]{3}{4}{5}
|
569
|
587
|
\end{verbatim}
|
570
|
588
|
|
571
|
|
-\begin{figure}
|
|
589
|
+\begin{figure}[!htbp]
|
572
|
590
|
\centering
|
573
|
591
|
\begin{RTGrid}[width=12cm]{3}{25}
|
574
|
592
|
\TaskArrDead{3}{0}{20}
|