Simple Module ChurnGenerator

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

C++ definition

ChurnGenerator base module

ChurnGenerator

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.

Known subclasses:

Name Type Description
LifetimeChurn simple module (no description)
NoChurn simple module

No churn generating class (only bootstraps a networks)

ParetoChurn simple module

Lifetime churn based on shifted pareto distribution

RandomChurn simple module

Random churn generating module

TraceChurn simple module (no description)

Used in compound modules:

Name Type Description
ReaSEUnderlayNetworkBase compound module

The InetUnderlay ned-file

See also: ReaSEUnderlayConfigurator

Networks:

Name Type Description
InetUnderlayNetwork network

The InetUnderlay ned-file

See also: InetUnderlayConfigurator

InetUnderlayNetwork6 network

The InetUnderlay ned-file

See also: InetUnderlayConfigurator

SimpleUnderlayNetwork network

The SimpleUnderlay ned-file

See also: SimpleUnderlayConfigurator

SingleHostUnderlayNetwork network

The SingleHostUnderlay ned-file

See also: SingleHostUnderlayConfigurator

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)

Properties:

Name Value Description
display i=block/timer

Source code:

//
// ChurnGenerator base module
//
simple ChurnGenerator
{
    parameters:
        int targetOverlayTerminalNum; // number of nodes after init phase
        double initPhaseCreationInterval @unit(s); // node creation interval in init phase
        double noChurnThreshold @unit(s); // if the lifetimeMean of a specific
                                          // churn generator exceeds this,
                                          // NoChurn is used instead
        string channelTypes;   // used (tx) access technologies (from common/channels.ned)
        string channelTypesRx; // used (rx) access technologies (from common/channels.ned)
        @display("i=block/timer");
}