home *** CD-ROM | disk | FTP | other *** search
Java Source | 1998-02-20 | 1.8 KB | 67 lines |
-
- package examples.machine;
-
-
- import simula.*;
- import simula.random.* ;
- import simula.simset.* ;
- import simula.simset.simulation.* ;
- import simula.Lang ;
-
- /**
- * Main program for machine simulation
- * @author Andrea Poltronieri
- * @version 1.0 12 Feb 1998
- */
-
- public class MachineMain extends SimulationMain {
-
-
-
-
- /**
- * @param _simulation The active Simulation
- * @exception simula.SimulaException Any exception from Korretto API
- */
-
- public MachineMain(Simulation _simulation) throws SimulaException {
- super(_simulation);
- }
- /**
- * Executes the main program for the simulation
- */
- public void run() {
- try {
- MachineSimulation sim=(MachineSimulation)this.sim ;
- // main program actions ;
- Lang.outtext("Failure ratio [mean time between failures]") ;
- sim.brk=Lang.inreal() ;
- Lang.outtext("Repairman speed [machines repaired per unit of time]") ;
- sim.rep=Lang.inreal() ;
- Lang.outtext("Simulation length [units of time]") ;
- sim.simtime=Lang.inreal() ;
- Lang.outtext("Number of machines") ;
- sim.m=Lang.inint() ;
- Lang.outtext("Number of repairmen") ;
- sim.r=Lang.inint() ;
- Lang.outtext("Random seed (odd)") ;
- sim.seed=Lang.inint() ;
-
- sim.broken=new Head() ;
- sim.available=new Head() ;
- for(sim.i=1;sim.i<=sim.m;sim.i++)
- sim.activate(new Machine(sim)) ;
- for(sim.i=1;sim.i<=sim.r;sim.i++)
- sim.activate(new RepairMan(sim));
- sim.hold(sim.simtime) ;
- Lang.outtext("The average inoperative period is [mean downtime per machine]") ;
- Lang.outfix((double)(sim.downtime)/(double)(sim.breaks),3,10) ;
- Lang.outimage() ;
- sim.end() ;
- System.exit(0) ;
- } catch(SimulaException e) {
- Lang.outtext(" Exception :> " + e+e.getMessage());
- System.exit(1);
- }
- }
- }