bot
Class ExperimentControllerImpl

Package class diagram package ExperimentControllerImpl
java.lang.Object
  extended by bot.ExperimentControllerImpl
All Implemented Interfaces:
ExperimentController, Serializable

public class ExperimentControllerImpl
extends Object
implements ExperimentController, Serializable

A controller for experiments. It has two main responsabilities:

  1. Experiment control - setting properties at the designated time or situation etc.
  2. Recording - saving pictures, data like errors, GMT, current settings etc. Agent is relatively indenpendent on the experiment controller. E.g. it can live without it... but no data would be obtained from the simulation.

    Author:
    Ondrej
    See Also:
    Serialized Form

    Constructor Summary
    ExperimentControllerImpl(Logger log, String directory, Bot agent)
               
     
    Method Summary
     void cleanUp()
               
     void controlExperiment()
              Main method for the experiment control.
     String fileCounterPrefix(String path)
              creates a filename in the shape: path0001 for a fileCounter equals to 1
     DMSLogger getDMSLogger()
               
     FileLog getExperimentLogger()
               
     FileLog getExtraLogger()
               
     long getInternalCounter()
               
     void hourUpdate()
              Called every hour to perform some other updates.
     void increaseInternalCounter(double time)
               
     void prepareExperiment()
              Experiment preparation - all what is needed like paths to save to, files, parameteres.
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Constructor Detail

    ExperimentControllerImpl

    public ExperimentControllerImpl(Logger log,
                                    String directory,
                                    Bot agent)
    Method Detail

    controlExperiment

    public void controlExperiment()
    Main method for the experiment control. It usually performs daily update of agent and recording of the current situation.

    Specified by:
    controlExperiment in interface ExperimentController

    prepareExperiment

    public void prepareExperiment()
    Description copied from interface: ExperimentController
    Experiment preparation - all what is needed like paths to save to, files, parameteres.

    Specified by:
    prepareExperiment in interface ExperimentController

    hourUpdate

    public void hourUpdate()
    Description copied from interface: ExperimentController
    Called every hour to perform some other updates.

    Specified by:
    hourUpdate in interface ExperimentController

    getExperimentLogger

    public FileLog getExperimentLogger()
    Specified by:
    getExperimentLogger in interface ExperimentController
    Returns:
    the experimentLogger

    fileCounterPrefix

    public String fileCounterPrefix(String path)
    creates a filename in the shape: path0001 for a fileCounter equals to 1

    Parameters:
    path -
    fileCounter -
    Returns:

    increaseInternalCounter

    public void increaseInternalCounter(double time)
    Specified by:
    increaseInternalCounter in interface ExperimentController

    getInternalCounter

    public long getInternalCounter()
    Specified by:
    getInternalCounter in interface ExperimentController

    getDMSLogger

    public DMSLogger getDMSLogger()
    Specified by:
    getDMSLogger in interface ExperimentController

    getExtraLogger

    public FileLog getExtraLogger()
    Specified by:
    getExtraLogger in interface ExperimentController
    Returns:
    the extraLogger

    cleanUp

    public void cleanUp()
    Specified by:
    cleanUp in interface ExperimentController


    Copyright © 2013 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.