Package jline.api

Class SN

java.lang.Object
jline.api.SN

public class SN extends Object
APIs to process NetworkStruct objects.
  • Constructor Details

    • SN

      public SN()
  • Method Details

    • snRefreshVisits

      public static NetworkStruct snRefreshVisits(NetworkStruct sn, Matrix chains, Matrix rt, Matrix rtnodes)
      Reculate the visits to each node
      Parameters:
      sn - - NetworkStruct object for the queueing network model. The object will be updated by the method.
      chains - - chain membership for each class
      rt - - routing table among stations
      rtnodes - - routing table among nodes
      Returns:
      updated sn structure
    • snGetProductFormChainParams

      public static Ret.snGetProductFormChainParams snGetProductFormChainParams(NetworkStruct sn)
      Calculate the parameters at class and chain level for a queueing network model
      Parameters:
      sn - - NetworkStruct object for the queueing network model.
      Returns:
      queueing network parameters
    • snGetProductFormParams

      public static Ret.snGetProductFormParams snGetProductFormParams(NetworkStruct sn)
      Calculate the parameters at class level for a queueing network model
      Parameters:
      sn - - NetworkStruct object for the queueing network model.
      Returns:
      queueing network parameters
    • snGetDemandsChain

      public static Ret.snGetDemandsChain snGetDemandsChain(NetworkStruct sn)
      Calculate new queueing network parameters after aggregating classes into chains
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      chain parameters
    • snDeaggregateChainResults

      public static Ret.snDeaggregateChainResults snDeaggregateChainResults(NetworkStruct sn, Matrix Lchain, Matrix ST, Matrix STchain, Matrix Vchain, Matrix alpha, Matrix Qchain, Matrix Uchain, Matrix Rchain, Matrix Tchain, Matrix Cchain, Matrix Xchain)
      Calculate class-based performance metrics for a queueing network based on performance measures of its chains
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Lchain - - service demands per chain
      ST - - mean service times per class
      STchain - - mean service times per chain
      Vchain - - mean visits per chain
      alpha - - class aggregation coefficients
      Qchain - - mean queue-lengths per chain
      Uchain - - mean utilization per chain
      Rchain - - mean response time per chain
      Tchain - - mean throughput per chain
      Cchain - - mean system response time per chain
      Xchain - - mean system throughput per chain
      Returns:
      chain performance metrics
    • snHasHomogeneousScheduling

      public static boolean snHasHomogeneousScheduling(NetworkStruct sn, SchedStrategy strategy)
      Checks if the network uses an identical scheduling strategy at every station
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      strategy - - Scheduling strategy
      Returns:
      boolean
    • snHasPriorities

      public static boolean snHasPriorities(NetworkStruct sn)
      Checks if the network uses class priorities
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasForkJoin

      public static boolean snHasForkJoin(NetworkStruct sn)
      Checks if the network uses fork and/or join nodes
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasProductFormExceptMultiClassHeterExpFCFS

      public static boolean snHasProductFormExceptMultiClassHeterExpFCFS(NetworkStruct sn)
      Checks if the network satisfies product-form assumptions except multiclass heterogeneous FCFS
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasLoadDependence

      public static boolean snHasLoadDependence(NetworkStruct sn)
      Checks if the network has a station with load-dependent service process
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasClassSwitching

      public static boolean snHasClassSwitching(NetworkStruct sn)
      Checks if the network uses class-switching
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasProductForm

      public static boolean snHasProductForm(NetworkStruct sn)
      Checks if the network has a known product-form solution
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasMultiClassHeterFCFS

      public static boolean snHasMultiClassHeterFCFS(NetworkStruct sn)
      Checks if the network has one or more stations with multiclass heterogeneous FCFS
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasMultiClassHeterExpFCFS

      public static boolean snHasMultiClassHeterExpFCFS(NetworkStruct sn)
      Checks if the network has one or more stations with multiclass heterogeneous FCFS and exponential service
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasFCFS

      public static boolean snHasFCFS(NetworkStruct sn)
    • snHasPS

      public static boolean snHasPS(NetworkStruct sn)
    • snHasDPS

      public static boolean snHasDPS(NetworkStruct sn)
    • snHasGPS

      public static boolean snHasGPS(NetworkStruct sn)
    • snHasPSPRIO

      public static boolean snHasPSPRIO(NetworkStruct sn)
    • snHasDPSPRIO

      public static boolean snHasDPSPRIO(NetworkStruct sn)
    • snHasGPSPRIO

      public static boolean snHasGPSPRIO(NetworkStruct sn)
    • snHasINF

      public static boolean snHasINF(NetworkStruct sn)
    • snHasSIRO

      public static boolean snHasSIRO(NetworkStruct sn)
    • snHasHOL

      public static boolean snHasHOL(NetworkStruct sn)
    • snHasLCFS

      public static boolean snHasLCFS(NetworkStruct sn)
    • snHasLCFSPR

      public static boolean snHasLCFSPR(NetworkStruct sn)
    • snHasSEPT

      public static boolean snHasSEPT(NetworkStruct sn)
    • snHasLEPT

      public static boolean snHasLEPT(NetworkStruct sn)
    • snHasSJF

      public static boolean snHasSJF(NetworkStruct sn)
    • snHasLJF

      public static boolean snHasLJF(NetworkStruct sn)
    • snHasMultiClassFCFS

      public static boolean snHasMultiClassFCFS(NetworkStruct sn)
    • snHasMultiServer

      public static boolean snHasMultiServer(NetworkStruct sn)
    • snHasSingleChain

      public static boolean snHasSingleChain(NetworkStruct sn)
    • snHasMultiChain

      public static boolean snHasMultiChain(NetworkStruct sn)
    • snHasSingleClass

      public static boolean snHasSingleClass(NetworkStruct sn)
    • snHasMultiClass

      public static boolean snHasMultiClass(NetworkStruct sn)
    • snHasClosedClasses

      public static boolean snHasClosedClasses(NetworkStruct sn)
      Checks if the network has one or more closed classes
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasMixedClasses

      public static boolean snHasMixedClasses(NetworkStruct sn)
      Checks if the network has both open and closed classes
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snHasOpenClasses

      public static boolean snHasOpenClasses(NetworkStruct sn)
      Checks if the network has one or more open classes
      Parameters:
      sn - - NetworkStruct object for the queueing network model
      Returns:
      boolean
    • snIsClosedModel

      public static boolean snIsClosedModel(NetworkStruct sn)
      Checks if the network model is closed.
      Parameters:
      sn - the NetworkStruct object representing the network
      Returns:
      true if the network has finite jobs and no infinite jobs, false otherwise
    • snIsMixedModel

      public static boolean snIsMixedModel(NetworkStruct sn)
      Checks if the network is a mixed model.
      Parameters:
      sn - the NetworkStruct object for the queueing network model
      Returns:
      true if the network has mixed classes, false otherwise
    • snIsOpenModel

      public static boolean snIsOpenModel(NetworkStruct sn)
      Checks if the network is an open model.
      Parameters:
      sn - the NetworkStruct object for the queueing network model
      Returns:
      true if the network has infinite jobs and no finite jobs, false otherwise
    • snPrintRoutingMatrix

      public static void snPrintRoutingMatrix(NetworkStruct sn)
      Prints the routing matrix of the network for all classes.
      Parameters:
      sn - the NetworkStruct object for the queueing network model
    • snPrintRoutingMatrix

      public static void snPrintRoutingMatrix(NetworkStruct sn, JobClass onlyclass)
      Prints the routing matrix of the network, optionally for a specific job class.
      Parameters:
      sn - the NetworkStruct object for the queueing network model
      onlyclass - the specific job class to filter the routing matrix output, or null for all classes
    • snGetAvgArvRFromTput

      public static Matrix snGetAvgArvRFromTput(NetworkStruct sn, Matrix TN, Matrix TH)
      Calculates the average arrival rates at each station from the network throughputs.
      Parameters:
      sn - the NetworkStruct object for the queueing network model
      TN - the matrix of throughputs
      TH - the matrix of other relevant parameters (may be null)
      Returns:
      a matrix of average arrival rates
    • snIsStateValid

      public static boolean snIsStateValid(NetworkStruct sn)
      Checks if the network state is valid.
      Parameters:
      sn - the NetworkStruct object for the queueing network model
      Returns:
      true if the state is valid, false otherwise
    • snGetStateAggr

      public static Map<StatefulNode,Matrix> snGetStateAggr(NetworkStruct sn)
      Aggregates the state of the network.
      Parameters:
      sn - the NetworkStruct object for the queueing network model
      Returns:
      a map of stateful nodes to their aggregated state matrices