| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
  |
  +--java.util.Date
        |
        +--atropos.lp.AvnmpTime
              |
              +--atropos.lp.AvnmpDebug
                    |
                    +--atropos.gvt.Gvt
                          |
                          +--atropos.lp.AvnmpLP
This class implements the AVNMP logical process. The general idea is to have a working process modified as follows:
 Normal process:
 input -> process -> output
 Virtual Time Process (normal operation):
 input -> getvm(); getnext() -> process -> sendvm() -> output
                                 |
                                 V
                               savestate()
 Virtual Time Process (rollback):
 if(getvm() != 0)
         getstate() -> process() -> rbq() -> output
 
 This research is funded by DARPA/ITO Contract Number: 
 F30602-98-C-0230 supported by the Air Force Research 
 Laboratory/IF.
| Inner Class Summary | |
|  class | AvnmpLP.ParmTableThis table will hold a list of parmTime objects used to set and check parameter changes. | 
|  class | AvnmpLP.parmTimeThis class holds a list of new LP parameter values and the time at which they should take effect. | 
| Field Summary | |
|  snmp.agent.AppCommunicator | contextThe Snmp Agent Context | 
|  long | gvtupdateHow often to update global virtual time in milliseconds. | 
| protected  boolean | islpIs this a logical process or a driving process ? | 
|  long | lookaheadDistance into the future to predict | 
|  java.lang.Integer | LpNumUnique process id | 
| protected  AvnmpTime | lvtLocal virtual time | 
|  java.lang.String | nameProcess name | 
|  AvnmpStat | numAntiTotal number of anti-messages generated. | 
|  AvnmpStat | numCausalityRbNumber of Causality rollbacks | 
|  AvnmpStat | numPacketsTotal number of packets received. | 
|  AvnmpStat | numToleranceRbNumber of Tolerance rollbacks | 
| protected  java.lang.Double | outq_sizeSend queue size | 
|  AvnmpLP.ParmTable | parmTable | 
|  java.util.Vector | procListA list of all the known processes. | 
|  AvnmpStat | ReRateReal Message Rate | 
|  AvnmpTime | start_timeTime actual simulation processing starts | 
|  AvnmpStateQueue | stateqState queue | 
|  long | stepsizeLogical process simulation resolution | 
|  java.lang.String | terminal | 
|  AvnmpStat | TlaSampled lookahead | 
|  java.lang.Double | toleranceTolerance before rollback | 
|  AvnmpStat | TspeedupSampled Speedup: LVT/t samples. | 
|  AvnmpStat | TtrbTotal of rollback time samples. | 
|  AvnmpStat | TttaskTotal of task execution time samples. | 
| protected  AvnmpRecQueue | vminqInput queue | 
| protected  AvnmpSndQueue | vmoutqOutput queue | 
|  AvnmpStat | VmRate | 
| Fields inherited from class atropos.gvt.Gvt | 
| COLLECTMIN, GvtReportInput, GvtUpdateRequest, GvtUpdateResponse, IDLE, lm, REPORTLOCAL, START | 
| Fields inherited from class atropos.lp.AvnmpDebug | 
| dlevel, DRIVER_D, GVT_D, html, LP_D, LPSTATE_D, MEASURE_D, NodeName, PACKET_D, PAYLOAD_D, PP_D, PREDM_D, RECQ_D, ROLLBACK_D, SNDQ_D, STATEQ_D, SYSTEM_D, TIME_D, TOLERANCE_D | 
| Fields inherited from interface atropos.lp.ConfigInterface | 
| Dvm, initTolerance, logdir, lvm, ootLimit, pdir, rmlog, rmplots, rmsnmp, runMinutes, snmpdir, VirtualMessageRatio | 
| Constructor Summary | |
| AvnmpLP(java.lang.String n,
        java.lang.String nn)Create a Logical Process. | |
| Method Summary | |
|  boolean | checkParameterTimes()Check if the time has been reached to set new parameter values. | 
| abstract  PayLoad | Compute(PayLoad pl)This method is to be over-ridden by the physical process. | 
|  void | displayConfiguration() | 
| protected  void | displayLvt()Display the logical process local virtual time. | 
|  void | displayLVT() | 
|  void | displayQueues()Display all the queues associated with this logical process. | 
|  void | finalize() | 
|  long | getCausalityRollbacks()Return the number of causality rollbacks for this object. | 
|  double | getGenRate()Return the virtual/real generation rate for driving process prediction. | 
|  long | getlvt()Return the Local Virtual Time for this object. | 
| protected  AvnmpPacket | getnext()Return the next packet to be processed by the physical process. | 
| abstract  java.lang.Double | getPPstate()This method is to be over-ridden by the physical process. | 
|  long | getRealTime()Return the real time since this object created. | 
|  long | getRecQSize()Return the Receive Queue Size for this object. | 
|  long | getSndQSize()Return the Send Queue Size for this object. | 
| protected  AvnmpState | getstate(long d)Get the cached state closest to the input time. | 
|  long | getStateQSize()Return the State Queue Size for this object. | 
|  java.lang.Double | getTolerance()Get the max/min allowed value outside of which rollback will occur. | 
|  long | getToleranceRollbacks()Return the number of out of tolerance rollbacks for this object. | 
| protected  long | getvm(AvnmpPacket ap)Receive the next input message and enter it into the input queue. | 
|  AvnmpQueue | inputvm(AvnmpPacket ap)Main input to the logical process. | 
|  boolean | isDriver(java.lang.String h) | 
|  boolean | isLP()Is this a logical process or a driving process ? | 
|  boolean | isQuitTime()Check if time has expired. | 
|  void | logState()Log the complete LP state | 
|  java.lang.String | myname()Display the logical process name. | 
| abstract  int | portTable() | 
|  void | savestate(AvnmpState s)Save the current state in the state queue. | 
|  void | setGenRate(double gr)Set the virtual/real generation rate for driving process prediction. | 
|  void | setGVTUpdate(long g)Set the GVT update interval for the AVNMP system. | 
|  void | setLookahead(long l)Set the maximum distance into the future which this logical process may run. | 
|  void | setParameterTimes()Set the parameter values and the times at which they take effect. | 
| abstract  void | setPPstate(java.lang.Double is)This method is to be over-ridden by the physical process. | 
|  void | setProcList(java.util.Vector pq)Provide this object with a list of all the other processes. | 
|  void | setStepsize(long s)Set the step size for driving process prediction. | 
|  java.lang.String | toString()Display the logical process id. | 
| Methods inherited from class atropos.gvt.Gvt | 
| addProcs, calcLocalMinimum, collectMinima, getNumProcs, getNumUpdates, getProcReport, getState, getTimeSinceLastUpdate, getUpdateInterval, isDone, isUpdateTime, reportIn, reportLocalMinimum, resetGvt, startGvt, storeIn, storeOut | 
| Methods inherited from class atropos.lp.AvnmpDebug | 
| debugType, log, log, log, log, measure, resetLog, setLevel, writeLog | 
| Methods inherited from class atropos.lp.AvnmpTime | 
| add, adjustRelative, diff, now, resetRelative, set, startTime, time | 
| Methods inherited from class java.util.Date | 
| after, before, clone, compareTo, compareTo, equals, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setTime, setYear, toGMTString, toLocaleString, UTC | 
| Methods inherited from class java.lang.Object | 
| getClass, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
public java.lang.String terminal
public java.lang.String name
public java.lang.Integer LpNum
protected boolean islp
protected java.lang.Double outq_size
public AvnmpStat numCausalityRb
public AvnmpStat numToleranceRb
protected AvnmpRecQueue vminq
protected AvnmpSndQueue vmoutq
public AvnmpStateQueue stateq
protected AvnmpTime lvt
public long lookahead
public java.lang.Double tolerance
public AvnmpTime start_time
public long gvtupdate
public long stepsize
public AvnmpStat numPackets
public AvnmpStat numAnti
public AvnmpStat ReRate
public AvnmpStat VmRate
public AvnmpStat Tttask
public AvnmpStat Ttrb
public AvnmpStat Tspeedup
public AvnmpStat Tla
public java.util.Vector procList
public transient snmp.agent.AppCommunicator context
public AvnmpLP.ParmTable parmTable
| Constructor Detail | 
public AvnmpLP(java.lang.String n,
               java.lang.String nn)
n - A unique process namec - SnmpAgentContextnn - The current node name| Method Detail | 
public void savestate(AvnmpState s)
s - A state object.protected AvnmpState getstate(long d)
d - Input timeprotected long getvm(AvnmpPacket ap)
ap - The next packet to be receivedgetnext(), 
AvnmpRecQueue.getNext(atropos.lp.AvnmpTime, long, atropos.lp.AvnmpLP), 
AvnmpRecQueue.recvm(atropos.lp.AvnmpPacket, atropos.lp.AvnmpTime, atropos.lp.AvnmpLP, atropos.lp.AvnmpStateQueue, atropos.lp.AvnmpTime, atropos.lp.AvnmpSndQueue), 
lvtpublic long getlvt()
getlvt in class Gvtpublic long getRealTime()
getRealTime in class AvnmpDebugpublic long getRecQSize()
public long getStateQSize()
public long getSndQSize()
public long getCausalityRollbacks()
public long getToleranceRollbacks()
protected AvnmpPacket getnext()
AvnmpRecQueue.getNext(atropos.lp.AvnmpTime, long, atropos.lp.AvnmpLP)public java.lang.Double getTolerance()
public double getGenRate()
public void setGenRate(double gr)
s - Step virtual/readl driving process msg generation rate.public void setStepsize(long s)
s - Step size for driving process prediction.public void setGVTUpdate(long g)
g - The GVT update interval for the AVNMP system.public void setLookahead(long l)
l - The maximum distance into the future which this
 logical process may run.public java.lang.String toString()
toString in class GvtLpNumpublic java.lang.String myname()
myname in class Gvtnameprotected void displayLvt()
lvtpublic void displayLVT()
public void displayQueues()
vminq, 
vmoutq, 
stateqpublic AvnmpQueue inputvm(AvnmpPacket ap)
vm - Input messagegetvm(atropos.lp.AvnmpPacket), 
AvnmpRecQueue.recvm(atropos.lp.AvnmpPacket, atropos.lp.AvnmpTime, atropos.lp.AvnmpLP, atropos.lp.AvnmpStateQueue, atropos.lp.AvnmpTime, atropos.lp.AvnmpSndQueue), 
PP.Compute(atropos.pp.PayLoad)public boolean isQuitTime()
public void finalize()
finalize in class java.lang.Objectpublic boolean isLP()
public void setProcList(java.util.Vector pq)
pq - The other processes.public void logState()
public void setParameterTimes()
parmTable, 
checkParameterTimes(), 
ConfigInterface.initTolerancepublic boolean checkParameterTimes()
parmTable, 
setParameterTimes()public void displayConfiguration()
public boolean isDriver(java.lang.String h)
public abstract PayLoad Compute(PayLoad pl)
The - input to the physical process.public abstract java.lang.Double getPPstate()
public abstract void setPPstate(java.lang.Double is)
The - state to be restored to the physical process.public abstract int portTable()
| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||