DRCL J-Sim API

drcl.inet.mac
Class NodePositionTracker

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

public class NodePositionTracker
extends Module

This component divides the X-Y plane of the simulated space area into multiple subareas. Each mobile node's MobiltiyModel periodically reports its position to NodePositionTracker. When a NodePositionTracker receives a neighboring node inquery from the Channel component, the NodePositionTracker first finds out which subarea that sender node is located and returns the nid's of all mobile nodes which are currently located in all neighbouring subareas.

Author:
Ye Ge
See Also:
Channel, MobilityModel, Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
 double dX
          The grid size along X-axle
 double dY
          The grid size along Y-axle
 java.util.Vector[][] g
          Each element of this two dimensional array is a vector to hold the ids of all mobile nodes currently are located in that subarea.
 int m
          Number of subareas along the X-axle.
 double maxX
          The largest x coordinate value of the simulated area
 double maxY
          The largest y coordinate value of the simulated area
 double minX
          The smallest x coordinate value of the simulated area
 double minY
          The smallest y coordinate value of the simulated area
 int n
          Number of subareas along the X-axle.
 
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
NodePositionTracker()
           
NodePositionTracker(double maxX_, double minX_, double maxY_, double minY_, double dX_, double dY_)
          Construction function.
 
Method Summary
 void duplicate(java.lang.Object source_)
          Duplicates the content of source_, including ID, name, child components and connections among them, to this component.
 java.lang.String getName()
          Returns the (informational) name of the component.
 void setGrid(double maxX_, double minX_, double maxY_, double minY_, double dX_, double dY_)
          Sets the grid parameters to divide the simulated area into subareas.
 
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

dX

public double dX
The grid size along X-axle


dY

public double dY
The grid size along Y-axle


maxX

public double maxX
The largest x coordinate value of the simulated area


maxY

public double maxY
The largest y coordinate value of the simulated area


minX

public double minX
The smallest x coordinate value of the simulated area


minY

public double minY
The smallest y coordinate value of the simulated area


m

public int m
Number of subareas along the X-axle.


n

public int n
Number of subareas along the X-axle.


g

public java.util.Vector[][] g
Each element of this two dimensional array is a vector to hold the ids of all mobile nodes currently are located in that subarea.

Constructor Detail

NodePositionTracker

public NodePositionTracker(double maxX_,
                           double minX_,
                           double maxY_,
                           double minY_,
                           double dX_,
                           double dY_)
Construction function.

Parameters:
maxX_ - the largest x coordinate value of the simulated area
minX_ - the smallest x coordinate value of the simulated area
maxY_ - the largest y coordinate value of the simulated area
minY_ - the smallest y coordinate value of the simulated area
dX_ - the grid size along X-axle
dY_ - the grid size along Y-axle

NodePositionTracker

public NodePositionTracker()
Method Detail

setGrid

public void setGrid(double maxX_,
                    double minX_,
                    double maxY_,
                    double minY_,
                    double dX_,
                    double dY_)
Sets the grid parameters to divide the simulated area into subareas.

Parameters:
maxX_ - the largest x coordinate value of the simulated area
minX_ - the smallest x coordinate value of the simulated area
maxY_ - the largest y coordinate value of the simulated area
minY_ - the smallest y coordinate value of the simulated area
dX_ - the grid size along X-axle
dY_ - the grid size along Y-axle

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

DRCL J-Sim API

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