Compound Module Host

File: networks/802.11/Host.ned

(no description)

blackboard: Blackboard mobility: ConstSpeedMobility appl: BurstApplLayer arp: SimpleArp net: SimpleNetwLayer nic: Nic80211

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.

Blackboard

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

BurstApplLayer

Application layer to test lower layer implementations

ConstSpeedMobility

Controls all movement related things of a host

Nic80211

This NIC implements an 802.11 network interface card.

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)

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 bool

core debug switch

mobility.debug bool

debug switch

mobility.speed numeric const

spped of the host (in m/s)

mobility.updateInterval numeric const

time interval to update the hosts position

mobility.x numeric const

x starting point of the node (-1 = random)

mobility.y numeric const

y starting point of the node (-1 = random)

appl.debug bool

debug switch

appl.headerLength numeric const

length of the application message header (in bits)

appl.burstSize numeric const

size of the burst

arp.debug bool
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.queueLength numeric const
nic.mac.rtsCtsThreshold numeric const
nic.mac.bitrate numeric const
nic.mac.defaultChannel numeric const

minimum channel support

nic.mac.autoBitrate bool

auto bit rate selection support: specify borders at which to change modulation.

nic.mac.snr2Mbit numeric const

threshold to use 2Mbit (in dB)

nic.mac.snr5Mbit numeric const

threshold to use 5.5Mbit (in dB)

nic.mac.snr11Mbit numeric const

threshold to use 11Mbit (in dB)

nic.mac.neighborhoodCacheSize numeric const

keep information on neighborhood

nic.mac.neighborhoodCacheMaxAge numeric const

consider information in cache outdate if older than

nic.decider.debug bool

debug switch

nic.decider.snirThreshold numeric const
nic.snrEval.debug bool

debug switch

nic.snrEval.headerLength numeric const

ignored

nic.snrEval.transmitterPower numeric const
nic.snrEval.carrierFrequency numeric const
nic.snrEval.thermalNoise numeric const
nic.snrEval.pathLossAlpha numeric const
nic.snrEval.publishRSSIAlways bool
nic.snrEval.sensitivity numeric const
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

    gates:
	in: radioIn; // gate for sendDirect

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

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

        appl: BurstApplLayer;
            display: "p=90,50;b=100,20,rect";

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

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

	nic: Nic80211;
	    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