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. |