Home/chiaha-SLX/Verification

chiaha-SLX against queueing theory

Four classic problems with known answers, each run 20 times in chiaha-SLX. Every simulated figure below is the mean of those runs with its 95% confidence interval, next to what the formula says it should be.

The results

All twelve theoretical values fall inside the 95% interval of the simulated mean.

Barber shop

One barber. Customers arrive every 12 to 24 minutes and a haircut takes 12 to 20, both uniform. With those means the barber should be busy 16/18 of the time.

Example deck/barber, run for 48,000 minutes (100 eight-hour days).

Measurechiaha-SLX, 20 runsTheory
Barber utilization88.91% ± 0.2288.89%
Mean haircut16.00 ± 0.02 min16 min

Bank tellers, M/M/3

Three tellers share one line. Customers arrive on average every 4 minutes and service averages 10 minutes, both exponential. The answer is Erlang C.

Example deck/tellers, run for 50,000 minutes.

Measurechiaha-SLX, 20 runsErlang C
Teller utilization83.01% ± 0.4883.33%
Mean number waiting (Lq)3.48 ± 0.233.51
Mean wait (Wq)13.97 ± 0.89 min14.04 min

Single server, M/M/1

One server, arrivals every 10 minutes and service of 8 minutes on average, both exponential, so the server is busy 80% of the time.

Example gpss/mm1, run as written for 1,000,000 minutes.

Measurechiaha-SLX, 20 runsM/M/1
Mean number in system (L)4.02 ± 0.074.00
Mean number waiting (Lq)3.22 ± 0.073.20
Mean time in system (W)40.18 ± 0.70 min40.00 min

Tool crib with two priority classes

One clerk serves two kinds of mechanic. Class 2 jobs are short and go first; class 1 jobs wait behind them. With exponential arrivals (the example’s poisson = TRUE switch) the waits follow Cobham’s formulas for a non-preemptive priority queue.

Example deck/tool-crib, run for 2,000,000 seconds.

Measurechiaha-SLX, 20 runsCobham
Clerk utilization75.32% ± 0.3975.00%
Class 2 mean wait120.6 ± 1.5 s120.2 s
Class 1 mean wait491.2 ± 25.7 s480.7 s

How the numbers were made

Each figure comes from the same server that runs your models in the workspace, on 8 November 2026. The only change to each example was its run length, made long enough for the averages to settle. The interval is the mean ± t × standard deviation / √20, with t = 2.093 for 19 degrees of freedom.

To repeat a row, open the example, change the line that sets the run length, set the seed to 1 and the runs to 20, and tick “show final values”. Each run then prints its totals (busy time, total wait, customers served), and the ratios in the tables are worked out from those. The 20 runs fit within one run on the Professional plan; on the Free plan, 5 runs give the first five of the twenty.

Verification is not validation

These results show that the language computes what queueing theory says it should. They say nothing about whether a particular model matches a real system. That check, validation, is done model by model: a model moved into chiaha-SLX first has to reproduce the original model’s results, then the system’s measured history. More on both on the chiaha-SLX page; how GPSS blocks are written in chiaha-SLX is on the GPSS models page.

SLX and GPSS/H are trademarks of their respective owners. ChiAha is not affiliated with or endorsed by them.