DRCL J-Sim API

drcl.inet.mac
Class WirelessPhy

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.net.Module
              extended bydrcl.inet.mac.WirelessPhy
All Implemented Interfaces:
ActiveComponent, java.lang.Cloneable, ObjectCloneable, ObjectDuplicable, java.io.Serializable

public class WirelessPhy
extends Module
implements ActiveComponent

This class simulates many functions of a wireless physical card. It piggy-backs various information (ie. location of the sending node, the transmission power of data frame etc.) to the mac layer data frame and passes that fram to the channel. While receiving a data frame from the channel component, it determines whether that frame can be decoded correctly by consulting RadioPropagationModel and passes the decodable frame to the mac layer. It also contains a EnergyModel component to track the energy consumption.

Author:
Ye Ge
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
static java.lang.String ANTENNA_PORT_ID
           
static java.lang.String CHANNEL_PORT_ID
           
static java.lang.String CONFIG_PORT_ID
           
static java.lang.String ENERGY_PORT_ID
           
static java.lang.String MOBILITY_PORT_ID
           
static java.lang.String PROPAGATION_PORT_ID
           
 
Fields inherited from class drcl.net.Module
downPort, PortGroup_DOWN, PortGroup_UP, upPort
 
Fields inherited from class drcl.comp.Component
FLAG_COMPONENT_NOTIFICATION, FLAG_DEBUG_ENABLED, FLAG_DIRECT_OUTPUT_ENABLED, FLAG_ENABLED, FLAG_ERROR_ENABLED, FLAG_EVENT_ENABLED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_PORT_NOTIFICATION, FLAG_STARTED, FLAG_STOPPED, FLAG_TRACE_ENABLED, FLAG_UNDEFINED_START, id, infoPort, locks, name, parent, PortGroup_DEFAULT_GROUP, PortGroup_EVENT, PortGroup_SERVICE, Root, Trace_DATA, Trace_SEND
 
Constructor Summary
WirelessPhy()
          Constructor.
 
Method Summary
 void _start()
           
 void configureCard(java.lang.String card_)
          Configures the card parameters.
 void duplicate(java.lang.Object source_)
          Duplicates the content of source_, including ID, name, child components and connections among them, to this component.
 Port getChannelPort()
           
 java.lang.String getName()
          Returns the (informational) name of the component.
 long getNid(long nid_)
          Gets the node id.
 void setCPThresh(double CPThresh_)
           
 void setCSThresh(double CSThresh_)
           
 void setFreq(double freq_)
          Sets the frequency
 void setNid(long nid_)
          Sets the node id.
 void setPt(double Pt_)
          Sets the transmission power
 void setPwl(int pwl_)
          Sets the power level.
 void setRxThresh(double RXThresh_)
           
 void timeout(java.lang.Object data_)
          Preriodically timeout to update energy consumption even if it is in idle state.
 
Methods inherited from class drcl.net.Module
cancelTimeout, setTimeout, setTimeoutAt
 
Methods inherited from class drcl.comp.Component
addComponent, addComponent, addEventPort, addEventPort, addForkPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addServerPort, addServerPort, cancelFork, connect, containsComponent, containsComponent, containsPort, debug, disconnectAll, disconnectAllPeers, disconnectAllPorts, drop, drop, error, error, expose, exposeEventPorts, exposePort, exposePort, exposePort, exposePort, exposePort, findAvailable, findAvailable, findAvailable, fork, forkAt, getAllComponents, getAllPorts, getAllPorts, getAllWiresInside, getAllWiresInsideOut, getAllWiresOut, getComponent, getComponentFlag, getComponentFlag, getContract, getContractHT, getContractHT, getDebugFlagsInBinary, getDebugLevelNames, getID, getParent, getPort, getPort, getRoot, getTime, iduplicate, info, isAncestorOf, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectlyRelatedTo, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, reset, resume, run, sduplicate, send, sendAt, setComponentFlag, setComponentFlag, setDebugEnabled, setDebugEnabled, setDebugEnabledAt, setDebugEnabledAt, setDebugEnabledAt, setDirectOutputEnabled, setDirectOutputEnabled, setEnabled, setErrorNoticeEnabled, setErrorNoticeEnabled, setEventExportEnabled, setEventExportEnabled, setExecutionBoundary, setGarbageDisplayEnabled, setGarbageDisplayEnabled, setGarbageEnabled, setGarbageEnabled, setID, setID, setName, setPort, setPort, setTraceEnabled, setTraceEnabled, sleepFor, sleepUntil, stop, toString, unexpose, unlock, useLocalForkManager, useLocalForkManager, wait
 
Methods inherited from class drcl.DrclObj
clone
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CONFIG_PORT_ID

public static final java.lang.String CONFIG_PORT_ID
See Also:
Constant Field Values

CHANNEL_PORT_ID

public static final java.lang.String CHANNEL_PORT_ID
See Also:
Constant Field Values

PROPAGATION_PORT_ID

public static final java.lang.String PROPAGATION_PORT_ID
See Also:
Constant Field Values

MOBILITY_PORT_ID

public static final java.lang.String MOBILITY_PORT_ID
See Also:
Constant Field Values

ENERGY_PORT_ID

public static final java.lang.String ENERGY_PORT_ID
See Also:
Constant Field Values

ANTENNA_PORT_ID

public static final java.lang.String ANTENNA_PORT_ID
See Also:
Constant Field Values
Constructor Detail

WirelessPhy

public WirelessPhy()
Constructor. Sets some parameters according to a simple card.

Method Detail

_start

public void _start()

configureCard

public void configureCard(java.lang.String card_)
Configures the card parameters.


getName

public java.lang.String getName()
Description copied from class: Component
Returns the (informational) name of the component.

Overrides:
getName in class Component

duplicate

public void duplicate(java.lang.Object source_)
Description copied from class: Component
Duplicates the content of source_, including ID, name, child components and connections among them, to this component. Subclasses need to override this method to copy its own variables.

Specified by:
duplicate in interface ObjectDuplicable
Overrides:
duplicate in class Module

getChannelPort

public Port getChannelPort()

setNid

public void setNid(long nid_)
Sets the node id.


getNid

public long getNid(long nid_)
Gets the node id.


setPt

public void setPt(double Pt_)
Sets the transmission power


setPwl

public void setPwl(int pwl_)
Sets the power level.


setRxThresh

public void setRxThresh(double RXThresh_)

setCSThresh

public void setCSThresh(double CSThresh_)

setCPThresh

public void setCPThresh(double CPThresh_)

setFreq

public void setFreq(double freq_)
Sets the frequency


timeout

public void timeout(java.lang.Object data_)
Preriodically timeout to update energy consumption even if it is in idle state.

See Also:
Module.setTimeout(Object, double), Module.setTimeoutAt(Object, double)

DRCL J-Sim API

Copyright © 1998-2003 Distributed Real-time Computing Lab (DRCL). All Rights Reserved.     ~ To J-Sim Home ~