This chapter contains a discussion of the organization of the features available in GPSS World and how to operate them. We first go through the installation procedure and then discuss the normal operation of an installed GPSS World package. Specific windows are discussed only briefly. An additional treatment of each window type can be found in Chapter 5. Explanations of error messages are in Chapter 14.
Normal installation of GPSS World places a copy of the executable files, the help file, and the GPSS Sample Models into folders, sometimes called directories, on your computer. Online HTML Documentation, such as this Reference Manual and the GPSS World Tutorial Manual are normally included in the installation of the Commercial Version of GPSS World. For Student Version installations the HTML manuals must be downloaded and/or copied separately. Both manuals are available in hardcopy form. All installations include the Reference Manual in the form of online help.
Your installation will begin when you double click on the Microsoft Windows Installer (msi) file downloaded from MinutemanSoftware.com or when you insert, or run the startup program on, an authentic GPSS World Commercial Version Distribution CD. Unfortunately, we are not able to support software obtained in any other way.
There are two important issues to be dealt with right at the beginning. First, you should ensure that if your existing Model Objects have become obsolete that they will be preserved, i.e. usable, after the installation. Second, you should then uninstall any existing installation of the same GPSS World product.
2.1.2. Preserving Obsolete Objects
If you are replacing an existing GPSS World installation, you should first determine if your old Model Objects will have to be updated. Although we try not to impose this inconvenience on you, occasionally the internal format of Model Objects must be changed. Before you begin the installation, download the current notices or view the general information page on the MinutemanSoftware.com Internet Web site to determine compatibility. If the Model Objects of the new version you are installing are incompatible with your existing Model Objects, you need to save your the text of each existing Model Object before you continue with the installation. To do so, open each of your Model Objects and use the Windows clipboard to save the text in each Model Object (.gps file) into a newly created Text Object. Then, after the installation, you can again use the clipboard to move the Model Statements into newly created Model Objects of the new kind. You do not have to update existing Text Objects. If you are not using the default Model Settings, you will also need to modify the Settings in each new Model Object. For that purpose, you may want to record all the old Settings before the installation. Settings can be viewed or changed using the Edit / Settings menu item in the Main Window.
Usually, the new Model Objects will be compatible with the old so that you won't have to do all this.
Although the internal format of Model Objects usually does not change from one release of GPSS World to the next, this is not true for Simulation Objects. Usually, but not always, you will have to retranslate your Models using the new version of GPSS World, thereby creating new Simulation Objects. As long as your old Model Objects are compatible with the new ones, this is a simple matter. The only thing to worry about is that if you have made changes to the Settings of the old Simulation Objects. If so, you will have to change those same Settings in the new Simulation Object using the Edit / Settings menu command. You may want to record the old values before proceeding.
2.1.3. Uninstalling the old GPSS World
Before beginning the installation, we recommend that you remove any existing old installation of the same GPSS World Product. (The Student and Commercial Versions are different products). This will not remove your own Objects, only the ones that were installed originally with GPSS World. The Uninstall operation is done though the Add / Remove folder in the Control Panel of your operating system. Usually, your old Commercial Version software key will be preserved if you install into the same directory. You can install the Student Version of GPSS World even if you already have the Commercial Version installed, and vice versa.
After any old installation has been removed, you are ready to install GPSS World. If you are installing from a CD into a system with the autorun capability enabled, simply inserting the CD will start the Setup program. Otherwise, open the CD icon in your My Computer folder and double click on the Setup icon.
It's even easier if you are installing from a World.exe or Student.exe self-extracting file downloaded from MinutemanSoftware.com. Just double click on its icon and the GPSS World setup program will begin.
2.1.4. Installation Requirements
First, you should check that the installation requirements have been met.
1. The use of the GPSS World Package requires an IBM compatible computer running Windows 98 or a compatible operating system.
2. We recommend an Intel Pentium III CPU, or better.
3. Floating point math coprocessor capabilities are strongly recommended, but not required. Most CPU chips marketed today have floating point processors.
4. A mouse is strongly recommended. Although simulations can be built and run without a mouse, some optional operations require the use of one.
5. At least 32 megabytes of random access memory (RAM) is recommended.
6. At least 15 megabytes of hard disk space is required for installation of all components of the Commercial Version. More is recommended for holding Model Files. In addition, adequate swap space must be available to the Windows Virtual Memory Manager.
7. CD drive is required only if installation is from CD medium.
8. A 16 digit numeric user key is required for the operation of the software. This numeric key must be obtained from MinutemanSoftware.com after the basic installation process has completed.
1. The Student Version of GPSS World is limited to simulations containing no more than 180 GPSS Block Entities, and the Personal Version is limited to 2000. The Commercial Version can run simulations of millions of blocks since it is limited only by the size of the virtual memory provided by your operating system. For optimal performance you should have enough RAM on your personal computer so that all simulations to be run at one time can fit in it.
2. The Student Version cannot open simulations saved by the Personal or the Commercial Version of GPSS World. The Commercial Version can open any simulation of the same version number, as well as those with other compatible version numbers.
3. The Student Version of GPSS World does not support the GPSS/PC Compatibility Mode. The Personal and Commercial Versions do.
2.1.5. File Folders/Directories
Although you can choose otherwise, the GPSS World setup program normally installs the software in the Minuteman Software folder in your computer's Program Files folder. In the following discussion we will use "folder" and "directory" synonymously. The Commercial Version of GPSS World will be placed in a folder named Commercial GPSS World in the Minuteman Software folder. The Samples folder, which holds all the examples, is then placed in that. Files pertaining to the operation of GPSS World are normally placed in the "module directory", i.e. the one containing the GPSS World executable files. Other sharable executables may be placed in one of your computer's system directories if they are not already present.
The operation of GPSS World results in the creation of several different files on your computer. Files for notices, registration information, and user keys are created in the module directory. You Control the other file placements when you open and save GPSS World Objects. Just as with GPSS World Objects, Data Streams can be directed to specific directories by your GPSS Open Statement. If you specify only a filename and not a path, the directory containing your Simulation Object is used.
Unless you direct otherwise in the File / Save As menu item, Simulation Objects will be placed with their parent Model Objects, and Report Objects will be placed with their parent Simulation Objects. Similarly, the search for Include-files begins in the Model Object's folder, or for Data Stream Text Objects in the Simulation Object's folder.
GPSS World can now invoke external programs directly by dynamic Call() Procedures. The rules for the location of the executable files containing the target functions are detailed in Chapter 8.
When you begin to build your own models you should create directories which make sense with respect to the project you are working on. For example, if you are investigating two very different inventory control strategies that need two very different models to simulate them, you may find advantages in placing them in separate directories. On the other hand, variants on a theme may best be organized in subfolders with the same parent.
2.1.6. The Installation Procedure
The use of all GPSS World products is governed by a license agreement which can be displayed during installation or by selecting Help / About in the Main Window of the program Once you begin the installation, the GPSS World setup program directs you through the process. After a short initialization, the first GPSS World Setup Window appears.
After you install a GPSS World Microsoft Windows Installer (msi) file downloaded from www.minutemansoftware.com, you must activate the software. This is done by acquiring a 16 digit numeric key, so that the software can run where you installed it. If you choose to use the Online Activation method, the activation process is almost automatic.
You may activate your GPSS World installation by either an Online Activation or an Email Activation. Either way, you must first prepay for the activation by clicking the “Buy Now” button on our website, www.minutemansoftware.com/downloads. Alternately, Users of the Personal Version or the Commercial Version of GPSS World can contact us directly by email (firstname.lastname@example.org) for prepayment.
When you activate GPSS World you must indicate where your prepayment can be found. You do this by specifying a “Minuteman Invoice Number”, a “PayPal Transaction Number” or a “Minuteman Authorization Number”.
The first of these, the “Minuteman Invoice Number” resides in a cookie and if not disabled on your computer, allows you to activate by simply clicking a single button.
The “PayPal Transaction Number” can be used, as well. You can find it on the email confirmation sent to you from PayPal.
Finally, sometimes it is convenient to get an authorization number directly from Minuteman Software, the “Minuteman Authorization Number”, which allows you to proceed with your activation.
After you have indicated your payment method, you may choose either an Online Activation or an Email Activation.
An online activation will immediately attempt to get your 16 digit software key from our registration server. If successful, you will be able to run simulations on GPSS World immediately. If not, you may retry the online activation or perhaps you may choose to activate by email, instead.
An email activation will cause an encrypted message to be sent to our registration server. If all is in order, an email message containing the 16 digit software key will be sent to the email address you specify in the registration information. If you have trouble sending email from the computer where GPSS World was installed, there is an option that places the encrypted message on the clipboard of your Windows operating system. You can then use a text editor to move the message to a place where you can generate an email message to be sent to Activation@MinutemanSoftware.com. Your 16 digit software key will be sent to the email address you specified in the registration information.
We now begin a discussion of the manner in which you can control your new simulation environment.
The GPSS World simulation environment is the collection of all the actions available to you when you open a Session. Everything is controlled from the GPSS World Main Window, an example of which is shown next.
Figure 2_13. The GPSS World Main Window
The Main Window has several components. The Title Bar is at the very top. Below that is the Menu, and below that the Toolbar (which can be hidden by toggling the View / Toolbar menu command). Most of the action occurs in the large empty client area.
At the very bottom of the Main Window is a Status Line that is divided into three parts. The left pane of the Status Line shows Command Prompts that give you more information on the menu items you are about to use. The middle pane of the Status Line shows status and error messages send from the GPSS World Objects you are interacting with. Finally, there is a small pane at the right side of the Status Line that is used to display the changing System Clock of running simulations. You can turn this on or off for each Simulation Object by using the View / Show Clock menu command.
Using the menu of the Main Window, you can create and manipulate the Objects of GPSS World: Model, Simulation, Report, and Text Objects. Each of these will have one or more views that can be opened within the GPSS World Main Window.
A typical project begins with the creation and modification of a Model Object. A Model is just a list of Model Statements, defined in Chapters 6, 7, and 8. After the Model is composed the next step is to create a Simulation Object. Each time you select Command / Create Simulation or Command / Retranslate from the Main Window's Menu, GPSS World Translates the Model Statements into a runnable Simulation Object. If errors need to be corrected, a single keystroke (representing Search / Next Error) can cycle through the circular error list, setting the cursor in the Text View of the Model, just before each error.
Once a Simulation Object is successfully Created, you can send any Model Statement to it to change the structure or state of the simulation. Normally, you will send Commands, such as START, but you can redefine entities or PLUS Procedures, as well.
You can send Model Statements to existing Simulation Objects using one of several methods.
First, some of the most common commands are listed in the Command menu of the Main Window. Most have keyboard accelerators as well.
Second, the Custom Command dialog is invoked through Command / Custom in the Main Window's menu. Here you can type any Model Statement -- even a PLUS Procedure -- and send it to an existing Simulation Object.
Third, you can load the set of function keys with you own choice of Commands. This is done through the Edit / Settings menu item in the Main Window. Thereafter, pressing the function key sends the Command to the currently selected Simulation Object.
Complex PLUS Procedures and lengthy Command lists can be sent using an INCLUDE Statement associated with a previously created Text Object. You can enter INCLUDE as a custom command ( Command / Custom ) or load it into a function key. After an INCLUDE Statement is loaded into a function key ( Edit / Settings ), a single keystroke sends the whole lot to the Simulation Object for processing.
During the debugging phase of your project, be sure to make use of all the visualization tools at your disposal. There are 10 dynamic windows and 7 snapshot windows that let you view the running simulation. Most require no effort on your part except to open them. Some, like the Blocks Window, add point and click debugging facilities for manipulating stop conditions and for controlling the advance of the simulation during debugging.
A new PLUS Trace feature can be turned on in the Settings Notebook. It will place a description of each PLUS Procedure invocation in your Journal Window. Here's a useful tip: If you define a PLUS Procedure that takes arguments but does nothing, you can place invocations of it anywhere in your PLUS code to evaluate and trace your own User Variables -- both Global and Temporary.
Among the dynamic windows are the Plot and Expression Windows which allow you to visualize the evaluation of any PLUS expression as it changes dynamically. The Tables Window can also be very enlightening, visualizing the convergence of frequency distributions. In addition, there are seven snapshot windows that present detailed state information at some instant within the simulation.
GPSS World is strong in the extensiveness of its Standard Reports. Unless you choose otherwise, when a Simulation Object completes a simulation (i.e. the Termination Count reaches zero), it creates a Report Object containing a Standard Report describing the final state of the simulation. You can modify the content of Standard Reports by editing the Settings of the Simulation Object. Interim reports can often be used effectively during the debugging/testing process. While interacting with a Simulation Object you can use the REPORT Command to create a Report Object describing all internal GPSS Entities.
You can extract just about any information you desire from a simulation by using Data Streams. These are associated with a set of GPSS Blocks and PLUS library procedures (OPEN, CLOSE, READ, WRITE, SEEK) that allow you to trace and collect derived information from the simulation and write them to plain text files. Such traces can be used to drive photo-realistic animations, as well. Within GPSS World, text files used in association with Data Streams are represented as Text Objects. The new Call PLUS procedures provide direct online access to external programs such as ad-hoc animators.
After the Model is thoroughly tested, it is time to define an Experiment to quantify results and test their statistical significance. GPSS World excels in this regard. Its built-in programming language, PLUS, supports a special kind of PROCEDURE statement, called, naturally, the EXPERIMENT Statement. Within an experiment, you can run and analyze complex experiments unattended. You can even get an automatic Analysis of Variance of the results. These features are developed in the OneWay.gps Sample Model, and further in Lessons 19 and 20 of the GPSS World Tutorial Manual. Chapter 13 of this manual discusses ANOVA and the Automatic Experiment Generators in depth.
GPSS World provides several Help aids to keep you on track. The most immediate is the Online Help feature. Online Help is available throughout GPSS World. The [F1] Function Key will bring up a Help Panel for the active window or dialog. In additional, if you press the [F1] key when a menu item is highlighted, a context sensitive Help Panel will appear with information pertaining to that menu item. Within the Text View of an object, select a word and press the [F1] key to go to the keyword's description in the GPSS World Language reference section of the Help file. Finally, Online Help can be initiated by a Help button in some dialog boxes.
The Internet offers more help on GPSS World. HTML Online documentation can be found at the Minuteman Software Internet Web site, MinutemanSoftware.com. This site offers many other support options as well. You can get to it by
SELECT File / Internet / GPSS Web Page
in the Main Window's menu.
The MinutemanSoftware.com site contains other useful resources and ways to communicate with other users and consultants. The Student Version of GPSS World can be downloaded from the Web site free of charge. The official documentation of GPSS World includes this manual, the GPSS World Reference Manual, and the GPSS World Tutorial Manual. Both are available on the Web site and in hardcopy, as well.
Don't overlook the extensive set of sample models. Many professionals have found that one of the fastest ways to acquire simulation skills is to examine the work of others. The sample models in every GPSS World installation include a wide variety of applications of simulation to real-world problems.
The Main Menu
Most of the action begins at the menu of the Main Window. Each of the top-level menus
File Edit Search View Window Help
have submenu items, most of which are enabled only when appropriate. To help guide your actions, GPSS World disables irrelevant menu commands. When disabled, menu commands are gray and cannot be activated. When there is ambiguity as to which Object is to receive the Command, you will have to select one of the object's windows with the mouse or keyboard in order to activate the related menu commands.
Now, let's look at each top level menu.
The File Menu
The leftmost menu is the File Menu. It is used to open and save Objects, print views of Objects, access the Internet to download notices and Internet Web pages, and to register the software for users of the Commercial Version.
The Edit Menu
The top items in the Edit Menu are for working with text. All GPSS World Objects have a Text View that can be modified using these menu commands. Undo is a "one-level backup" facility for removing the effects of the last Text View interaction. Cut, Copy and Paste move selections to and from the Windows clipboard. Insert Line and Delete Line operate at the cursor location in a Text View. The Font command opens a dialog allowing customization of the view.
The remaining five items allow you to modify attributes of GPSS World Objects. Expression Window and Plot Window open a dialog which allow you to change the contents of an existing dynamic Expression Window or Plot Window. Insert Block opens the Block Input Menu from which you can open a Block Creation Dialog. These Dialogs are available for guiding the creation of GPSS Blocks. When you complete a Block Creation Dialog and click OK, the new Block Statement is inserted after the Insertion Point in the Model. Block Statements created this way contain tabs. You can adjust tabstops in the Report page of the Model Object's Settings. Insert Experiment opens a dialog which allows you to automatically generate either an efficient screening experiment or a sophisticated optimizing experiment and insert it into a Model Object. See Chapter 13 of this manual for a discussion of the Automatic Experiment Generators.
Edit / Settings allows you to view and modify the Settings of a Model, Simulation, or Report Object. These attributes are discussed in detail below.
The Search Menu
The Search Menu helps you navigate inside the text view of an object.
The first item, Find / Replace, opens a dialog that lets you move to the next occurrence of specific text, and optionally replace it. A Replace All option is available, as well.
The Go To Line item will jump to a line number in the text. This is useful at times when an error message from a simulation mentions a line number.
The next set of items is for Bookmarks. They let you place invisible marks that get saved with the object. They form a circular list that you can traverse via the appropriate menu commands or keystrokes. The Next Bookmark menu command jumps to that position in the text corresponding to the next Bookmark in the list. Mark enters a Bookmark at the current cursor position. Unmark removes the current Bookmark. Unmark All removes all Bookmarks, Select to Bookmark selects text from the current cursor position to the current Bookmark position.
The last two items in the Search menu deal with Translation error messages. When you try to Create a Simulation Object from a Model which contains syntax errors, a circular list of error messages and locations is built into the Model Object, replacing any that was there before. This list becomes part of the Model Object and is saved with it. To traverse the list in either direction use the Next Error and Previous Error menu commands to display the error message in the Status Line at the bottom of the Main Window. At the same time the cursor is placed just before the error in the Text View so you can correct it. The keyboard accelerators[Ctrl]+[Alt]+[N] and [Ctrl]+[Altl]+[P] let you navigate the list easily from the keyboard.
The View Menu
The View menu includes menu commands for controlling what is shown in a few of the windows.
The first item, Notices, allows you to view the notices concerning GPSS World. You can update them from minutemansoftware.com if you need to.
With the second item, Toolbar, you can hide or show the Main Window's Toolbar by toggling the first item Toolbar.
The third item, Entity Details, lets you change the format of some of the dynamic simulation windows to show more or less detail onscreen.
The last menu item, Clock, toggles a switch in the current Simulation Object. If this switch is on in the current Simulation Object, changes in the System Clock of the simulation are displayed in the lower right of the Status Line of the Main Window when one of that Simulation Object's views is the active window. This is a handy way to assure yourself that a simulation is indeed running, but it slows down the simulation somewhat.
The Command Menu
The Command Menu is concerned with creating and manipulating Simulation Objects. The Create Simulation menu command invokes the high performance Translator to create a Simulation Object based on the Model Statements in an existing Model Object and its Include-files. Normally you will encounter errors that must be corrected (see Search / Next Error, above). The Retranslate menu command is available to perform the Translation again when errors have been corrected.
Next, Repeat Last Command is an easy way to do some action again on behalf of the same Object.
The remaining menu commands represent formal GPSS Commands. Most have accelerator keys for easy use and most can be loaded into a function key, as well. These menu commands are disabled unless the current Simulation Object is ready for them.
You can click on the last item in the Command submenu, Custom, in order to write your own Model Statement, not listed elsewhere.
The Window Menu
The top two items in the Window Menu can be used to tidy up when many windows are open in the Client Area of the Main Window. Tile will cover the client are of the Main Window with a small version of all open windows and Cascade will stack them in a handy stack where all title bars can be seen.
The next two items have submenus themselves. They are used to open Windows and Snapshots on existing Simulation Objects. These individual windows are discussed below. They are disabled until the current Simulation Object is ready to oblige.
The Help Menu
The Help menu can be used to start the Online Help system. In addition, the bottom item About GPSS World displays the software version and the license agreement.
Settings are collections of values that form a common thread throughout most of the GPSS World Objects. They are used to control the simulation, the appearance of reports, and the contents of windows and loadable function keys.
Settings are inherited. When you Create a Simulation Object, it inherits its initial Settings from its parent Model Object. So if you want to set values for all the simulations in your project, you should set them in the Model Object.
Similarly, Report Objects inherit their settings from the Simulation Object that created them. In this way, the Report contains a read-only record of the Settings in effect when the simulation was run.
Text Objects are different. They are mere representations of plain text files and do not contain a copy of Settings. This is the reason that they are the only GPSS World Objects that can be opened by external text editors. The other objects contain Settings, Bookmarks, and in the case of Model Objects, Result Lists, that are saved with the object and that confound external word processors. If you need to, you can always transfer just the text to and from the text view of these GPSS World Objects using the Windows clipboard.
To open a Settings Notebook you must first select an open GPSS World Object. Then, its Settings are viewed or modified by selecting Edit / Settingsafter clicking on the GPSS World Object to be changed. This presents the Settings Notebook for that Object, with 5 tabbed pages.
The Simulation Page
Figure 2—14. The Simulation Page of the Settings Notebook
The Simulation Page contains several values that you can change which affect the limits and behavior of running simulation.
The Poll Count Setting is the number of Block entries to be attempted before checking for any kind of interruption, such as a Command from the user.
If you use a lot of GPSS Transaction Parameters in your model, you can speed up simulations a little by putting them into a Parameter Block. To do this enter the number of Parameters to be blocked into the Parameter Block Size field, and the Parameter number of the first Parameter in the block in the Parameter Block First field. If you are using Names instead of numbers to refer to these Parameters, you should control the values given to Parameter Names by using EQU Statements.
The Max Evaluation Depth is used to protect against circular references in sets of PLUS Procedures. If your simulation is highly nested without circular references, you can increase this value to accommodate any level of nested Procedure calls.
The Stack Size is used to allocate stack space for nested PLUS Procedures and library procedures. You can save space by decreasing this value, but if you get a Stack Overflow Error Stop during a simulation, you may have to increase it.
The Integration Tolerance field is used by the continuous simulation phase. If you loosen this tolerance by making it larger, your integrations will be faster but may lose some accuracy.
The Max Memory Request places a limit on the acquisition of RAM memory for structures such as tables and matrices. Such a limit is useful to catch errors, but you can increase it as necessary. If your RAM memory demands exceed that available in your computer, your operating system's virtual memory manager will have to increase its disk activity and perhaps its disk swap space usage significantly.
The four checkboxes at the bottom of the page control GPSS/PC Compatibility, which is available only in the Commercial Version, and how Data Stream errors are to be handled in the simulation.
CHECK theGPSS/PC Compatibility checkbox to operate the simulation in GPSS/PC Compatibility mode as described above in Section 1.5. This option automatically invokes the Single Calendar Day option, described next.
CHECK theSwitch * and # checkbox to cause the [*] character to be used for multiplication and [#] for GPSS indirect addressing instead of the other way around.
CHECK theSingle Calendar Day checkbox to cause simulations to use a single FEC time segment list instead of multiple ones. In certain simulations this may be a little faster, but will not alter the results of the simulation.
CHECK theI/O Stream Error Stops checkbox if you want any errors other than "File Not Found" and "End of File" encountered by Data Streams in a simulation to HALT the simulation. If this box is unchecked you can handle such errors yourself within the simulation. See Section 4.16 for more information on Data Streams.
The Reports Page
Figure 2—15. The Reports Page of the Settings Notebook
The Reports Page is concerned primarily with the appearance of Reports and Plots.
The Standard Report Options groupbox contains the itemized GPSS Entity subreports to be included in each Standard Report. Check those to be included.
CHECK theCreate Standard Reports checkbox to enable the creation of Standard Reports automatically when every simulation ends (i.e. when the Termination Count reaches zero). The REPORT Command is still available even if this is left unchecked.
CHECK theIn Windows checkbox to open a Text View of each Report Object instead of just saving them in a file. This checkbox depends on the previous checkbox being checked,
Check theSix Places checkbox to set the printed precision of fractional real values to 6 decimal places instead of 3 in Reports and Status Messages.
Check theScientific checkbox to use the mantissa-exponent representation of extreme numbers in reports and in Data Streams.
Below the Standard Reports Options groupbox are four more Settings.
The Saved Plot Points value tells GPSS World how much space to allocate to a circular buffer for recent Plot points. If you scroll or print a Plot Window, these values are used to rebuild the plot. If you don't have enough, the leftmost segment of the scrolled or printed plot will be missing. A value too large can waste virtual memory.
Check theSuppress Page Numbers checkbox to prevent GPSS World from inserting page number headers when printing the object's Text View.
Check thePLUS Trace checkbox to enable the Journalizing of a trace message for each PLUS Procedure invocation executed by your Simulation Object. Arguments are evaluated before writing them to the Journal Window. If you insert calls to some simple procedure and turn on the PLUS Trace you will get a trace of your variables (i.e. the ones used as arguments) in the Journal Window.
Check theSilence checkbox if you errors associated with this object to be reported silently, with no audible beep.
The Random Numbers Page
Figure 2—16. The Random Numbers Page of the Settings Notebook
The Random Numbers Page lets you control the internal Random Number Streams of the simulation and the external numbering of child objects.
To keep naming of objects unique, GPSS World adds a sequence number to the names of newly created child objects. The number to be used for the next sequence number is kept here, in the Settings of the parent object. To change it just modify the Child Object Sequence Number field.
The Random Number Streams groupbox contains the remaining settings on the page. They determine which GPSS Random Number Stream is to be used for the purpose of resolving Time Ties, time randomization in GENERATE and ADVANCE Blocks, and Next Block in TRANSFER Blocks.
TheTime Ties entry field allows you to specify that when imminent events occur at the same time, the next event is to be selected randomly. To do so, place the Entity Number of the Random Number Generator to be used in the Time Ties entry field. If you use a value of 0, time ties will not be randomized. A fuzz value of one part per billion is used in the equality criterion for real time values.
TheGENERATE Blocks entry field allows you to specify which Random Number Generator is to be used when a GENERATE Block calculates an interarrival time from Operands A and B. If you specify a nonpositive number, Random Number Generator number 1 is used.
TheADVANCE Blocks entry field allows you to specify which Random Number Generator is to be used when an ADVANCE Block calculates a delay time from Operands A and B. If you specify a nonpositive number, Random Number Generator number 1 is used.
TheTRANSFER Blocks entry field allows you to specify which Random Number Generator is to be used when a TRANSFER Block selects a probabilistic destination Block. If you specify a nonpositive number, Random Number Generator number 1 is used.
The Function Keys Page
Figure 2—17. The Function Keys Page of the Settings Notebook
You can enter GPSS Statements into the fields on this page to load them into Function Keys, and/or you can change the tabstops of a Model Object.
When a Simulation Object is selected all you have to do to send the loaded GPSS Statement is to press the Function Key. Using an INCLUDE Statement permits you to send a Statement list of any complexity, including PLUS Procedures and Experiment definitions.
The Model Tabstops section allows you to set the tabstops of Model Objects. This may be desirable when you use the Block Creation Dialogs which themselves use tabs in the Block Statements they create. Tabstops are disabled for Simulation or Report Objects. Tabstops must be nonzero and strictly increasing from the first (leftmost) to the last. You can specify the tabstops in either of two units: characters or twips. There are 1440 twips in an inch (approximately 567 in a centimeter).
The Expressions Page
Figure 2—18. The Expressions Page of the Settings Notebook
When you open an Expression Window or a Plot Window on a Simulation Object, you must specify the expression to be watched as well as a name to be used as a label. This page allows you to save complex expressions with the Simulation Object. Then, when you open a Window using the expression, you can select it from a list instead of having to retype it.
Both the Expression Window and the Plot Window give you a chance to save expressions currently in use in the window. You can do this by
SELECT Edit / Expression Window
SELECT Edit / Plot Window
And then selecting the expression and
CLICK ON Memorize
Alternately, you can type the label and expression into this page of the Settings Notebook. The effect is the same. You will now be able to bring back the labeled expression simply by selecting it.
2.3. Controlling a Session
Normal installation of GPSS World places a line in your operating system's Start / Programs Menu that you click on to start the program. Alternately, you can create a shortcut to GPSS World and place it on your personal computer's "desktop", or anywhere you like. Simply drag the GPSS World icon from the Start / Programs menu.
You can open an object in GPSS World Session merely by double-clicking on it. When you run GPSS World the first time, it registers the file types and extensions of GPSS World with the Windows operating system. This allows Windows to associate GPSS World with any of its Object files. Thereafter you can double click on any of the file icons to start a GPSS World Session.
2.3.1. Using the Main Window
Once you have started a Session you can control it using your mouse and the keyboard. You can choose menu items by clicking with your mouse, by using menu mnemonic keys, and by using accelerator keys. Many interactions require you to type information using the keyboard, and the set of Functions Keys on your keyboard can be loaded with any Commands you choose. As described in the previous section, you edit the Settings of an object in order to load Commands into the Function Keys.
Before you begin, you should familiarize yourself with the Main Menu. A quick overview is presented above, in Section 2.2.2. Many of the Main Menu items are disabled and appear gray until they can be used. As you open and create GPSS World Objects, the valid menu commands will become enabled as appropriate.
Using The Main Menu
Although all the GPSS World Objects have small menus on their own windows, most actions start in the Main Menu. All menus are used in a similar fashion. Some menu sequences result in the creation of a Dialog Window containing several controls such as buttons and entry fields. Entry fields normally require you to use the keyboard to type in additional information.
To initiate the menu actions, you have three choices. First, you can simply use the mouse to click on the succession of menu items. Second you can press the [Alt] key to activate the menu, and then press the underlined (i.e. the mnemonic) letter in each menu item, in sequence. Third, if the lowest level menu item has an accelerator key listed to the right of the item name in the menu, you can simply press that combination of keys to begin the action, if it is enabled.
The Accelerator Keys
Accelerator keys are key combinations that immediately enter a menu command into GPSS World. Usually, they are listed just to the right of the menu item they effect. They are enabled only when their associated menu item is. To activate an accelerator key, hold down all keys in the combination except the last, then press the last key, then release all keys.
GPSS World Hot Keys
Hot keys are quick ways to send GPSS World Commands to a Simulation Object. They are:[Ctrl]+[Alt]+[S] - Create Simulation
[Ctrl]+[Alt]+[R] - Retranslate
[Ctrl]+[Alt]+[L] - Repeat Last Command
[Ctrl]+[Alt]+[C] - CONTINUE
[Ctrl]+[Alt]+[H] - HALT
[Ctrl]+[Alt]+ - STEP 1
Text View Navigation Keys
Navigation Keys let you jump to specific locations in a Text View. They are:[Ctrl]+[Alt]+[B] - Next Bookmark
[Ctrl]+[Alt]+[G] - Go To Line
[Ctrl]+[Alt]+[N] - Next Error
[Ctrl]+[Alt]+[P] - Previous Error
[Ctrl]+[Alt]+[F] - Find / Replace
Text Editing Accelerators
Editing is faster using Text Edit Accelerators instead of menu selection. These keys are:
[Ctrl]+[Z] - Insert Line
[Ctrl]+[D] - Delete Line
[Ctrl]+[I] - Undo[Ctrl]+[C] - Copy to Clipboard
[Ctrl]+[X] - Cut to Clipboard
[Ctrl]+[V] - Paste from Clipboard
also,[Ctrl]+[Ins] - Copy to Clipboard
[Shift]+[Del] - Cut to Clipboard
[Shift]+[Ins] - Paste from Clipboard
There are several other general purpose keys. They are:[Ctrl]+[O] - File Open
[Ctrl]+[S] - File Save
[Ctrl]+[P] - File Print
[Alt]+[F6] - Next Pane
[Shift]+[F6] - Previous Pane
The[F1] key opens the GPSS World Help System any time it is pressed. You can then explore the contents and index of the "Windows Help" form of the GPSS World Reference Manual.
In addition, if a menu item or control is selected,[F1] will open context sensitive help on that topic. Or, if the cursor is embedded in a GPSS World keyword, such as a Command Name, in a Text View, if you press the [F1] key, you will open the online Reference manual to information on that topic.
When an operation cannot be completed, GPSS World displays an Error Message in a dialog box or a Text Window. Most messages are intended to be self-explanatory. Even so, a further explanation of each message can be found in Chapter 14 of this manual.
Using Text Windows
The Text Windows of all GPSS World Objects have text editing capabilities. You can enter text into a Text Window by opening a file, by typing, or by pasting from the clipboard. Text can be modified in a variety of ways.
There are two place-marking indicators that you can use when a Text View has the input focus. In a Text View, the mouse pointer is the I-beam icon that travels as you move the mouse. The cursor, or insertion point, is the flashing vertical line in the text window that marks the text insertion point. Text you type is placed at the insertion point indicated by the cursor.
The editing operations available are:Edit / Undo .
Move the cursor to the position of the mouse pointer by clicking mouse button 1.
Move the cursor by arrow keys in the keypad.
Move the cursor and scroll using the [PgUp] and [PgDn] keys.
Move the cursor to the beginning and end of a text line by pressing [Home] and [End] , respectively.
Scroll using the scroll bars of the Text Window.
Break a text line with[Enter] .
Delete selected text with [Del] .
Undo last edit with
Delete line with cursor withEdit / Delete Line
Insert new line after cursored line withEdit / Insert Line .
Selection operations include
Select word by double click on button 1.
Swipe select by click and hold button 1, move mouse, release button 1.
Extended select by [Shift] + click mouse button 1 to select from cursor to mouse pointer.
Clipboard operations include
·Cut selected text by Edit / Cut. Delete text and place copy in clipboard. You may also use the key combination [Ctrl] + [X].
·Copy selected text by Edit / Copy. Copy text to clipboard. You may also use the key combination [Ctrl] + [C].
·Paste to cursor by Edit / Paste . Insert a copy of text from clipboard. You may also use the key combination [Ctrl] + [V].
Other operations using keyboard accelerators are described above.
You can change the font of text in a Text View. First select the text, then
CHOOSE Edit / Font
This will open the Font Dialog, where you can specify typeface, size, and character type for the selected text. GPSS World uses Courier as the default font. It has the advantage of being a monospaced font with uniform character widths. This has the advantage of easy column alignment in GPSS Statements.
The physical process of model development starts with the creation of a Model Object that contains Model Statements written by you. Model Statements are defined in Chapters 6, 7, and 8 of this manual. Often it's easiest to begin building a simulation by modifying an existing model. The Samples folder is rich source of small GPSS World Model Objects.
Model Statements can exist in additional Text Objects (.txt) as well as the primary Model Object (.gps), permitting you to share code across projects. Although there's only one Model Object in a simulation, there can be many Text Objects. These are connected to the Model Object with INCLUDE Statements, which take the name of the Text Object file (.txt) as an argument.
Model development begins by opening a Text View of the Model Object. A complete set of text editing operations is available for modifying and adding Model Statements. If you prefer, the use of the Block Input Menu and one or more Block Creation Dialogs makes it relatively easy to correctly specify the Blocks Statements in your Model. Each Block Statement is inserted in a line following that of the flashing insertion point in the Model Object. Online Help guides you all the way and syntax errors are prevented.
A model must be Translated in order to Create a Simulation Object. The Translation is started via the Command / Create Simulation item in the main menu of the Model Window. The Translator determines if there are syntax errors in the model. If so, a circular queue of error messages is created so that the errors can be found and corrected easily. If no errors are found, the resulting simulation automatically sent to the Simulation Object, replacing any that already existed. When the Simulation Object receives a simulation, it immediately performs all embedded Commands in the order encountered by the Translator.
You can use an INCLUDE Command anywhere in a Model except in a PLUS Procedure. Normally, they are used in Model Objects to incorporate statements from one or more Text Objects. INCLUDE Statements can be nested to a depth of 5, but they cannot be used inside a PLUS Procedure.
The syntax of the INCLUDE Command is:
Where you replace the italicized word FileSpec with your file specification, including extension (normally .txt), and enclose it in double quotes. The default directory is that of the Model Object.
INCLUDE Commands have other uses, as well. You can type an INCLUDE Command as a Custom Interactive Command. This causes a whole file of Model Statements to be Translated and sent to the Simulation Object. An INCLUDE Command can be loaded into a function key, just like any other GPSS Command. In this manner a single keystroke can initiate a complex Command File or PLUS Procedure redefinition.
Before you use a file in an INCLUDE Command, you should Translate it by itself to remove syntax errors. To do so, copy its Model Statements to the clipboard, open a new temporary Model Object, paste into it from the clipboard, and Translate it using Command / Create Simulation. This allows you to correct any Syntax Errors easily before combining the Text Object into a more complicated model.
Simulation Objects begin as Translated Model Objects. When you Translate a model by selectingCommand / Create Simulation, the GPSS World Translator checks for syntax errors, creates a simulation, and sends it to a newly created Simulation Object. If successful, Translation activates all the Interactive Commands and Simulation Windows, so that the state of the newly created simulation can be monitored and controlled. After that, you can send any Model Statement to the existing simulation for processing.
GPSS World features a new high performance Model Translator that is hundreds of times faster than its predecessor. The largest models are Translated in no more than a few seconds.When the Translator detects one or more errors in the model, it creates a circular list of error messages that can be accessed from the Text View of the Model Object. You can traverse the error list quickly using the Search / Next Error or Search / Previous Error menu commands. Both have keyboard mnemonics and accelerators. Each stop in the list places the error message in the Status Line of the Main Window and places the insertion point in the Model Text View just before the syntactical element that caused the error. It's then a simple matter to correct each error and move to the next.
If an error occurs in an INCLUDEd Text Object, and you cannot find it easily, you can paste those statements into a new temporary Model Object and Translate it by itself. It is best to place only tested statements into an Include-file.
Blocks are placed in the simulation in the same order that they are encountered by the Translator. Commands are accumulated in an ordered list that is sent to the Simulation Object with the simulation. The list is scanned for Immediate Commands (SHOW, HALT, and CONDUCT), and the remainder are placed on the simulation’s Command Queue and executed one after the other. Command Lists sent interactively to an existing simulation are treated the same way.
Dynamic simulation windows (not Snapshots) are automatically refreshed when you Translate a model to ensure that the view is current. If an entity can no longer be found, say, in a Table Window, the Window will be closed automatically.
GPSS Commands are used to control the running of simulations. They are discussed in detail in Chapter 6. They may be embedded in a model or they may be sent as Interactive Statements.
Any Model Statement may be sent to an existing simulation. Such statements are called Interactive Statements. You can control and view running simulations very closely with the operations that are available. To do so, use the Command menu in the Main Window. If the Command you need is not listed, selectCommand / Custom and type it into the entry field, and select OK. This action Translates the Command and sends it to the simulation. The Command menu is disabled until there is a simulation to receive interactions.
You may use GPSS Block Statements and PLUS Procedure definitions as Interactive Commands. Block Statements sent interactively to an existing simulation cause a temporary Block to be created and immediately destroyed after the Active Transaction attempts to enter it. This mode is called Manual Simulation. Procedure Statements sent to an existing Simulation Object register a user created PLUS Procedure, replacing any of that same name that may already exist.
Interactions are logged in the Journal View of the Simulation Object.
Normally, a START Command is used to begin a simulation. It could be entered interactively or could be part of the Model Object. The START Statement specifies the Termination Count, which is an important state variable of the simulation. The Termination Count must be decremented to zero for the simulation to end. Any TERMINATE Statement in the simulation can decrement this count.
When the Simulation Object executes a START Command, Transactions will begin to circulate in the simulation. Normally, the simulation will end by itself and will produce a Standard Report when the Termination Count reaches zero. If an error stop occurs, no report is written. Reporting options can be changed in the Settings of the Simulation Object. These are described above in Section 2.2.3.
Multiple simulations can be run unattended by using RESET, CLEAR, and START in a sequence of Commands. These are commonly used in PLUS Experiments, which can control and analyze extensive sets of simulation runs. PLUS Experiments are discussed in this manual in Section 8.2.4 , and in Lesson 19 of The GPSS World Tutorial Manual.
Stopping a Simulation
You may stop a running simulation in several ways.
·First, you can interrupt a simulation by sending a HALT Command. HALT can be asserted by the [Ctrl]+[Alt]+[H] Hot Key, a Function Key, an Interactive Command from the Command menu, or as part of a Command File.
·Second, you can enter one or more stop conditions with the STOP Command, before you START or CONTINUE the simulation. STOP commands set conditions which when detected will cause the simulation to halt. When the simulation stops, previous stop conditions are not removed. If you CONTINUE a simulation after a stop condition was found, the original condition that caused the simulation to stop is ignored to allow the stopped Transaction to proceed. STOP conditions can be controlled by "Point and Shoot" operations in the Debug Toolbar using only the mouse. This is discussed below, and in Chapter 5.
·Third, you can resume the simulation with a STEP Command. After the specified number of Block entry attempts, the simulation will stop automatically.
·Fourth, when an error condition is detected, an Error Stop occurs. The simulation is halted and messages are sent to identify the reason.
·Fifth, you can simply wait for the simulation to complete. This occurs when the Termination Count falls to or below 0.
In each of these cases, when the simulation stops, the state of the simulation is reported to the Journal View of the Simulation Object.
Any Model Statement can be sent to an existing simulation. These are called Interactive Statements. They can be Commands, PLUS Procedure definitions, or even Block Statements.
Every simulation has a Command Queue associated with it. The Simulation Object performs each Command on the queue one after the other, until it is HALTed or until it runs out of things to do. Even Commands in the Model, other than HALT and SHOW, are placed on the Command queue before they are performed.
Interactive Commands are either Immediate or Queued. Immediate Commands, such as HALT and SHOW, are performed as soon as the Simulation Object receives them. All other Commands are queued. They are placed at the end of a list of Commands which have not yet been completed.
The HALT Command is a special case. Not only is it an immediate Command, but it also deletes any remaining Queued Commands still on the Command queue. After a HALT Command is performed, the Simulation Object has nothing more to do on behalf of that simulation, for the moment, since the Command Queue is then empty.
Commands are not the only statements that can be used interactively. When a PLUS Procedure Statement is sent interactively, it causes the procedure to be registered within the simulation. Thereafter, the procedure can be invoked from any PLUS Expression. If a Procedure with the same name already exists within the simulation, it is redefined.
A PLUS Experiment is a special kind of Procedure. PLUS Experiments are can be sent interactively, as well. If any like-named PLUS Procedure (or Experiment) is currently registered with the Simulation Object, it is replaced. Then the Experiment can be invoked using a CONDUCT Command, which is discussed in Chapter 6.
Interactive Block Statements are called Manual Simulation Statements. When received by the Simulation Object, they cause a temporary Block to be created, and the Active Transaction to attempt to enter it. Then the Block is destroyed. In this manner, GPSS Blocks can be used as though they were commands, providing for a fine level of control over the simulation. Data Stream file I/O is supported interactively, as well. Data Streams are discussed in Section 4.16.
GENERATE Blocks are the only ones which cannot be used in Manual Simulation Mode. Instead, SPLIT Block Statements can be used to create Transactions interactively.
The are several ways to send a Model Statement to the simulation. You can use the Command submenu of the Main Window, you can use a "Hot Key", and you can associate a GPSS Statement with a Function Key in the Model Settings Notebook.
To send a Command List to the Simulation Object
CHOOSE Command / Custom
type the Command list, and
This will Translate the Command list and send it to the simulation for execution.
It is often convenient to put a list of frequently used Commands in a small text file. You can then use an INCLUDE Command to send the whole sequence to the Simulation Object. Even easier, you can load a function key with an INCLUDE Command, and have the whole Command List performed by a single keystroke.
There are fifteen different entity types that you can create. The entity types are Transactions, Blocks, Facilities, GPSS Functions, Logicswitches, Matrices, Queues, Storages, Savevalues, Tables, Userchains, Variables, Numeric Groups, Transaction Groups, and Random Number Generators. The better you understand these entities and their properties, the more powerful your simulations will be. Chapter 4 is devoted to entities.
With the exception of Transactions, entities are never deleted from the simulation. However, some entity types can be redefined interactively. You can use STORAGE, TABLE, QTABLE, MATRIX, or VARIABLE Commands using the same label to do so. Similarly, PLUS Procedures may be redefined interactively.
A location label, or simply location, is a name used to label a Block Statement. This field is not required in a Block Statement. Unlike other entity types, Blocks may not be redefined in GPSS World. A similar flexibility can be achieved by using an EXECUTE Block and redefining its Operand A.
A wide variety of windows are available for viewing simulations. Multiple windows of the same type may be opened on any simulation. All windows can be printed or saved for later use.
Simulation windows are divided into two categories: Snapshots and Dynamic Windows. All Simulation Snapshots and Windows are opened using theWindow submenu in the Main Window. Use Window / Simulation Snapshot for a Snapshot and Window / Simulation Window for a Dynamic Window. The menus are disabled until there is a simulation to see.
Snapshots are not updated online. They take a single picture that represents a view of the simulation at a single instant.
You can take Snapshots of the following items:
· Current Stop Conditions.
· Any Transaction in the simulation.
· The Current Events Chain.
· The Future Events Chain.
· Numeric Groups.
· Transaction Groups.
Dynamic Windows are updated as the simulation changes. They are refreshed when you Translate a model or cause a RESET event. You can open an online view of
· The Block Structure of the model.
· An arbitrary Expression list.
· The Facility Entities.
· The Logicswitch Entities.
· Any cross-section of a Matrix Entity.
· A Plot of multiple arbitrary Expressions.
· The Queue Entities.
· The Savevalue Entities.
· The Storage Entities.
· Any Table Entity.
Dynamic windows place a load on the system because large numbers of messages returned from the simulation must be processed. We recommend that only a few online windows be used at a time when the simulation must be run. It is much easier to open a large number of Snapshots and Windows when the simulation is HALTed first.
Each of these Snapshot and Dynamic Window types is presented in Chapter 5.
Any simulation window can be printed by selectingFile / Print from the Main Menu.
After you have created one or more GPSS models, you then normally enter a period of testing, tracing, and debugging your simulations. GPSS World provides you with many testing facilities, including visual aids, for use during the testing process. In addition, the high level of interactivity provided by GPSS World allows you to manipulate the simulations for the purpose of problem determination.
First, you need to verify that the simulation is behaving as you expect. The GPSS World graphical windows are ideal for this purpose. We suggest that you start the simulation, and then begin to explore the overall behavior of your models as they converge to steady state behavior.
One of the most useful windows for debugging is the Journal View of the Simulation Object. When you cause the Trace Indicator of a Transaction to be turned on, all Block entries of that Transaction cause a Trace Message to be displayed in the Journal View. You can place TRACE Blocks inside the model for this purpose, or you can use TRACE Statements in Manual Simulation Mode, to control the Trace Indicator of individual Transaction Entities. The PLUS Trace Setting can now be used to aid the development of PLUS Procedures. It is discussed below.
For serious debugging you will probably need to place stops at certain places in the simulation, and then observe the state of the simulation by taking snapshots and opening dynamic windows. Snapshots of the CEC and FEC, in conjunction with the STEP Command, are often sufficient to determine why certain events occurred. The FEC and CEC can be visualized in snapshots or can be displayed using a REPORT Command.
Difficult debugging problems can often be best tackled by running a simulation to an important time, and then saving the Simulation Object. Stop conditions and memorized expressions are automatically saved with it. Then, by repeatedly reopening it as a new Simulation Object, you can rerun the simulation from the saved state.
All SNAs are accessible using the SHOW Command. They can be visualized dynamically in an Expression Window of a Plot Window.
Sometimes it is useful to make corrections in the middle of a debugging run. GPSS World allows you to redefine entities, redefine PLUS Procedures, change the values of user defined names, and to manipulate the simulation by entering Manual Simulation Statements. You can then continue the simulation without a retranslating.
An Error Stop is an error condition that prevents a Statement from completing normally within a simulation. You must correct the conditions causing the Error Stop before the simulation can proceed.
The Debug Toolbar
Most of the dynamic Simulation Windows have an additional toolbar called the Debug Toolbar that lets you debug using only mousing operati
Figure 2—19. The Blocks Window Debug Toolbar
The Blocks Window has the best Debug Toolbar because you can select a Block Icon with the mouse, then click on the Place button to place a Stop Condition that HALTs the simulation when a Transaction attempts to enter that Block. When the Block is selected, if you click on the Remove button, the original Stop Condition is removed.
Most of the other Simulation Windows have toolbars without the Place and Remove buttons. But they do have the rest. Use the Halt button to send a HALT Command to the Simulation Object. The Continue button resumes the simulation and the Step button causes the simulation to attempt to enter a single Block, and then HALT.
You can view the collection of Stop Conditions in the User Stops Snapshot.
SELECT Window / Simulation Snapshots / User Stops
Figure 2—20. The User Stops Snapshot
The User Stops Snapshot displays the set of all active Stop Conditions. A Stop Condition is defined by a Transaction Number and a Block Entity Number. Any attempt of a Transaction of the stated number to enter a Block of the stated number causes a HALT Command to be invoked. The value of 0 is special. Since no Transaction or Block has a number of 0, this value is used to indicate "Any". For example, the window above shows a single Stop Condition that occurs when any Transaction attempts to enter Block 3.
Stop Conditions are added to the list using the STOP Command or via a Debug Toolbar. You can remove any or all Stop Conditions by STOP ,,OFF Command, via a Debug Toolbar, or by selecting and clicking the Remove or Remove All buttons in the User Stops Snapshot.
When you are developing Model Objects that include your own PLUS Procedures, you should consider temporarily turning on the PLUS Trace in Page 2 of the Settings Notebook. Use Edit / Settings in the Main Window in order to do this. Then, PLUS Procedure invocations will be recorded by trace messages written to the Simulation's Journal Window.
You may find it useful to define a PLUS Procedure that takes one or more arguments but does nothing else. Then, you can insert invocations in your PLUS code that will cause traces of your User Variables to appear in the Journal Window. These can be easily removed after your PLUS Procedures are fully tested.
After you have established credibility in your GPSS Model, you typically enter the experimental phase of the project. During this period, you run your model repeatedly to experiment with the effects of proposed actions on your simulated system. It is up to you to establish that the effects you have observed in your simulations are above the statistical noise level. The Analysis of Variance provided by the ANOVA library procedure can give you confidence that your results are due to more than just random variability.
The power of PLUS Experiments enables you to run complex experiments unattended, even exploring experimental response surfaces and collecting data for advanced statistical treatment. The Automatic Experiment Generators of GPSS World are at your disposal. Be sure to read Chapter 13 in this manual and study Lessons 19 and 20 in The GPSS World Tutorial Manual to get started with your experimentation.
There is a background Batch Mode of operation that is useful when a large amount of processing is needed which does not require interactions on your part. Let's assume that the GPSS World Module Directory is either the DOS current directory or is listed in the PATH variable. From a DOS Command Line type
where FileSpec is the file name of a Model Object or a Simulation Object. If the Objects are located in directories other than the GPSS World Module Directory, you should give a fully qualified pathname.
In Batch Mode GPSS World opens the object, and attempts to continue processing in a minimized window. If the Object is a Model, GPSS World automatically issues a Create Simulation menu command to translate it. If the Object is a Simulation, GPSS World passes a CONTINUE Command to it. You should insert an EXIT 1 Command or an Exit(1) invocation to close the session and save all the files.
You should not use Batch Mode until your Model has been well tested. Any Syntax Errors or Error Stops will cause the Session to be stopped. You will then have to deal with them by opening the window and interacting with the Session.
2.3.3. Artificial Limits
Memory Request Limits
An arbitrary memory limit is used to protect your simulations from gross overstatements of memory requests. It is used to trigger an error condition when a memory request exceeds the limit. It applies to allocations of Table Entities, Matrix Entities, and Plot Windows.
You can change the limit if you need to by altering the limit in the Simulate page of the Model Settings Notebook. SelectEdit / Settings and turn to the Simulate page. Enter the new limit in the Max Memory Request entry field, and CLICK on OK.
The simulation stack is used for nested procedure calls. It is preallocated, and can cause a failure if it is not large enough when your simulation invokes PLUS Procedures to a deep nesting level. You can change the limit if you need to by altering the limit in the Simulate page of the Model Settings Notebook. Select Edit / Settings and turn to the Simulate page. Enter the new limit in the Stack Size entry field, and CLICK on OK.
An arbitrary limit is used to protect your simulations from circular references. If your simulation uses highly nested GPSS, or PLUS procedure calls, it is possible that you may need to increase this value. You can change it in the Simulate page of the Model Settings Notebook. SelectEdit / Settings and turn to the Simulate page. Enter the new limit in the Max Evaluation Depth entry field, and CLICK on OK.
[Table of Contents]