This project repository holds the source code developed for TARA, using the network simulator 3 (ns-3). TARA uses the knowledge of flying nodes' movement to predict future channel conditions and perform rate adaptation accordingly.
Copyright (C) 2023, INESC TEC. This project is licensed under the terms of the GNU General Public Licence (GPL) v3.0
This project is authored by:
- Ruben Queiros, Jose Ruela, Helder Fontes, Rui Campos [INESC TEC, Portugal]
The instructions to set-up and run this project are explained below.
- Download the ns-3.38 version of ns-3.
git clone https://gitlab.com/nsnam/ns-3-dev.git
cd ns-3-dev/ && git checkout tags/ns-3.38
- Move TARA project to the scratch folder, which is inside the ns-3 project folder.
mv tara/ ns-3-dev/scratch/
- When inside TARA project, run the following commands to include TARA wifi manager in ns-3 source code.
cp lib/link-adaptation/ns-3.38-CMakeLists.txt ../../src/wifi/CMakeLists.txt
cp lib/link-adaptation/tara-wifi-manager.* ../../src/wifi/model/rate-control/
Back into the ns-3 root project folder, run the following commands to build ns-3:
./ns3 configure
./ns3 build
To run TARA with the default configuration, run the following command:
./ns3 run "scratch/tara/sim"
If you want to tweak the simulation, changing the Rate Adaptation Algorithm configured, as well as the Simulation Random Seed, consider the following Command Line Arguments:
./ns3 run "scratch/tara/sim --simSeed=1 --raAlg=tara"
./ns3 run "scratch/tara/sim --simSeed=2 --raAlg=min"
./ns3 run "scratch/tara/sim --simSeed=3 --raAlg=id"
NOTE: The log files that result from the simulation, are saved in the ns-3 root folder, under the names of throughput.csv
, distances.csv
and positions.csv
.
If you would like to use this code, please cite it as follows:
- Queiros, R., Ruela, J., Fontes, H., & Campos, R. (2023). Trajectory-Aware Rate Adaptation for Flying Networks. https://doi.org/10.48550/arXiv.2307.06905