Simple Module RandomChurn

Package: oversim.common
File: src/common/RandomChurn.ned

C++ definition

Random churn generating module

Author: Markus Mauch

RandomChurn

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Extends:

Name Type Description
ChurnGenerator simple module

ChurnGenerator base module

Parameters:

Name Type Default value Description
targetOverlayTerminalNum int

number of nodes after init phase

initPhaseCreationInterval double

node creation interval in init phase

noChurnThreshold double

if the lifetimeMean of a specific churn generator exceeds this, NoChurn is used instead

channelTypes string

used (tx) access technologies (from common/channels.ned)

channelTypesRx string

used (rx) access technologies (from common/channels.ned)

targetMobilityDelay double

node creation/removal/migration interval after init phase

targetMobilityDelay2 double

used to change targetMean

creationProbability double

probability that a new node gets created

migrationProbability double

probability that a node migrates

removalProbability double

probability that a node gets removed

churnChangeInterval double

time between churn changes

Properties:

Name Value Description
display i=block/timer
class RandomChurn

Source code:

//
// Random churn generating module
//
// @author Markus Mauch
//
simple RandomChurn extends ChurnGenerator
{
    parameters:
        @class(RandomChurn);
        volatile double targetMobilityDelay @unit(s); // node creation/removal/migration interval after init phase
        volatile double targetMobilityDelay2 @unit(s); // used to change targetMean
        double creationProbability; // probability that a new node gets created
        double migrationProbability; // probability that a node migrates
        double removalProbability; // probability that a node gets removed
        double churnChangeInterval @unit(s); // time between churn changes
}