package org.lucci.madhoc.simulation.monitor;
import java.util.Collection;
import java.util.Vector;
import org.lucci.madhoc.simulation.Monitor;
import org.lucci.madhoc.simulation.monitor.sensor.AccelerationMeasure;
import org.lucci.madhoc.simulation.monitor.sensor.ConnectionsUpdateDuration;
import org.lucci.madhoc.simulation.monitor.sensor.FreeMemoryMeasure;
import org.lucci.madhoc.simulation.monitor.sensor.IterationDurationMeasure;
import org.lucci.madhoc.simulation.monitor.sensor.IterationFrequencyMeasure;
import org.lucci.madhoc.simulation.monitor.sensor.IterationNumberSensor;
import org.lucci.madhoc.simulation.monitor.sensor.MeasureTakingMeasure;
import org.lucci.madhoc.simulation.monitor.sensor.MessageTransferDuration;
import org.lucci.madhoc.simulation.monitor.sensor.MobilityUpdateDuration;
import org.lucci.madhoc.simulation.monitor.sensor.SimulatedTimeSensor;
import org.lucci.madhoc.simulation.monitor.sensor.StationActivityDuration;
import org.lucci.madhoc.simulation.monitor.sensor.TimeBaseSensor;
import org.lucci.madhoc.simulation.monitor.sensor.TimeMeasure;
import org.lucci.madhoc.simulation.monitor.sensor.TotalMemoryMeasure;
import org.lucci.madhoc.simulation.monitor.sensor.UsedMemoryMeasure;
public class SimulationMonitor extends Monitor
{
public SimulationMonitor()
{
addMeasure(new IterationNumberSensor());
addMeasure(new SimulatedTimeSensor());
addMeasure(new TimeBaseSensor());
addMeasure(new IterationFrequencyMeasure());
addMeasure(new AccelerationMeasure());
addMeasure(new TotalMemoryMeasure());
addMeasure(new FreeMemoryMeasure());
addMeasure(new UsedMemoryMeasure());
addMeasure(new IterationDurationMeasure());
addMeasure(new ConnectionsUpdateDuration());
addMeasure(new MobilityUpdateDuration());
addMeasure(new MessageTransferDuration());
addMeasure(new MeasureTakingMeasure());
addMeasure(new StationActivityDuration());
addMeasure(new TimeMeasure());
}
public String getName()
{
return "simulation_monitor";
}
public void preIteration()
{
}
public void postIteration()
{
}
public void effectiveIterationFrequencyChanged()
{
}
public void secondElapsed()
{
}
public void iterationScopedValuesReinitializationRequired()
{
}
public Collection<Class> getMonitorViewClasses()
{
Collection<Class> c = new Vector<Class>();
c.add(NumericalMeasuresTableView.class);
c.add(NumericalMeasures2DGraphicalView.class);
c.add(DistributionMeasure2DGraphicalView.class);
return c;
}
public void resetIterationScopedValues()
{
}
public String getFriendlyName()
{
return "General tools";
}
}