home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 21 / IOPROG_21.ISO / SOFT / JSL.ZIP / JSL20 / examples / computer / ComputerMain.java < prev    next >
Encoding:
Java Source  |  1998-02-20  |  2.0 KB  |  76 lines

  1.  
  2. package examples.computer;
  3.  
  4.  
  5. import simula.*;
  6. import simula.random.* ;
  7. import simula.simset.* ;
  8. import simula.simset.simulation.* ;
  9. import simula.Lang ;
  10.  
  11. /**
  12.  * Main program for Computer simulation
  13.  * @author Andrea Poltronieri
  14.  * @version 1.0 12 Feb 1998
  15.  */
  16.  
  17. public class ComputerMain extends SimulationMain {
  18.  
  19.  
  20.  
  21.  
  22. /**
  23. * @param _simulation The active Simulation
  24. * @exception simula.SimulaException Any exception from Korretto API
  25. */
  26.  
  27.     public ComputerMain(Simulation _simulation) throws SimulaException {
  28.       super(_simulation);
  29.     }
  30. /**     
  31.   * Executes the main program for the simulation
  32. */
  33.     public void run() {
  34.         try {
  35.             ComputerSimulation sim=(ComputerSimulation)this.sim ;
  36.             // Main
  37.             // init vars 
  38.             sim.inner=new Head() ;
  39.             sim.outer=new Head() ;
  40.             Lang.outtext(" Arrivals frequency [arrivals for unit of time] ?") ;
  41.             sim.arr=Lang.inreal() ;
  42.             Lang.outtext("Number of memory pages in memomry ?") ;
  43.             sim.m=Lang.inint() ;
  44.             Lang.outtext("Lower bound for number of pages requested by jobs ?") ;
  45.             sim.m1=Lang.inint() ;
  46.             Lang.outtext("Upper bound for number of pages requested by jobs ?") ;
  47.             sim.m2=Lang.inint() ;
  48.             Lang.outtext("Time slice given to every process [time units] ?") ;
  49.             sim.s=Lang.inreal() ;
  50.             Lang.outtext(" Probability of job rescheduling after a quantum of service [0..1]?") ;
  51.             sim.q=Lang.inreal() ;
  52.             Lang.outtext(" Seed for random generator (odd) ?") ;
  53.             sim.seed=Lang.inint() ;
  54.             Lang.outtext("Simulation length [time units] ?") ;
  55.             sim.simperiod=Lang.inreal() ;
  56.             
  57.             sim.free=sim.m ;
  58.             sim.result=0 ;
  59.             sim.inner=new Head() ;
  60.             sim.outer=new Head() ;
  61.             
  62.             sim.server=new Server(sim) ;
  63.             sim.activate( new Arrivals(sim) );
  64.             
  65.             sim.hold (sim.simperiod) ;
  66.             
  67.             Lang.outtext("Average number of jobs in the system :");
  68.             Lang.outfix( ((double)(sim.result))/sim.simperiod,3,10) ;            
  69.             sim.end() ;            
  70.             System.exit(0) ;
  71.         } catch(SimulaException e) {
  72.             Lang.outtext(" Exception :> " + e+e.getMessage());
  73.          System.exit(1);
  74.         }
  75.     }
  76. }