Package jline.gen
Class LayeredNetworkGenerator
java.lang.Object
jline.gen.LayeredNetworkGenerator
A generator object that generates layered queueing network models
based on user specification. Characteristics of generated
models can be configured via the generator's properties.
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor with default settingsLayeredNetworkGenerator(double[] populationRange, double[] thinkTimeRange, double taskInfProbability, double procInfProbability, double[] taskMultiRange, double[] procMultiRange, double[] hostDemandRange, double[] synchCallRange) Constructor with custom settings -
Method Summary
Modifier and TypeMethodDescriptionbooleanchooseBooleanValue(double probability) Chooses a boolean value for a given probabilitygenerate(int numClients, int numLevels, int numTasks, int numProcessors) Main function to call.double[]double[]doubledouble[]double[]doubledouble[]double[]int[]makeIntegerVector(int length, int sum) Makes a vector of positive integers with given length and sumintsampleIntegerValue(double[] range) Samples an integer value from a given rangedoublesampleRealValue(double[] range) Samples a real value from a given rangevoidsetHostDemandRange(double[] range) voidsetPopulationRange(double[] range) voidsetProcInfProbability(double probability) voidsetProcMultiRange(double[] range) setSeed(long seed) Reseeds this generator's internal random source for reproducible generation.voidsetSynchCallRange(double[] range) voidsetTaskInfProbability(double probability) voidsetTaskMultiRange(double[] range) voidsetThinkTimeRange(double[] range)
-
Constructor Details
-
LayeredNetworkGenerator
public LayeredNetworkGenerator()Constructor with default settings -
LayeredNetworkGenerator
public LayeredNetworkGenerator(double[] populationRange, double[] thinkTimeRange, double taskInfProbability, double procInfProbability, double[] taskMultiRange, double[] procMultiRange, double[] hostDemandRange, double[] synchCallRange) Constructor with custom settings- Parameters:
populationRange- range of reference-task populationsthinkTimeRange- range of client think timestaskInfProbability- probability that a task is infinite-serverprocInfProbability- probability that a processor is infinite-servertaskMultiRange- range of task multiplicitiesprocMultiRange- range of processor multiplicitieshostDemandRange- range of activity host demandssynchCallRange- range of synchronous call means
-
-
Method Details
-
setSeed
Reseeds this generator's internal random source for reproducible generation.- Parameters:
seed- the seed value- Returns:
- this generator (for chaining)
-
generate
Main function to call. Returns a generated LQN model according to specified properties of the LayeredNetworkGenerator object- Parameters:
numClients- number of client (reference) tasksnumLevels- number of task layersnumTasks- number of non-client tasks, distributed over the levelsnumProcessors- number of processors hosting the non-client tasks- Returns:
- the generated layered network
-
setPopulationRange
public void setPopulationRange(double[] range) -
setThinkTimeRange
public void setThinkTimeRange(double[] range) -
setTaskInfProbability
public void setTaskInfProbability(double probability) -
setProcInfProbability
public void setProcInfProbability(double probability) -
setTaskMultiRange
public void setTaskMultiRange(double[] range) -
setProcMultiRange
public void setProcMultiRange(double[] range) -
setHostDemandRange
public void setHostDemandRange(double[] range) -
setSynchCallRange
public void setSynchCallRange(double[] range) -
getPopulationRange
public double[] getPopulationRange() -
getThinkTimeRange
public double[] getThinkTimeRange() -
getTaskInfProbability
public double getTaskInfProbability() -
getProcInfProbability
public double getProcInfProbability() -
getTaskMultiRange
public double[] getTaskMultiRange() -
getProcMultiRange
public double[] getProcMultiRange() -
getHostDemandRange
public double[] getHostDemandRange() -
getSynchCallRange
public double[] getSynchCallRange() -
sampleIntegerValue
public int sampleIntegerValue(double[] range) Samples an integer value from a given range- Parameters:
range- two-element range, whose bounds are rounded inwards- Returns:
- an integer in [ceil(range[0]), floor(range[1])]
-
sampleRealValue
public double sampleRealValue(double[] range) Samples a real value from a given range- Parameters:
range- two-element range- Returns:
- a real value in [range[0], range[1]]
-
chooseBooleanValue
public boolean chooseBooleanValue(double probability) Chooses a boolean value for a given probability- Parameters:
probability- probability of returning true- Returns:
- true with the given probability
-
makeIntegerVector
public int[] makeIntegerVector(int length, int sum) Makes a vector of positive integers with given length and sum- Parameters:
length- number of elementssum- required sum of the elements- Returns:
- a vector of length positive integers summing to sum
-