Compound Module Host

File: networks/aloha/Host.ned

(no description)

blackboard: Blackboard mobility: BasicMobility arp: SimpleArp appl: applType like BasicApplLayer net: SimpleNetwLayer nic: AlohaSnrNic

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

Contains the following modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

AlohaSnrNic

This is the easiest nic to implement "real" network behaviour. It uses the CsmaMacLayer and the SnrDecider and SnrEval modules.

BasicApplLayer

Basic class for the application layer

BasicMobility

Basic module for all mobility modules.

Blackboard

The Blackboard works as entity to enable inter layer / process communication.

SimpleArp (no description)
SimpleNetwLayer

Basic class for the network layer

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

Sim (no description)
Sim (no description)
Sim (no description)
Sim (no description)

Parameters:

Name Type Description
applType string

type of the application layer

Gates:

Name Direction Description
radioIn input

gate for sendDirect

Unassigned submodule parameters:

Name Type Description
blackboard.coreDebug numeric const

debug switch for core framework

mobility.coreDebug numeric const

debug switch for the core framework

mobility.x numeric const

x coordinate of the nodes' position (-1 = random)

mobility.y numeric const

y coordinate of the nodes' position (-1 = random)

arp.debug bool
appl.debug bool

debug switch

appl.headerLength numeric const

length of the application message header (in bits)

net.debug numeric const

debug switch for the core framework

net.headerLength numeric const

length of the network packet header (in bits)

nic.mac.debug bool

debug switch

nic.mac.headerLength numeric const

level at which we consider medium busy

nic.mac.queueLength numeric const

length of the MAC queue

nic.mac.bitrate numeric const

bit rate in bit/s

nic.mac.defaultChannel numeric const

default channel

nic.decider.debug bool

debug switch

nic.decider.snrThresholdLevel numeric
nic.snrEval.debug bool

debug switch

nic.snrEval.publishRSSIAlways bool

if false, the RSSI will not be published during the reception of a frame

nic.snrEval.transmitterPower numeric
nic.snrEval.headerLength numeric const
nic.snrEval.carrierFrequency numeric
nic.snrEval.thermalNoise numeric
nic.snrEval.pathLossAlpha numeric
nic.snrEval.sensitivity numeric
nic.radio.debug bool
nic.radio.swSleep numeric const

time parameters, how long does it take to switch to sleep mode

nic.radio.swSend numeric const

switch to send mode

nic.radio.swRecv numeric const

switch to recv mode

Source code:

module Host

    parameters:
        applType: string; //type of the application layer

    gates:
	    in: radioIn; // gate for sendDirect

    submodules:
        blackboard: Blackboard;
            display: "p=200,75;b=30,25";

        mobility: BasicMobility;
            display: "p=200,150;b=30,25";

        arp: SimpleArp;
            display: "p=200,225;b=30,25";

        appl: applType like BasicApplLayer;
            display: "p=90,50;b=100,20,rect";

        net: SimpleNetwLayer;
            display: "p=90,100;b=100,20,rect";

		nic: AlohaSnrNic;
	    	display: "p=90,150;b=100,20,rect";

    connections:
        nic.uppergateOut --> net.lowergateIn;
        nic.uppergateIn <-- net.lowergateOut;
	nic.upperControlOut --> net.lowerControlIn;	

	net.uppergateOut --> appl.lowergateIn;
	net.uppergateIn <-- appl.lowergateOut;
	net.upperControlOut --> appl.lowerControlIn;		

	radioIn --> nic.radioIn;

    display: "p=10,10;b=250,250,rect;o=white";
endmodule