Class Solver_nc_spn_analyzer

java.lang.Object
jline.solvers.nc.analyzers.Solver_nc_spn_analyzer

public final class Solver_nc_spn_analyzer extends Object
Stationary analysis of a PRODUCT-FORM stochastic Petri net by MDD-rec: the normalising constant is obtained from one memoised walk of the decision diagram holding the reachable set, and every reported measure is a masked walk of the same diagram.

This is the "rec" method of SolverNC, and the first analytical route LINE offers for a Petri net -- CTMC solves the explicit generator, SSA and LDES simulate, FLD fluidises. Three functions do the work and each is the subject of its own reference. Spn_pf decides the product form and derives the per-place factors g_l (Coleman-Henderson-Taylor complex balance). Mdd_rec evaluates G = sum_S prod_l g_l(s_l) in O(sum_l nodes_l * |S_l|) rather than O(|S|) (Balsamo-Marin-Stojic). Spn_metrics reads the mean tokens, the place and mode utilisation and the throughputs off masked walks of the same diagram.

What this reaches that the explicit generator does not. The diagram stores the reachable set, never the generator, so the cost is set by the number of diagram nodes and not by |S|. It also does not need the marking to be a conserved job population: a mode may consume two tokens and produce one, or consume one and produce two, which is the fork-join and batch case that the MDD-rec paper exists to serve.

UN follows LINE, not the paper. A Place is an INF station, and LINE reports U = Q at an infinite server, which is what SolverCTMC returns for the same net. The paper's place utilisation u(P_j) = 1 - P(m_j = 0) is a different quantity and is reported separately, on the certificate's metrics block.

  • Method Details

    • solver_nc_spn_analyzer

      public static NCResult solver_nc_spn_analyzer(Network model, NetworkStruct sn, SolverOptions options)
      Analyse a product-form stochastic Petri net.
      Parameters:
      model - the Network holding the Places and Transitions
      sn - its network structure
      options - solver options; tol and verbose are read
      Returns:
      QN, UN, RN and TN per (Place station, class), CN and XN per class, and lG the log normalising constant