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
*