Skip to main content

A framework for performing DTN simulations based on asyncio.

Project description

aiodtnsim

A minimal framework for performing DTN simulations based on Python 3.7 and asyncio.

Note that this project is still a work in progress.

Requirements

  • Python 3.7+
  • NumPy
  • tqdm for the progress bars
  • dtn-tvg-util
  • for uPCN integration, uPCN v0.7.0+ with the pyupcn module installed in the Python environment

Getting Started

Just install aiodtnsim via pip, e.g., in a virtual environment:

pip install aiodtnsim

For generating satellite scenarios (needed by the example script), you need to install the dtn-tvg-util Ring Road dependencies additionally:

pip install "dtn-tvg-util[ring_road]"

Now, you should be able to use the example scripts provided in the root directory of aiodtnsim to perform simple simulation runs, e.g. via:

bash examples/example_test_run.sh

Development Setup

First, clone the aiodtnsim, dtn-tvg-util, and upcn repositories (the latter only for using uPCN emulation) and change into the aiodtnsim directory. Now, create a virtual environment and install the required dependencies:

python3 -m venv --without-pip .venv
curl -sS https://bootstrap.pypa.io/get-pip.py | .venv/bin/python
source .venv/bin/activate
pip install -e .
pip install -e "../dtn-tvg-util[ring_road,gs_placement]"
pip install -U -r ../upcn/pyupcn/requirements.txt
python ../upcn/pyupcn/install.py

If you want to perform a run with uPCN, ensure the latest binary has been built:

cd ../upcn
make

License

aiodtnsim is provided under the MIT license. See LICENSE for details.

Acknowledgments

The simulation event loop is based upon code by Damon Wischik.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiodtnsim-0.3.1.tar.gz (42.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page