Class StochPetriNetModel
-
- All Implemented Interfaces:
public class StochPetriNetModel
Examples of stochastic Petri net models
-
-
Constructor Summary
Constructors Constructor Description StochPetriNetModel()
-
Method Summary
Modifier and Type Method Description static Network
spn_basic_open()
Basic open stochastic Petri net with single transition. static Network
spn_open_sevenplaces()
Complex open stochastic Petri net with immediate transitions. static Network
spn_twomodes()
Closed stochastic Petri net with batch processing. static Network
spn_fourmodes()
Closed stochastic Petri net with competing transitions. static Network
spn_inhibiting()
Closed stochastic Petri net with multiple firing modes and inhibition. static Network
spn_closed_fourplaces()
Closed stochastic Petri net with diverse service distributions. static Network
spn_closed_twoplaces()
Multi-class closed stochastic Petri net. static Network
spn_basic_closed()
Single-place Petri net with multiple firing modes. static void
main(Array<String> args)
Main method for testing and demonstrating stochastic Petri net examples. -
-
Method Detail
-
spn_basic_open
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
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
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
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
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
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
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
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
-
main
static void main(Array<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)
-
-
-
-