diff --git a/manual/Makefile b/manual/Makefile index 6d10795..a968430 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -3,6 +3,8 @@ manual.pdf: manual.tex @grep "__version__.*=" ../esds/__init__.py|grep -o "\".*\""|tr -d "\"" > version + @rm -f manual.aux + pdflatex -shell-escape manual pdflatex -shell-escape manual clean: diff --git a/manual/manual.pdf b/manual/manual.pdf index b42f4cc..b074a24 100644 Binary files a/manual/manual.pdf and b/manual/manual.pdf differ diff --git a/manual/manual.tex b/manual/manual.tex index fe3dac4..b37be7c 100644 --- a/manual/manual.tex +++ b/manual/manual.tex @@ -20,7 +20,7 @@ \newcommand{\version}{\InputIfFileExists{version}{}{version}} \newcommand*{\addsource}[2]{\vspace{0.3cm}\begin{tcolorbox}[breakable,enhanced,arc=1.4mm,arc is angular,title=\textbf{\small#1}]\inputminted[breaklines,fontsize=\scriptsize]{#2}{#1}\end{tcolorbox}} \newenvironment{tabminted}[1] - {\VerbatimEnvironment\begin{minipage}{2.65in}\begin{tcolorbox}[frame empty]\begin{minted}{#1}} + {\VerbatimEnvironment\begin{minipage}{3.3in}\begin{tcolorbox}[frame empty]\begin{minted}{#1}} {\end{minted}\end{tcolorbox}\end{minipage}} % Document @@ -125,44 +125,44 @@ Lets see in details the format of each section. \subsection{The general section} This section is used to settings up the overall parameters of esds. Table \ref{keywords:general} reference all the keywords for this section of the platform file. -\begin{table} +\begin{table}[H] \centering - \begin{adjustbox}{width=0.7\textwidth} - \begin{tabular}{m{0.25\textwidth}m{0.3\textwidth}p{0.4\textwidth}} + \begin{adjustbox}{width=0.75\textwidth} + \begin{tabular}{m{0.25\textwidth}m{0.3\textwidth}p{0.5\textwidth}} \toprule \textbf{Keyword} & \textbf{Description} & \textbf{Example} \\ \midrule - \textbf{interferences} & Turn on/off interferences detection during wireless communications & + \textbf{interferences} & Turn on/off interferences detection during wireless communications. & \begin{tabminted}{yaml} interferences: on \end{tabminted} \\ \cmidrule{1-3} - \textbf{debug} & Turn on/off esds debugging mode (generate a debug file) & + \textbf{debug} & Turn on/off esds debugging mode (generate a debug file). & \begin{tabminted}{yaml} debug: on \end{tabminted} \\ \cmidrule{1-3} - \textbf{debug\_file} & Specify the file to use as output for the debugging & + \textbf{debug\_file} & Specify the file to use as output for the debugging. & \begin{tabminted}{yaml} debug_file: "./myfile.txt" \end{tabminted} \\ \cmidrule{1-3} - \textbf{breakpoints} & Specify a list of simulated time (in seconds) at which esds must interrupt and call the specified callback & + \textbf{breakpoints} & Specify a list of simulated time (in seconds) at which esds must interrupt and call the specified callback. & \begin{tabminted}{yaml} breakpoints: [5, 6, 7] \end{tabminted} \\ \cmidrule{1-3} - \textbf{breakpoints\_every} & Specify an interval of time (in seconds) at which esds will interrupt and call the specified callback & + \textbf{breakpoints\_every} & Specify an interval of time (in seconds) at which esds will interrupt and call the specified callback. & \begin{tabminted}{yaml} breakpoints_every: 5 \end{tabminted} \\ \cmidrule{1-3} - \textbf{breakpoints\_callback} & Tell esds where how to reach the callback used during breakpoints & + \textbf{breakpoints\_callback} & Tell esds where how to reach the callback used during breakpoints. & \begin{tabminted}{yaml} breakpoints_callback: file: "platform_callback.py" @@ -179,20 +179,20 @@ breakpoints_callback: The node section is used configure the simulated node of esds. Table \ref{keywords:nodes} references all the keywords used in the nodes section. -\begin{table} +\begin{table}[H] \centering - \begin{adjustbox}{width=0.7\textwidth} - \begin{tabular}{m{0.25\textwidth}m{0.3\textwidth}p{0.4\textwidth}} + \begin{adjustbox}{width=0.9\textwidth} + \begin{tabular}{m{0.25\textwidth}m{0.3\textwidth}p{0.5\textwidth}} \toprule \textbf{Keyword} & \textbf{Description} & \textbf{Example} \\ \midrule - \textbf{count} & Number of simulated nodes & + \textbf{count} & Number of simulated nodes. & \begin{tabminted}{yaml} nodes: 5 \end{tabminted} \\ \cmidrule{1-3} - \textbf{implementations} & Bind each node to their respective implementation (uses \textbf{the range syntax}) & + \textbf{implementations} & Bind each node to their respective implementation (uses \textbf{the range syntax}). & \begin{tabminted}{yaml} implementations: - 0 sender.py @@ -200,7 +200,7 @@ implementations: \end{tabminted} \\ \cmidrule{1-3} - \textbf{arguments} & Define the arguments that will be passed to each node implementation (keys of each element uses \textbf{the range syntax}) & + \textbf{arguments} & Define the arguments that will be passed to each node implementation (keys of each element uses \textbf{the range syntax}). & \begin{tabminted}{yaml} arguments: { "all": 2 @@ -225,6 +225,53 @@ syntax for a simulation that uses 5 nodes: \item \makebox[2cm]{\textbf{0-@}\hfill} Node 0,1,2,3 and 4 (same as \textbf{all}) \end{itemize} + +\section{The interfaces section} +The interfaces section allows to define the network interfaces that will be usable by each node +during the simulation. For each interface the Table \ref{keywords:interfaces} references the +available keywords. + +\begin{table}[H] + \centering + \begin{adjustbox}{width=0.9\textwidth} + \begin{tabular}{m{0.25\textwidth}m{0.3\textwidth}p{0.5\textwidth}} + \toprule + \textbf{Keyword} & \textbf{Description} & \textbf{Example} \\ \midrule + + \textbf{type} & Interface is "wireless" or "wired". & + \begin{tabminted}{yaml} +type: "wireless" + \end{tabminted} + \\ \cmidrule{1-3} + + \textbf{links} & List all the links between nodes on the interface (uses \textbf{the range syntax}). & + \begin{tabminted}{yaml} +links: + # Link node 0 to node 1: + - 0 10Mbps 0s 1 + # Link node 1 and 2 to node 3 and 4: + - 1,2 1 Mbps 5s 3,4 + \end{tabminted} + \\ \cmidrule{1-3} + + \textbf{txprefs} & Define the transmission performance of each wireless node (keys of each element uses \textbf{the range syntax}). This keyword is only available for wireless interfaces. & + \begin{tabminted}{yaml} +txprefs: + - 0 10kbps 0s + - 1 10kbps 5s + \end{tabminted} + \\ \bottomrule + \end{tabular} + \end{adjustbox} + \caption{Usable keywords for each interface in the interfaces section of a esds platform file.} + \label{keywords:interfaces} +\end{table} + +In esds, txprefs (or transmission preferences) corresponds to the transmission performance of the +wireless interface. It is used to compute the transmission duration of the wireless +communication. When using custom orchestrator instantiation, the txprefs can be assigned on the +diagonal components of the bandwidth and latency matrices. + \end{document}