IoD_Sim is an open source and system-level simulator for the IoD (Internet of Drones).
Developed on top of the well-known ns-3 (Network Simulator 3), it implements the key networking elements (drones, network access points, and Zone Service Provider), a standard-compliant communication stack based on the IEEE 802.11 and LTE technology, and scenarios with various mobility models.
The source code presents the implementation of models and examples scripts, also known as scenarios, that use such models to simulate a variable number of drones that:
- Move according to the mobility model associated to the reference scenario.
- Exchange messages with network access points deployed on a cartesian or geographic 3D space.
For more details on how IoD_Sim works and all its features, the following research publications are highly recommended:
- G. Grieco, G. Iacovelli, P. Boccadoro and L. A. Grieco, "Internet of Drones Simulator: Design, Implementation, and Performance Evaluation," in IEEE Internet of Things Journal, vol. 10, no. 2, pp. 1476-1498, 15 Jan.15, 2023, doi: 10.1109/JIOT.2022.3207324.
- G. Grieco, G. Iacovelli, M. Sandri, M. Giordani, M. Zorzi and L. A. Grieco, "Preliminary Performance Evaluation of a Satellite-to-HAP Communication Link," European Wireless 2023; 28th European Wireless Conference, Rome, Italy, 2023, pp. 340-345.
- G. Grieco, G. Iacovelli, D. Pugliese, D. Striccoli and L. A. Grieco, "A System-Level Simulation Module for Multi-UAV IRS-Assisted Communications," in IEEE Transactions on Vehicular Technology, vol. 73, no. 5, pp. 6740-6751, May 2024, doi: 10.1109/TVT.2023.3342298.
Older publications that might still be useful:
You can head over to the Releases section to download a copy of a stable version of the software.
The IoD_Sim repository is where this software is developed and there are many ways in which you can participate in the project, for example:
- Submit bugs and feature requests and help us verify as they are checked in.
- Review source code changes.
- Review the documentation and make pull requests for anything, from typos to new content.
IoD_Sim is primarily compatible with Linux-based operating systems. You can test it on macOS, altough we are not focused on providing first-class support for it. For macOS, Windows, or any other operating system, you are encouraged to use Docker, WSL or any other (pseudo)virtualization platform that can provide you a stable Linux-based work environment. You are welcome to provide new compatibility solutions any time.
Want to build scenarios through a GUI? Airflow is a Visual Programming Editor ad-hoc for IoD_Sim! It relies on splash to transpile C++ models in Python visual blocks.
The following quick start has been tested on Ubuntu 22.04 LTS. Please note that this process may be similar in other distros as well. In case of any difficulties, you are welcome to raise a pull request and propose some adjustments.
First of all, clone this repository, then open the folder with VSCode and execute the following tasks:
- Install dependencies,
- Integrate IoD Sim with ns3
- Configure IoD Sim
- Build IoD Sim
Otherwise, run the following commands:
./tools/install-dependencies.sh
./tools/prepare-ns3.sh
cd ns3/
./ns3 configure --enable-examples --disable-mpi --disable-python --enable-modules=iodsim
./ns3 build
To run a JSON scenario configuration, execute the following command:
cd ns3/
./ns3 run iodsim -- --config=../scenario/simple_wifi.json
Copyright (C) 2018-2024 The IoD_Sim Authors.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.