Class StochPetriNetModel
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidMain method for testing and demonstrating stochastic Petri net examples.static NetworkSingle-place Petri net with multiple firing modes.static NetworkBasic open stochastic Petri net with single transition.static NetworkClosed stochastic Petri net with diverse service distributions.static NetworkMulti-class closed stochastic Petri net.static NetworkClosed stochastic Petri net with competing transitions.static NetworkClosed stochastic Petri net with multiple firing modes and inhibition.static NetworkComplex open stochastic Petri net with immediate transitions.static NetworkOpen stochastic Petri net with Pareto service time.static NetworkClosed stochastic Petri net with batch processing.
-
Constructor Details
-
StochPetriNetModel
public StochPetriNetModel()
-
-
Method Details
-
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
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
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
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
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
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
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
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
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
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)
-