The “EvacuationMain” class
The “edu.utdallas.mavs.evacuation.simulation.EvacuationMain” class contains the main method that is responsible for creating, initializing, and starting the evacuation simulation. Implementing the class is the final step in implementing the Evacuation Simulation module.
Implementation Steps
The “EvacuationMain” class contains the implementation of the “main” method that is responsible for creating, initializing, and starting the evacuation simulation. The implementation of this class initializes the configuration properties for log4j which can be used to dump useful data of the simulation to an external file for further analysis. The full implementation of this class is provided in the following code.
package edu.utdallas.mavs.evacuation.simulation; import org.apache.log4j.PropertyConfigurator; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Stage; import edu.utdallas.mavs.divas.core.spec.env.EnvSpecEnum; import edu.utdallas.mavs.evacuation.simulation.config.EvacuationVisConfig; import edu.utdallas.mavs.evacuation.simulation.guice.SimulationModule; import edu.utdallas.mavs.evacuation.simulation.host.EvacuationHost; /** * Simulation of evacuation scenarios over DIVAs framework. */ public class EvacuationMain { /** * Simulation entry point. * * @param args no arguments defined */ public static void main(String[] args) { // reads configuration properties for log4j PropertyConfigurator.configure("log4j.properties"); // disables java logging java.util.logging.Logger.getLogger("").setLevel(java.util.logging.Level.OFF); // Register custom configurations EvacuationVisConfig.register(); // Starts the simulation final Injector injector = Guice.createInjector(Stage.PRODUCTION, new SimulationModule()); injector.getInstance(EvacuationHost.class).start(); } }
After creating and implementing the “EvacuationMain” class, the simulation module should look like the following:

