net.sourceforge.jabm
Class SimulationManager

java.lang.Object
  extended by net.sourceforge.jabm.SimulationManager
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
DesktopSimulationManager

public class SimulationManager
extends java.lang.Object
implements java.lang.Runnable

The main application class for JABM experiments when running in headless mode, e.g. on a cluster (to run using a GUI see DesktopSimulationManager).

Example usage:

java -ea -server -Djabm.config=config/elfarolbar.xml net.sourceforge.jabm.SimulationManager

System parameters:

jabm.config The name of the Spring configuration file defining the simulation model
jabm.propertyfile The name of a properties file which overrides the values specified in the beans configuration
jabm.varfile The name of a properties file which specifies the ranges of independent variables to be used for a multiple treatment factor experiment
jabm.configonly If set to true in combintation with jabm.varfile then create experiment property files without running any simulations. This is useful for running experiments on clusters.

See Also:
DesktopSimulationManager
 

Field Summary
protected  java.lang.String baseDirName
          The (optional) base directory in which subdirectories will be created for experiments involving paramater sweeps.
protected  boolean configOnly
          If this option is set, then the simulation manager will create configuration files for experiments without actually running them.
protected  boolean generateSeeds
           
protected  java.lang.String propFile
          The file name of the .properties file to use for the experiment(s).
protected  int seedMask
           
static java.lang.String SIMULATION_CONTROLLER_BEAN
          The name of the spring bean representing the SimulationController which will be used to run the experiments.
protected  java.lang.String varFile
          The (optional) file name of the variables file.
 
Constructor Summary
SimulationManager()
           
 
Method Summary
 SimulationController getSimulationController()
           
 void launch(java.lang.Runnable controller)
           
static void main(java.lang.String[] args)
           
 void run()
           
 void runSingleExperiment()
           
 void runSingleExperiment(java.util.Properties properties)
           
 void runSingleExperiment(java.lang.String propFile)
           
 void setup(java.lang.String baseDirName, boolean generateSeeds, int seedMask)
           
 void setup(java.lang.String varFile, java.lang.String baseDirName, boolean generateSeeds, int seedMask)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

propFile

protected java.lang.String propFile
The file name of the .properties file to use for the experiment(s).


varFile

protected java.lang.String varFile
The (optional) file name of the variables file. The variables file specifies a parameter sweep experiment in which the specified properties are systematically varied over the specified ranges of values.


baseDirName

protected java.lang.String baseDirName
The (optional) base directory in which subdirectories will be created for experiments involving paramater sweeps.


configOnly

protected boolean configOnly
If this option is set, then the simulation manager will create configuration files for experiments without actually running them.


generateSeeds

protected boolean generateSeeds

seedMask

protected int seedMask

SIMULATION_CONTROLLER_BEAN

public static final java.lang.String SIMULATION_CONTROLLER_BEAN
The name of the spring bean representing the SimulationController which will be used to run the experiments.

See Also:
Constant Field Values
Constructor Detail

SimulationManager

public SimulationManager()
Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable

launch

public void launch(java.lang.Runnable controller)

getSimulationController

public SimulationController getSimulationController()

runSingleExperiment

public void runSingleExperiment()

runSingleExperiment

public void runSingleExperiment(java.util.Properties properties)

runSingleExperiment

public void runSingleExperiment(java.lang.String propFile)

setup

public void setup(java.lang.String baseDirName,
                  boolean generateSeeds,
                  int seedMask)

setup

public void setup(java.lang.String varFile,
                  java.lang.String baseDirName,
                  boolean generateSeeds,
                  int seedMask)

main

public static void main(java.lang.String[] args)