/******************************************************************************* * Copyright (c) 2006, 2009 University of Edinburgh. * All rights reserved. This program and the accompanying materials * are made available under the terms of the BSD Licence, which * accompanies this feature and can be downloaded from * http://groups.inf.ed.ac.uk/pepa/update/licence.txt *******************************************************************************/ package uk.ac.ed.inf.common.data; /** * Result data model for analyses of SRMC description. * * @author mtribast * */ public interface IResultData { /** * Type for results that can be represented by a point. * This includes, for instance, steady-state measures such * as throughput, utilisation, and so on. * */ public static final int POINT = 1; /** * This is a result obtained by time-series analysis, such as * passage-time analysis, stochastic simulation, or ODE analysis. * */ public static final int TIME_SERIES = 2; /** * Gets the number of intermediate PEPA models which have * been analysed for these result data. This determines the total * number of values available ({@link #getValues(int)}. * * @return the number of instances used to analyse this model. */ public int getNumberOfInstances(); /** * Returns the type of the results. * * @return the type of the results. */ public int getType(); /** * Returns the time points used in a time-series analysis. * Returns <code>null</code> if the result is of type {@link #POINT} * @return the time points, or <code>null</code> */ public double[] getTimeSeries(); /** * Returns the results of a given instance of the intermediate * PEPA model. If the result type is {@link #POINT}, then the length * of this array is one. * * @param seriesIndex the instance of the intermediate PEPA model. * * @return the result, either a point or an array. * */ public double[] getValues(int seriesIndex); }