Skip to content

Work for my Masters thesis. Currently implementing the Efficient Clustering Scheme in ns3 to simulate on varying sizes of communities.

Notifications You must be signed in to change notification settings

PHoulding/ecs-clustering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build-ns3 Lines of code NS-3 version

ecs-clustering

Welcome to my implementation of the Efficient Clustering Scheme for NS-3.

This is an ongoing project as part of the Gillis Lab to complete my MSc Thesis. The hope is to implement the Efficient Clustering Scheme in order to simulate Mobile Ad hoc Networks (MANETs) in order to better understand how density affects these networks.

The goal of this project was to attempt to recreate the Efficient Clustering Scheme of NS-3 based on the original paper:

Yu JY, Chong PHJ. An efficient clustering scheme for large and dense mobile ad hoc networks (MANETs). Computer Communications. 2006;30(1):5-16. doi:10.1016/j.comcom.2006.07.014.

Building the container

$ docker build \
         --build-arg VCS_REF=$(git rev-parse -q --verify HEAD) \
         --build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
         --build-arg BUILD_PROFILE=debug \
         -t ecs-clustering:latest .

The build variant can be configured using the BUILD_PROFILE build-arg, it can be set to either debug, release, or optimized. It is set to debug by default.

Running the container

For convenience this simulation experiment has also been packaged as a prebuilt docker image so that you do not need to install any of the dependencies or compile the simulator yourself.

There are two ways that the docker container can be used:

  1. to run ns-3 simulations directly
  2. to get a bash shell in a ns-3 installation

Interactive bash terminal

The interactive shell will put you in the ns-3 root directory. Depending on which docker image tag is used ns-3 can either be built in debug mode or optimized mode. Then the ./waf command can be run manually.

docker run --rm -it ecs-clustering:optimized bash

To run ns-3 simulations

If anything other than bash is given as the command to the Docker container then the command will be passed to ./waf --run "ecs-clustering-example <command>" to run a simulation using the flags.

docker run --rm ecs-clustering:optimized --printHelp

About

Work for my Masters thesis. Currently implementing the Efficient Clustering Scheme in ns3 to simulate on varying sizes of communities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •