Package jline.gen

Class NetworkGenerator

java.lang.Object
jline.gen.NetworkGenerator

public class NetworkGenerator extends Object
A generator object that generates queueing network models based on user specification. Characteristics of generated models can be configured via the generator's properties.
  • Constructor Details

    • NetworkGenerator

      public NetworkGenerator()
      Constructor with default settings
    • NetworkGenerator

      public NetworkGenerator(String schedStrat, String routingStrat, String distribution, String cclassJobLoad, boolean hasVaryingServiceRates, boolean hasMultiServerQueues, boolean hasRandomCSNodes, boolean hasMultiChainCS, Function<Integer,Matrix> topologyFcn)
      Constructor with custom settings
    • NetworkGenerator

      public NetworkGenerator(String schedStrat, String routingStrat, String distribution, String cclassJobLoad, boolean hasVaryingServiceRates, boolean hasMultiServerQueues, boolean hasRandomCSNodes, boolean hasMultiChainCS, boolean initializeStates, Function<Integer,Matrix> topologyFcn)
      Constructor with all options including state initialization
  • Method Details

    • setSeed

      public NetworkGenerator setSeed(long seed)
      Reseeds the shared MatlabRandom stream, as MATLAB rng(seed). Every draw, randGraph included, comes from that stream, so the model matches MATLAB's. MATLAB seeds BEFORE constructing the generator, whose topology check already draws (5 draws for randGraph); call MatlabRandom.rng(long) first to reproduce that order.
      Returns:
      this generator (for chaining)
    • generate

      public Network generate()
      Main function to call. Returns a generated QN model according to specified properties of the NetworkGenerator object
    • generate

      public Network generate(int numQueues)
    • generate

      public Network generate(int numQueues, Integer numDelays)
    • generate

      public Network generate(int numQueues, Integer numDelays, int numOClass)
    • generate

      public Network generate(int numQueues, Integer numDelays, int numOClass, int numCClass)
    • setSchedStrat

      public void setSchedStrat(String strat)
    • setRoutingStrat

      public void setRoutingStrat(String strat)
    • setDistribution

      public void setDistribution(String distrib)
    • setCclassJobLoad

      public void setCclassJobLoad(String load)
    • setTopologyFcn

      public void setTopologyFcn(Function<Integer,Matrix> fcn)
    • getSchedStrat

      public String getSchedStrat()
    • getRoutingStrat

      public String getRoutingStrat()
    • getDistribution

      public String getDistribution()
    • getCclassJobLoad

      public String getCclassJobLoad()
    • isHasVaryingServiceRates

      public boolean isHasVaryingServiceRates()
    • isHasMultiServerQueues

      public boolean isHasMultiServerQueues()
    • isHasRandomCSNodes

      public boolean isHasRandomCSNodes()
    • isHasMultiChainCS

      public boolean isHasMultiChainCS()
    • isInitializeStates

      public boolean isInitializeStates()
    • setInitializeStates

      public void setInitializeStates(boolean initializeStates)
    • randGraph

      public static Matrix randGraph(int numVertices)
      Generate a random strongly connected graph topology This implements the algorithm from MATLAB's randGraph function
    • cyclicGraph

      public static Matrix cyclicGraph(int numVertices)
      Generate a cyclic graph topology
    • initDefaultStates

      public static void initDefaultStates(Network model)
      Initialize default states for all nodes in the network Based on MATLAB's initDefaultCustom function