MobiGen

VERSION: 1.2
mobigen.pl

MobiGen is a perl script to generate the initial node placement file (mobigen.start) and the mobility pattern file (mobigen.mobi) using a random waypoint model.
The current version fixes a problem with lowe mobility velocity. You should be sure to use a non-zero minimum velocity, such as a range like [1,19] instead of [0,20]. See the paper by Yoon.

USAGE: mobigen.pl options

 -o NAME  = base name for output
 -n N  = number of nodes
 -x XMAX -y YMAX = maximum terrain size in meters
 -vmin vmin -vmax vmax = minimum and maximum velocity (m/s)
 -t T  = maximum simulation time (seconds)
 -p PT = waypoint pause time (seconds)

Samples:
mobigen.pl -o trial-1 -n 50 -x 1500 -y 300 -vmin 1 -vmax 20 -t 900 -p 100
produces files "trial-1.start" and "trial-1.mobi"

mobigen.pl -o trial-2 -n 100 -x 3500 -y 600 -vmin 5 -vmax 10 -t 900 -p 300
produces files "trial-2.start" and "trial-2.mobi"

In each of the above examples, mobigen.pl also generates a .velo file which states the chosen velocity and the start and end times of the proposed movement. Another change in version 1.2 is that the # header line in the .mobi files now shows the random number seed used for the scenario.

To use it, put lines like this in your config file.

NODE-PLACEMENT         FILE
NODE-PLACEMENT-FILE    ./mobigen.start
MOBILITY               TRACE
MOBILITY-TRACE-FILE    ./mobigen.mobi

MobiVelo

Version 1.0
mobivelo.pl

Analyzes Mobigen mobility files and computes the average node veloicity similar to the paper by Yoon.

usage: mobivelo -i basename -t sampletime

basename = basename of mobigen files.  If the mobigen files
           are mobi-100-000-01.mobi and mobi-100-000-01.start,
           for instance, the base name should be mobi-100-000-01.

sampletime = the sampling period at which time to compute the
           average instantaneous velocity of all nodes.  The shorter
           the period, the more sample buckets you will have.  Use
           a number from [1 ... simtime].

Mobility scenarios

You can use the script genmobi.sh to generate a bunch of mobility patterns to be used with the Scenario Generator below.

Create a directory called mobility, and execute genmobi.sh in that directory. This creates 160 mobility files. There is a 50-node network on a 1500x300 grid and a 100-node network on a 2200x600 grid. Each network has 8 pause times and 10 trials (80 files).

Scenario Generator

Create a seeds directory, and execute genseeds.sh there. This creates random number seeds for 10 trials.

Create a trials directory and set any global options in global in that directory. Then, execute a copy of gentrial.sh in that directory to create a glomsim configuration file for each trail and pausetime.

These scripts are setup to use trial names in the form of "trial-NUM-PAUSE" where NUM is the trial number and PAUSE is the pause time. I create different directories for different number of nodes and terrain sizes, such as:

mysim
 |-- seeds
 |-- mobility
 |-- loads
 |-- aodv-100-10
 |-- aodv-050-30

where "aodv-100-10" is 100 nodes with 10 flows.

Load generator

Create a loads directory and put gengeomload.pl and genload.sh in that directory. gengeomload.pl will create variable flows between random pairs of nodes. genload.sh uses it to create the appropriate flows for the number of nodes and number of sources.

The sample script genload.sh will make CBR traffic loads at 4 packets per second (period = 250 ms) for 10 and 30 flows over 50-node and 100-node networks. Each flow has a mean length of 60 seconds. Marc Mosko
mmosko@cse.ucsc.edu