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 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.
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 ClassesModifier and TypeClassDescriptionstatic classAn implementation of the MemorylessSeries class, which manages double type data sources.static classAn implementation of the MemorylessSeries class, which manages float type data sources.static classAn implementation of the MemorylessSeries class, which manages integer type data sources.static classAn implementation of the MemorylessSeries class, which manages long type data sources.static enum -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetCount()doublegetDoubleValue(Enum<?> valueID) Compute one of the available statistical functions on the collected data.abstract doublegetMean()abstract doublevoidISimEventListener callback function.voidCollect a value from the source.
-
Field Details
-
count
protected int count
-
-
Constructor Details
-
MultiTraceFunction
public MultiTraceFunction()
-
-
Method Details
-
updateSource
public void updateSource()Collect a value from the source.- Specified by:
updateSourcein interfaceIUpdatableSource
-
getMean
public abstract double getMean() -
getVariance
public abstract double getVariance() -
getCount
public int getCount() -
onEvent
ISimEventListener callback function. It supports only jas.engine.Sim.EVENT_UPDATE event.- Specified by:
onEventin interfaceEventListener- Throws:
UnsupportedOperationException- If actionType is not supported.
-
getDoubleValue
Compute one of the available statistical functions on the collected data.- Specified by:
getDoubleValuein interfaceIDoubleSource- Parameters:
valueID- A unique identifier for a variable.- Returns:
- The current double value of the required variable.
-