Package microsim.statistics.functions
Class MultiTraceFunction
- java.lang.Object
-
- microsim.statistics.functions.MultiTraceFunction
-
- All Implemented Interfaces:
EventListener
,IDoubleSource
,IUpdatableSource
- Direct Known Subclasses:
MultiTraceFunction.Double
,MultiTraceFunction.Float
,MultiTraceFunction.Integer
,MultiTraceFunction.Long
public abstract class MultiTraceFunction extends java.lang.Object implements IDoubleSource, IUpdatableSource, EventListener
A MixFunction object is to collect data over time, computing some statistics on the fly, without storing the data in memory. It is particularly useful when the user need to compute basic statistics on data sources, without affecting the memory occupancy. The memoryless series computes automatically the statistics using accumulation variables and counters.
This statistic computer should be used when possible, particularly when the simulation model has to run for a long time, condition which implies the growth of the memory occupancy. Moreover the MemorylessSeries objects are much faster than the Series one, because they pre-compute the statistics operation step by step. Trying to compute a mean of a Series object, force the Mean function to sum all the values, every time series is updated.Title: JAS
Description: Java Agent-based Simulation library
Copyright (C) 2002 Michele Sonnessa
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.- Author:
- Michele Sonnessa and Ross Richardson
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MultiTraceFunction.Double
An implementation of the MemorylessSeries class, which manages double type data sources.static class
MultiTraceFunction.Float
An implementation of the MemorylessSeries class, which manages float type data sources.static class
MultiTraceFunction.Integer
An implementation of the MemorylessSeries class, which manages integer type data sources.static class
MultiTraceFunction.Long
An implementation of the MemorylessSeries class, which manages long type data sources.static class
MultiTraceFunction.Variables
-
Constructor Summary
Constructors Constructor Description MultiTraceFunction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
getCount()
double
getDoubleValue(java.lang.Enum<?> valueID)
Compute one of the available statistical functions on the collected data.abstract double
getMean()
abstract double
getVariance()
void
onEvent(java.lang.Enum<?> type)
ISimEventListener callback function.void
updateSource()
Collect a value from the source.
-
-
-
Method Detail
-
updateSource
public void updateSource()
Collect a value from the source.- Specified by:
updateSource
in interfaceIUpdatableSource
-
getMean
public abstract double getMean()
-
getVariance
public abstract double getVariance()
-
getCount
public int getCount()
-
onEvent
public void onEvent(java.lang.Enum<?> type)
ISimEventListener callback function. It supports only jas.engine.Sim.EVENT_UPDATE event.- Specified by:
onEvent
in interfaceEventListener
- Parameters:
actionType
- The action id. Only jas.engine.Sim.EVENT_UPDATE is supported.- Throws:
java.lang.UnsupportedOperationException
- If actionType is not supported.
-
getDoubleValue
public double getDoubleValue(java.lang.Enum<?> valueID)
Compute one of the available statistical functions on the collected data.- Specified by:
getDoubleValue
in interfaceIDoubleSource
- Parameters:
valueID
- A unique identifier for a variable.- Returns:
- The current double value of the required variable.
-
-