Download SIMSCRIPT III Language Manual
Transcript
method READ.SHOP define NO.OF.MACHINES, I as integer variables define MACHINE as a MACHINE reference variable read NO.OF.MACHINES for I = 1 to NO.OF.MACHINES do create MACHINE read TOTAL.UNITS(MACHINE), NAME(MACHINE) STREAM(MACHINE) = I file MACHINE in SHOP loop end method PRINT.STATISTICS define MACHINE as a MACHINE reference variable print 5 lines thus DEPARTMENT INFORMATION NAME NO.OF MACHINES UTILIZATION AVG. NO. OF JOBS IN BACKLOG MAXIMUM BACKLOG for each MACHINE in SHOP print 1 line with NAME(MACHINE), TOTAL.UNITS(MACHINE), AVG.BUSY(MACHINE) / TOTAL.UNITS(MACHINE), AVG.BACKLOG(MACHINE), MAX.BACKLOG(MACHINE) thus ******************** * *.** *.** end methods for the JOB class process method PERFORM define TASK as a TASK reference variable define TOTAL.WAIT, WAIT as real variables for each TASK in SEQUENCE do call USE.UNIT(MACHINE(TASK)) given MEAN.TIME(TASK) yielding WAIT add WAIT to TOTAL.WAIT loop DELAY.TIME = TOTAL.WAIT end process method GENERATOR(MEAN.INTERARRIVAL.TIME, STOP.TIME) until TIME.V >= STOP.TIME do schedule a PERFORM(REPERTOIRE(SELECTION)) now wait EXPONENTIAL.F(MEAN.INTERARRIVAL.TIME, 10) HOURS loop call PRINT.STATISTICS 101 *