Simple Module socMovGen

Package: ECMM.SocialGenerator
File: src/SocialGenerator/socMovGen.ned

C++ definition

The ECMM Tracefile Generation Module

The socMovGen module calls the appropriate C++ program in order to generate the XML file needed by the CommunityMov module. There are three options for this tracefile generation. This first one is to use the Enhanced Community-based Mobility Model (ECMM). However, for comparison purposes, the CMM and HCMM options are also provided. Although these models do not use all the arguments provided, they are fully functional, by discarting them. The main functionality of this module therefore, is just to gather the required arguments and to pass them to the selected model's tracefile generation program.

See also: CommunityMov

Author: Nikolaos Vastardis

socMovGen

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Networks:

Name Type Description
Testing_ground network

The ECMM Testing Ground

Parameters:

Name Type Default value Description
mobType string "ECMM"

three mobility models are supported, the CMM, the HCMM and the ECMM

totalSimulationTime double -1

sets the total simulation time

reconfigurationInterval double 10000

sets the reconfiguration interval

numberOfEpochs int 0

sets the number of the epochs

minHostSpeed double 1

sets lower bound of the speed of the hosts (in m/s)

maxHostSpeed double 10

sets upper bound of the speed of the hosts (in m/s)

connectionThreshold double 0.1

sets the connection threshold, for which a frienship is regarded

numberOfRows int 4

sets the number of rows of the simulation ground

numberOfColumns int 4

sets the number of columns of the simulation ground

radius double 100

sets the transmission range (in m) -- not so important

rewiringProb double 0.1

sets the rewiring probability during the model initialization

numberOfGroups int 10

sets the initial number of groups for the Caveman model

randSeed int 0

sets the seed of the Random Number Generator

numberOfTravellers int 0

sets the number of travelers

travellerSpeed double 10

sets the speed of the travelers

girvanNewmanOn bool false

sets the Girvan-Newman algorithm on/off

deterministicOn bool true

sets the deterministic selection of the nodes on/off. If true the selection is deterministic, if false is probabilistic

generateXML bool true

generates XML

readAdjacency bool false

indicates whether an input adjacency file will be used

outputAdjacency bool false

sets the output adjacency file generation on/off

pauseTime int 0

sets the maximum pause time duration

inputFile string ""

sets the the name of the input adjacency file

colocationTracesOn bool false

sets the colocation traces on/off

communitiesTracesOn bool false

sets the communities traces on/off

Properties:

Name Value Description
display i=block/users

Source code:

//
// <b> The ECMM Tracefile Generation Module </b>
//
// The socMovGen module calls the appropriate C++ program in order to
// generate the XML file needed by the CommunityMov module. There are
// three options for this tracefile generation. This first one is to
// use the Enhanced Community-based Mobility Model (ECMM). However,
// for comparison purposes, the CMM and HCMM options are also provided.
// Although these models do not use all the arguments provided, they
// are fully functional, by discarting them. The main functionality
// of this module therefore, is just to gather the required arguments
// and to pass them to the selected model's tracefile generation 
// program. 
//
// @see CommunityMov
//
// @author Nikolaos Vastardis
//
simple socMovGen
{
    parameters:
        string mobType = default("ECMM");					// three mobility models are supported, the CMM, the HCMM and the ECMM
        double totalSimulationTime = default(-1);		// sets the total simulation time
        double reconfigurationInterval = default(10000);// sets the reconfiguration interval
        int numberOfEpochs = default(0);				// sets the number of the epochs
        double minHostSpeed = default(1);				// sets lower bound of the speed of the hosts (in m/s)
        double maxHostSpeed = default(10);				// sets upper bound of the speed of the hosts (in m/s)
        double connectionThreshold = default(0.1);		// sets the connection threshold, for which a frienship is regarded
        int numberOfRows = default(4);					// sets the number of rows of the simulation ground
        int numberOfColumns = default(4);				// sets the number of columns of the simulation ground
        double radius = default(100);					// sets the transmission range (in m) --  not so important
        double rewiringProb = default(0.1);				// sets the rewiring probability during the model initialization
        int numberOfGroups = default(10);				// sets the initial number of groups for the Caveman model
        int randSeed = default(0); 						// sets the seed of the Random Number Generator
        int numberOfTravellers = default(0);			// sets the number of travelers
        double travellerSpeed = default(10);			// sets the speed of the travelers
        bool girvanNewmanOn = default(false);			// sets the Girvan-Newman algorithm on/off
        bool deterministicOn = default(true);			// sets the deterministic selection of the nodes on/off. If true the selection is deterministic, if false is probabilistic
        bool generateXML = default(true);				// generates XML
        bool readAdjacency = default(false);			// indicates whether an input adjacency file will be used
        bool outputAdjacency = default(false);			// sets the output adjacency file generation on/off
        int pauseTime = default(0);						// sets the maximum pause time duration
        string inputFile = default("");					// sets the the name of the input adjacency file
        bool colocationTracesOn = default(false);		// sets the colocation traces on/off
        bool communitiesTracesOn = default(false);		// sets the communities traces on/off
        @display("i=block/users");
}