Class 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  
    • 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.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MultiTraceFunction

        public MultiTraceFunction()
    • Method Detail

      • 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 interface EventListener
        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 interface IDoubleSource
        Parameters:
        valueID - A unique identifier for a variable.
        Returns:
        The current double value of the required variable.