Appendix A

This appendix is not at the point we would like it to be. We have put this together hastily for the release of NMOD. We will be modifying it in the coming weeks and months. We apologize for the lack of proper organization of this page.

System properties listed below can be used as well as defined by the analyst. Some properties are initialized as well as reset by NMOD during execution and indicated so when relevant in property descriptions below.
$B.MaxEventsReq
Safety variable controlled by user for setting the maximum number of events permitted in a model run (variable is read from model's CFG file); must be set to 0 for no limit.
$D.TimeBoundary
Conceptual clock threshold which can be set by user for stopping model run. NMOD stops model execution the moment clock crosses this time boundary; must be set to 0 for no limit.
$D.Epsilon
Smallest value of dbl KIND initialized by NMOD.
$D.BigM
Biggest value of dbl KIND initialized by NMOD.
$B.BigM
Biggest value of big KIND initialized by NMOD.
$D.SignalDuration
How long a signal should be held in Events queue; set by user before sending a signal; default value is 0.
$L.MaxEventsReq
$B.MaxEventsReq > 0
$L.TimeBoundary
$D.TimeBoundary > 0
$L.YellowFlag
Flag for stopping model execution when relevant property codes of current object are finished.
$L.Trace
Flag for producing execution trace statements; core traces will still be written even when this flag is set to FALSE
 
$D.MergeProd
Existing result of he MergeProd function at any time during the merging process at a convergence node.
$B.MergeProd
 
$R.MergeProd
 
$S.MergeProd
 
 
$D.MergeSum
Existing result of he MergeSum function at any time during the merging process at a convergence node.
$B.MergeSum
 
$R.MergeSum
 
$S.MergeSum
 
 
$L.Search
Flag modeler can use to control execution of user-defined code sections during search procedures. Set by NMOD to TRUE when user activates any search procedure through user-defined PGM file for the model.
$L.FirstCall
Flag modeler can use to control execution of user-defined code sections during search procedures. Set by NMOD to TRUE when a model is being called for the first time during an execution by any of the search procedures.
$B.Probe
Tracks number of times a model has been probed during a search procedure
$B.Stim
Length of search procedure name; computed by NMOD.
$B.Resp
System property holding response value during a search procedure when the dependent (performance) variable is a big KIND integer.
$511.StimMsg
Name of search procedure in use; stored by NMOD.
$511.RespMsg
Optional message string inserted by the analyst in search procedure response from the model. The string will be inserted in front of intermediate and final results displayed and written to execution feedback file by NMOD.
$B.Stimulus
System property holding stimulus value during a search procedure when the independent variable is a big KIND integer; defined during each search iteration by NMOD.
$B.Xtol
Allowable tolerance for the independent/control variable of big KIND integer in the final answer from a search procedure.
$D.Stimulus
System property holding stimulus value during a search procedure when the independent variable is a dbl KIND real variable; defined during each search iteration by NMOD.
$D.Xtol
Allowable tolerance for the independent/control variable of dbl KIND real in the final answer from a search procedure.
$D.Ytol
Allowable tolerance for the dependent/performance variable of dbl KIND real in the final answer from a search procedure.
$D.Response
Value of dependent/performance variable of dbl KIND real in the final answer from a search procedure.
$T.Mode
Search mode. -1=minimzation; 0=single probe what-if; 1=maximization.
Analysts may find the following model properties useful as well.
mod%strDate 8-character string, mm/dd/yyyy
mod%strTime 10-character string, hh:mm:ss.d

 

The following NMOD procedures are available for use by analysts. We are in the process of organizing interface documentation for these procedures (low priority at the moment). In the mean time, please do feel free to contact us if you need to use any of these functions or have need for others that are not listed here.
Fibonacci Search procedure for finding optimal integer independent/control variable value that produces optimal response over a proposed solution range. Response curve should be unimodal over the proposed solution range.
TrivialSearch Search procedure that simply loops through a proposed solution range of independent/control variable in proposed solution increments.
GoalSeek Search procedure for finding the value of independent/control variable that produces a desired response value.
GoldenSection Search procedure for finding independent/control variable value (real) that produces optimal response over a proposed solution range. Response curve should be unimodal over the proposed solution range.
InitOptimization Procedure that must be called from a model's PGM file if user wishes to use any of NMOD's search procedures. If the call is absent, NETrans will alert user to the problem.
OptimizationResPonse A procedure user must call to return a model's dependent/performance variable value in response to a stimulus/probe from any of the search procedures.
OptimizationStimulus A procedure user must call to get a independent/control variable to use for each iteration of the model during any of the search procedures.
 
GetTable Loads a table from an open Excel worksheet stored in HTML format.
Path Returns file path of current model.
WithPath Prefixes a character string provided as input with file path of current model.
WithPathModelName Returns file path and name of current model.
OpenTableFile Opens Excel worksheets stored in HTML format for loading with GetTable procedure.
 
LookUp Returns value from a table based on a lookup value and requested column offsets.
MatchRow Returns row number in a string table whose first column value matches an input value.
VarLookUp Builds on MatchRow function to lookup a value bsed on requested column offsets.
 
Time Returns current conceptual time during a model run.
Uniform Returns uniformly distributed random numbers over a proposed range.
Triangular Returns triangularly distributed random numbers over a proposed range.
Exponential Returns exponentially distributed variates.
AbsoluteRefF Finds how much conceptual time is remaining from current time till the occurrence of a future event.
ConvergenceQueueLength How may items/entities are waiting in a Convergence node's queue.
ConvergenceQueueHeadTkn Token ID of the entity at the head of a Convergence node's queue.
ChangeConvergenceRequirement Changes a Convergence node's convergence requirement on-the-fly.
ChangeANDarcMult Change AND-arc multiplier value on AND arcs.
MergeInitFlag Returns TRUE if first of the converging surrogates is being handled at a Convergence node by NMOD.
MergeOutSur ID of the surrogate coming out of the Convergence queue of a node.
TriggeringSur ID of the surrogate arriving last at (and triggering) a Convergence node.
LastMergeOut Returns TRUE if the last surrogate of a customer is being dequeued from a Convergence queue.
MergeOutCount Index of the dequeuing loop at a Convergence node.
MergeSum Function for summing up values of a given property of all entities converging on a node.
MergeProd Function for finding the product of values of a given property of all entities converging on a node.
 
EventsRemaining Number of entities remaining in the Events queue.
RemoveTimeBoundary Remove time boundary set in configuration file.
SetTimeBoundary Set time boundary on-the-fly.
 
TravelNotes Stores notes written by the analyst in a growing chain of notes attached to a surrogate
ShowTravelNotes Writes out notes stored using TravelNotes in order of occurrence.
ObjectSeq Finds sequence number of a network object given its Visio-assigned object ID, and optionally, number of the page/network where it is located. Default is current page.
NodeType Returns value of node Type constant associated with a given node. Names of these constants are provided in a separate table in this Appendix.
TermNode Terminating node sequence number of an arc.
CustomerID ID of a customer represented by a given token. Default token argument is current token.
TokenID ID of a token represented by a given surrogate. Default surrogate argument is current surrogate.
Signal Exposed to enable users to call NMOD's signal procedure with all of the arguments including a positive signal duration value.
SwitchTkn Reassigns any given surrogate to a different token.
Arrival Generates arrival of a customer at any network object.
Departure Causes departure of a customer at any network object.
 
MaxF Find bigger of a pair of values (of all KINDs defined in NMOD).
MinF Find smaller of a pair of values (of all KINDs defined in NMOD).
strfNxtDayOfWeek Increments day of week number by 1 and returns name of day, Sunday being Day 1.
ObjTypeFromOpMode Infers object type from operational mode of an entity
Envelope Wraps an integer (reg or big KINDs) with left and right enveloping characters provided in the CALL. This function should not be used in an I/O statement.

 

The following NMOD constants are available for use by analysts.
strInpLine 511-character string varibale (not a constant)
strMsg 511-character string varibale (not a constant)
 
dblBigM Biggest possible dbl KIND real number on the processor on which NMOD is running.
bigBigM Biggest possible big KIND integer number on the processor on which NMOD is running.
regBigM Biggest possible reg KIND integer  real number on the processor on which NMOD is running.
dblEpsilon Smallest possible dbl real absolute number on the processor on which NMOD is running.
 
strSpace Single space blank.
logNo .FALSE.
logYes .TRUE.
 
tnyArrival Constant integer value assigned to Arrival Type nodes.
tnyDeparture Constant integer value assigned to Departure Type nodes.
tnyNormalEvent Constant integer value assigned to Normal Type nodes.
tnyStartNde Constant integer value assigned to Start nodes.
tnyNetwork Constant integer value assigned to Network Type nodes.
tnyReturn Constant integer value assigned to Return Type nodes.