add_generator
Model token arrivals by specifying interval or rate, batch size, and distribution type for simulation in Petri net arrival processes.
Instructions
Add a Generator (Source) pattern that creates tokens at regular intervals.
Use this for arrival processes. Specify EITHER interval OR rate (not both):
Using RATE (preferred for "N items per time unit"):
"4 parts per minute" -> rate=4, time_unit="min"
"10 customers per hour" -> rate=10, time_unit="h"
Using INTERVAL (for "every N time units"):
"every 3 minutes" -> interval=3, time_unit="min"
"every 30 seconds" -> interval=30, time_unit="s"
BATCH GENERATION (multiple items per arrival):
"5 items arrive every 5 minutes" -> interval=5, time_unit="min", batch_size=5
DISTRIBUTION SELECTION:
"exp": For random/Poisson arrivals
"norm": For arrivals with deviation ("every 3±1 min" -> norm, std=1, time_unit="min")
"unif": For uniformly distributed arrivals
"det": For fixed/constant intervals
UNITS — TWO INDEPENDENT KNOBS:
time_unitapplies tointerval/rate.deviation_unitapplies tostandard_deviation. If omitted, it inherits fromtime_unit. Use it when the mean and the ± are in DIFFERENT units.
Canonical translations:
"1 per minute ±10 sec" -> interval=1, time_unit="min", standard_deviation=10, deviation_unit="s"
"every 5 min ±30 sec" -> interval=5, time_unit="min", standard_deviation=30, deviation_unit="s"
"every 5 min ±1 min" (same units) -> interval=5, time_unit="min", standard_deviation=1 (deviation_unit omitted)
Args: name: Name for this generator (e.g., "CustomerArrivals", "PartsInput") interval: Mean time BETWEEN arrivals in time_unit (use this OR rate, not both) rate: Number of arrivals PER time_unit (use this OR interval, not both) distribution: "exp", "norm", "unif", or "det" standard_deviation: Spread for "norm"/"unif" distributions (in deviation_unit, or time_unit if deviation_unit omitted) batch_size: Number of tokens per arrival (default: 1) time_unit: Unit for interval/rate — "s", "min", "h", "d". PASS THIS EXPLICITLY when the user describes the mean in non-second terms; the response echoes the resulting duration/rate in all four units so you can sanity-check. deviation_unit: Unit for standard_deviation. Pass ONLY when it differs from time_unit (e.g. mean in minutes, ± in seconds).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| interval | No | ||
| rate | No | ||
| distribution | No | exp | |
| standard_deviation | No | ||
| batch_size | No | ||
| time_unit | No | s | |
| deviation_unit | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |