summaryrefslogtreecommitdiff
path: root/manual/manual.tex
diff options
context:
space:
mode:
Diffstat (limited to 'manual/manual.tex')
-rw-r--r--manual/manual.tex44
1 files changed, 32 insertions, 12 deletions
diff --git a/manual/manual.tex b/manual/manual.tex
index cb0024d..fff1e30 100644
--- a/manual/manual.tex
+++ b/manual/manual.tex
@@ -5,6 +5,7 @@
\usepackage{minted}
\usepackage{booktabs}
\usepackage{xspace}
+\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{makecell}
\usepackage[utf8]{inputenc}
@@ -60,11 +61,11 @@
\label{architecture}
\end{figure}
-ESDS simulator comprises two major components: 1) The Simulation Orchestrator (SO) 2) The Simulated
-Nodes (SN). This architecture is depicted in Figure \ref{architecture}. The SO is the main process
+The ESDS simulator comprises two major components: 1) The Simulation Orchestrator (SO) 2) The Simulated
+Nodes (SN). This architecture is depicted on Figure~\ref{architecture}. The SO is the main process
in charge of implementing the simulation main loop. It instantiates the network (e.g bandwidths and
-latencies), collects and processes the events (e.g communications,turn on/off). On the other hand,
-nodes are threads that implement the node behaviors.
+latencies matrices), collects and processes the events (e.g communications,turn on/off). On the other hand,
+the SNs are threads that implement the node behaviors by following so called \textit{node API}.
\section{Getting started}
@@ -87,6 +88,10 @@ Nodes implementations are written using python. Here is the implementation of th
the last \verb|platform.yaml| file:
\addsource{assets/node.py}{python}
+More details about implementations of nodes are availablein the
+\href{https://gitlab.com/manzerbredes/esds/-/raw/main/example/sender.py}{\textit{example code}} and the
+\href{https://gitlab.com/manzerbredes/esds/-/raw/main/example/sender.py}{\textit{ESDS implementation of the SNs interface}}.
+
\subsection{Execution}
\label{sec:firstsimulation:execution}
@@ -199,6 +204,15 @@ implementations:
- 1-@ receiver.py
\end{tabminted}
\\ \cmidrule{1-3}
+
+ \textbf{groups} & Specify the group to use in the nodes log reports. Useful to filter logs. By default, nodes are in the \textit{def} group. &
+ \begin{tabminted}{yaml}
+groups:
+ - 0 groupA
+ - 1-@ groupB
+ \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}). &
\begin{tabminted}{yaml}
@@ -212,8 +226,8 @@ arguments:
\label{keywords:nodes}
\end{table}
-Several entries in the platform file use a \textbf{range syntax} to map informations (node
-implementations, links etc.) to node $ids$. Indeed, when running a simulation with $p$ nodes, each
+Several entries in the platform file use a \textbf{range syntax} to bind data (node
+implementations, links etc.) to node $ids$. For a simulation with $p$ nodes, each
node will have an allocated $id$ such that $id \in [0,1,...,p-1]$. Here are examples of valid range
syntax for a simulation that uses 5 nodes:
\begin{itemize}
@@ -242,8 +256,15 @@ available keywords.
type: "wireless"
\end{tabminted}
\\ \cmidrule{1-3}
+
+ \textbf{nodes} & Specify the nodes that have access the current network/interface (uses the \textbf{range syntax}) &
+ \begin{tabminted}{yaml}
+nodes: 2-@
+ \end{tabminted}
+ \\ \cmidrule{1-3}
+
- \textbf{links} & List all the links between nodes on the interface (uses \textbf{the range syntax}). &
+ \textbf{links} & List all the links between nodes on the interface (uses the \textbf{range syntax}). &
\begin{tabminted}{yaml}
links:
# Link node 0 to node 1:
@@ -255,7 +276,7 @@ links:
\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:
+txperfs:
- 0 10kbps 0s
- 1 10kbps 5s
\end{tabminted}
@@ -266,10 +287,9 @@ txprefs:
\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.
+In esds, txperfs (or transmission performance) corresponds to the transmission performance on the
+wireless interface. It is used to compute the transmission duration of wireless communications.
+When using custom orchestrator instantiation, the txperfs parameter of a given node can be assigned by fixing the diagonal components of the bandwidth and latency matrices.
\end{document}