NED File src/SocialGenerator/socMovGen.ned

Name Type Description
socMovGen simple module

The ECMM Tracefile Generation Module

Source code:

//
// Copyright (C) 2012 Nikolaos Vastardis
// Copyright (C) 2012 University of Essex
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program; if not, see <http://www.gnu.org/licenses/>.
//

package ECMM.SocialGenerator;

//
// <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");
}