This repository contains the codebase for the paper titled "Infrastructure-Aware Named-Data Networking for Autonomous Vehicular Communication". We have open-sourced this project under the GNU General Public License v2.0 to ensure the reproducibility of our published results and to encourage further academic exploration.
This project has been tested and verified on the following platforms:
- Ubuntu 22.04 (amd64)
- Ubuntu 24.04 (amd64)
sudo apt update
sudo apt-get install cmake python3 g++ libxerces-c-dev libfox-1.6-dev libgdal-dev libproj-dev libgl2ps-dev swigcd $HOME
git clone --recursive https://github.com/eclipse/sumo
export SUMO_HOME="$HOME/sumo"
mkdir -p sumo/build_config/cmake-build
cd sumo/build_config/cmake-build
cmake ../..
make -j$(nproc)Add the following to your ~/.bashrc:
export SUMO_HOME="$HOME/sumo"
export TRACE_EXPORTER="$SUMO_HOME/tools/traceExporter.py"
export PATH=$PATH:"$SUMO_HOME/bin"Apply the changes:
source ~/.bashrcsudo apt install build-essential libsqlite3-dev libboost-all-dev libssl-dev git python3-setuptools castxmlgit clone https://github.com/solvedbiscuit71/CAFE.git
cd CAFE
CXXFLAGS="-std=c++17" ./waf configure --disable-python --disable-examples
./wafsudo apt install -y mercurial qtcreator qtbase5-dev qtchooser qt5-qmake cmake qtbase5-dev-toolscd netanim
make clean
qmake NetAnim.pro
makeTo generate the table 4 presented in the paper, we have provided the logs and traces files in the data folder, run the following commands:
python3 -m venv .venv
source .venv/bin/active
pip install scipycd data
python generate_table4.pyTo simulate and generate the logs and traces in the data folder, run the provided scenario script:
mkdir trace # sumo will generate .tcl files into trace/ folder
mkdir log # simulation log will be placed inside log/ folder
python scripts/scene.pyBy default, the simulation includes geobroadcast logic. To replicate the broadcast flooding baseline, you must manually disable the geobroadcast logic:
- Open
src/ndnSIM/NFD/daemon/fw/caf-forwarder.cpp. - Comment out the relevant geobroadcast logic sections.
- Re-run
./wafand the simulation script.