Compound Module GENic

File: networks/gilbert-elliot/GENic.ned

(no description)

mac: CSMAMacLayer decider: ErrAndCollDecider snrEval: GilbertElliotSnr radio: SingleChannelRadio

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.

CSMAMacLayer

CSMA MAC protocol

ErrAndCollDecider

Decider module to use with digital channel modules like GilbertElliotSnr

GilbertElliotSnr

Gilbert-Elliot signal-noise evaluator

SingleChannelRadio (no description)

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.

Host (no description)

Gates:

Name Direction Description
radioIn input

to receive AirFrames

uppergateIn input

from upper layers

uppergateOut output

to upper layers

upperControlOut output

control connection

Unassigned submodule parameters:

Name Type Description
mac.debug bool

debug switch

mac.busyRSSI numeric const

level at which we consider medium busy

mac.slotDuration numeric const

how long is a slot?

mac.difs numeric const

maximum time between a packet and its ack

mac.maxTxAttempts numeric const

maximum number of transmission attempts

mac.headerLength numeric const

length of MAC header

mac.queueLength numeric const

length of the MAC queue

mac.defaultChannel numeric const

default channel

mac.bitrate numeric const

bit rate

mac.contentionWindow numeric const

contention window

decider.debug bool

debug switch

decider.snrThresholdLevel numeric
snrEval.debug bool

debug switch

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

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

radio.swSend numeric const

switch to send mode

radio.swRecv numeric const

switch to recv mode

Source code:

module GENic
    gates: 
	in: radioIn; // to receive AirFrames
        in: uppergateIn; // from upper layers
        out: uppergateOut; // to upper layers
	out: upperControlOut; // control connection

     submodules:
	mac: CSMAMacLayer;
            display: "p=60,50;b=32,30;i=prot2";
        decider: ErrAndCollDecider; 
            display: "p=68,100;b=16,16;i=box2_s;o=white";
        snrEval: GilbertElliotSnr; 
            display: "p=60,150;b=32,30;i=prot3";
	radio: SingleChannelRadio
	display: "p=200,30;b=30,25";

    connections: 
        radioIn --> snrEval.radioIn;

        decider.uppergateOut --> mac.lowergateIn display "m=m,50,50,75,0";
        snrEval.uppergateIn <-- mac.lowergateOut display "m=m,25,0,25,0";
        snrEval.uppergateOut --> decider.lowergateIn display "m=m,73,0,50,50";

	snrEval.upperControlOut --> mac.lowerControlIn;	
        mac.uppergateOut --> uppergateOut;

	mac.upperControlOut --> upperControlOut;
        mac.uppergateIn <-- uppergateIn;

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