home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Reference Guide / C-C++ Interactive Reference Guide.iso / c_ref / csource5 / 349_01 / sss.arc / EX_0505.FOR < prev    next >
Encoding:
Text File  |  1991-04-12  |  1.5 KB  |  69 lines

  1. C     Program EX_0505.FOR
  2. C     Listing 10F - see documentation in TUTOR.SSS
  3.  
  4. $include:'SSSF1.H'
  5.  
  6.       subroutine prime
  7. $include:'SSSF2.H'
  8.       call INIQUE(1, 1, 1)
  9.       call SIMEND(24.0)
  10.       call CREATE(0.0, 0)
  11.       call inista(1,'Cost                 ',0, 0, 0, 0)
  12.       return
  13.       end
  14.  
  15.       Program EX_0505
  16. $include:'SSSF2.H'
  17.       integer ARRIVL, STARTA, ENDACT, NEXTAC,
  18.      +  id, server, ecode
  19.       data  ARRIVL/1/, STARTA/2/, ENDACT/3/, NEXTAC/4/
  20.       data  id/0/, server/1/
  21.  
  22.       call prime
  23.  
  24.    99 ecode = NEXTEV()
  25.       if (ecode.gt.0) then
  26.         goto (101, 102, 103, 104) ecode
  27.  
  28. C ARRIVL
  29.   101   continue
  30.         id = id + 1
  31.         call CREATE(EX(1.0), id)
  32.         call SETA(1, T())
  33.         call SCHED(0.0, NEXTAC, IDE())
  34.         goto 99
  35.  
  36. C NEXTAC
  37.   104   continue
  38.         if (server.gt.0) then
  39.           call SCHED(0.0, STARTA, IDE())
  40.         else
  41.           call QUEUE(1, 0.0)
  42.         endif
  43.         goto 99
  44.  
  45. C STARTA
  46.   102   continue
  47.         call SCHED(RN(0.66667, 0.16667), ENDACT, IDE())
  48.         server = server - 1
  49.         goto 99
  50.  
  51. C ENDACT
  52.   103   continue
  53.         call TALLY(1, (T() - A(1))*(1 + EX(2)))
  54.         call DISPOS
  55.         server = server + 1
  56.         if (NQ(1).gt.0) then
  57.           call REMVFQ(1, 1)
  58.           call SCHED(0.0, STARTA, IDE())
  59.         endif
  60.         goto 99
  61.  
  62.       else
  63.  
  64.         call SUMRY(' ')
  65.         stop 'End of simulation'
  66.  
  67.       endif
  68.       end
  69.