Class StochPetriNetModel

java.lang.Object
jline.examples.java.basic.StochPetriNetModel

public class StochPetriNetModel extends Object
Examples of stochastic Petri net models
  • Constructor Details

    • StochPetriNetModel

      public StochPetriNetModel()
  • Method Details

    • spn_basic_open

      public static Network spn_basic_open()
      Basic open stochastic Petri net with single transition.

      Features: - Open network: Source → Place → Transition → Sink - Single transition T1 with exponential firing time (rate 4.0) - Transition requires 1 token from P1 to fire - Infinite server capacity for transition - Demonstrates basic Petri net structure in LINE

      Returns:
      configured basic stochastic Petri net model
    • spn_open_sevenplaces

      public static Network spn_open_sevenplaces()
      Complex open stochastic Petri net with immediate transitions.

      Features: - 7 places and 8 transitions with mixed timing strategies - Immediate transitions (T2, T3, T4, T5) with priorities and weights - Timed transitions with Exp and Erlang distributions - Inhibiting conditions (T5 inhibited by P6) - Multiple enabling conditions and firing outcomes per transition - Initial state configuration with tokens in P1 and P5

      Returns:
      configured complex stochastic Petri net model
    • spn_twomodes

      public static Network spn_twomodes()
      Closed stochastic Petri net with batch processing.

      Features: - Closed system with 10 tokens circulating between 2 places - T1 requires 4 tokens to fire, produces 4 tokens - T2 requires 2 tokens to fire, produces 2 tokens - Demonstrates batch token processing in Petri nets - All tokens initially placed in P1

      Returns:
      configured batch processing Petri net model
    • spn_fourmodes

      public static Network spn_fourmodes()
      Closed stochastic Petri net with competing transitions.

      Features: - 8 tokens in closed system with 3 places - T1 and T2 compete for tokens from P1 (require 2 and 3 tokens respectively) - T3 and T4 return tokens to P1 from P2 and P3 - Different firing rates create resource competition - Demonstrates resource contention in Petri nets

      Returns:
      configured competing transitions Petri net model
    • spn_inhibiting

      public static Network spn_inhibiting()
      Closed stochastic Petri net with multiple firing modes and inhibition.

      Features: - 4 tokens in closed system with 3 places - T1 has two firing modes: Mode1 (2 tokens → P2), Mode2 (1 token → P3) - T3 has inhibiting condition: fires only when P2 has no tokens - Demonstrates mode-based firing and inhibiting arcs - Complex token flow patterns with conditional transitions

      Returns:
      configured multi-mode Petri net with inhibition
    • spn_closed_fourplaces

      public static Network spn_closed_fourplaces()
      Closed stochastic Petri net with diverse service distributions.

      Features: - 2 tokens circulating through 4 places in series - Different firing distributions: Exp, Erlang, HyperExp, Coxian - T4 uses custom Coxian distribution with specified phases - Demonstrates various probability distributions in Petri nets - All transitions require and produce 2 tokens (synchronous firing)

      Returns:
      configured Petri net with diverse distributions
    • spn_closed_twoplaces

      public static Network spn_closed_twoplaces()
      Multi-class closed stochastic Petri net.

      Features: - Two job classes: Class1 (10 tokens), Class2 (7 tokens) - T1 has different modes for each class with different requirements - Class1: 2 tokens required, Class2: 1 token required - T2 and T3 handle different classes with different batch sizes - Demonstrates multi-class token management in Petri nets

      Returns:
      configured multi-class stochastic Petri net model
    • spn_basic_closed

      public static Network spn_basic_closed()
      Single-place Petri net with multiple firing modes.

      Features: - Single place P1 with 1 token - Single transition T1 with 3 different firing modes: - Mode1: Exponential distribution (mean 1.0) - Mode2: Erlang distribution (mean 1.0, order 2) - Mode3: HyperExponential distribution (mean 1.0, SCV 4.0) - Self-loop: transition fires and returns token to same place - Demonstrates multiple stochastic modes in single transition

      Returns:
      configured multi-mode single-place Petri net
    • spn_pareto_service

      public static Network spn_pareto_service()
      Open stochastic Petri net with Pareto service time.

      Features: - Open network: Source → Place → Transition → Sink - Single transition T1 with Pareto firing time (shape=3, scale=1) - Pareto distribution has mean = shape*scale/(shape-1) = 3*1/(3-1) = 1.5 - Demonstrates non-Markovian (heavy-tailed) firing times in Petri nets - Single server capacity for transition

      Returns:
      configured stochastic Petri net model with Pareto service
    • main

      public static void main(String[] args)
      Main method for testing and demonstrating stochastic Petri net examples.

      Currently configured to: - Run spn_basic_closed() with multiple firing modes - Solve using JMT solver with specified seed (23000) - Print average performance metrics - Launch JMT simulation GUI viewer - SSA analysis is commented out

      Parameters:
      args - command line arguments (not used)