'  2' 'ư> %,2HELPA\NhNN:lX4CONTINUE n((3EXIT&%p=lHALTމPlX43dSTEP 1 4߉lg STOP߉X^F%EFSTOP ,,OFFg^w@߉UhT߉WhOgp߉.Od@g|߉@|ŻOdg@ModelsSample9.gpsLFeCFEO(hL(hZhE(((((((((({\rtf1\ansi\deff0\deflang1033{\fonttbl{\f0\fnil Courier New;}{\f1\fnil\fcharset0 Courier New;}} \viewkind4\uc1\pard\tx1200\tx2400\tx4440\tx5280\tx6000\f0\fs20 ; GPSS World Sample File - SAMPLE9.GPS Model to demo graphics windows \par Pool STORAGE 400 ;Define Storage \par Matrix1 MATRIX ,5,5 ;Define Matrix \par Transit TABLE M1,200,200,20 ;Transit time \par ; in wait and process \par GENERATE (Exponential(1,0,100)) ;Uses built in \par ; Exponential dist. \par JOIN Maingrp ;Xact joins grp called \par ; Maingrp \par JOIN Numgrp,9999 ;Add 9999 to Numeric \par ; group Numgrp \par SAVEVALUE Addup+,1 ;Total of transactions \par ; in model \par ASSIGN Param_1,232 ;Assign Xact parameter \par JOIN Numgrp,P$Param_1 ;Put value in Param1 \par ; parameter in Numgrp \par ; group \par LOGIC S Switch_1 ;Turn on a logic switch \par MSAVEVALUE Matrix1,2,2,QA$Tot_Process ;Put avg. queue content \par ; in Matrix cell\tab \par QUEUE Tot_Process ;Queue for process time \par SEIZE Facility1 ;Own first Facility \par LINK Chain1,FIFO,Nxtblk ;Put on Userchain if \par ; Facility busy \par Nxtblk SEIZE Facility2 ;Own a second Facility \par SEIZE Facility3 ;Own a third Facility \par QUEUE Process_Time ;Keep track of process \par ; times \par ADVANCE (Exponential(1,0,50)) ;Uses Function for \par ; Exponential Dist. \par DEPART Process_Time ;Record length of \par ; process \par TABULATE Transit ;Add wait + process \par ; time to Transit Table \par RELEASE Facility1 ;Give up 1st Facility \par ADVANCE 20 ;Delay time for Fac 2&3 \par RELEASE Facility2 ;Give up 2nd Facility \par ADVANCE 10 ;Extra delay time-Fac 3 \par RELEASE Facility3 ;Give up 3rd Facility \par DEPART Tot_Process ;Leave Queue \par UNLINK Chain1,Nxtblk ;Take all waiting Xacts \par ; off Userchain \par ENTER Pool,100 ;Place 100 units in the \par ; Storage \par LOGIC R Switch_1 ;Turn off logic switch \par LEAVE Pool,50 ;Take 50 units from \par ; Storage \par SAVEVALUE Collect-,1 ;Show negative Savevalue \par ; in model \par REMOVE Maingrp ;Remove Xact from group \par ; Maingrp \par ADVANCE \f1 50,1 \f0 ;Wait \f1 50(+/-1) \f0 time units \par LEAVE Pool,50 ;Take 50 units from \par ; Storage \par Finis TERMINATE 1 ;Destroy Xact \par \par \par }