---
title: "Five GPSS block diagram symbols"
subject: "Simulation and Modeling"
chapter: 9
key: "semester_8/simulation_and_modeling:gpss-block-symbols"
source: https://www.bctengineer.com/q/semester_8/simulation_and_modeling/gpss-block-symbols
site: BCT Engineering
---

# Five GPSS block diagram symbols

Simulation and Modeling · Chapter 9: Simulation software

- Asked in: 2074 Magh, 6 marks; 2070 Bhadra, 6 marks (asked 2 times)
- Video: [GPSS - Blocks Generate, Advance, Transfer and Terminate](https://www.youtube.com/watch?v=pS2pHp7FZAQ) — Shiva Gyawali
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_8/simulation_and_modeling/gpss-block-symbols
- Whole chapter: https://www.bctengineer.com/md/semester_8/simulation_and_modeling/chapter-9

## Question

Explain at least 5 GPSS block diagram symbols (with example).

## Short answer

GENERATE creates transactions (every 18±6 min). QUEUE/DEPART monitor queue statistics. SEIZE/RELEASE capture and free a facility (server). ADVANCE models service time (16±4 min). TERMINATE removes transaction and decrements counter. Example barber shop: GENERATE → QUEUE → SEIZE → DEPART → ADVANCE → RELEASE → TERMINATE.

## Answer

GPSS (General Purpose Simulation System) models are drawn as **block diagrams**. Transactions (entities) flow from block to block; each block has a standard symbol and a keyword statement. Five basic ones:

#### 1. GENERATE
Creates transactions (arrivals). Operands: A = mean inter-arrival time, B = half-range of the uniform spread.
`GENERATE 10,3` creates a transaction every 10 ± 3 time units (7 to 13).

#### 2. QUEUE and DEPART
`QUEUE` records that a transaction joins a queue for statistics; `DEPART` records leaving it. The difference gives waiting time and queue length.
`QUEUE LINE` / `DEPART LINE`.

#### 3. SEIZE and RELEASE
`SEIZE` captures a facility (a single server). If it is busy, the transaction waits. `RELEASE` frees it.
`SEIZE TELLER` / `RELEASE TELLER`.

#### 4. ADVANCE
Holds a transaction for a time, representing service or delay. `ADVANCE 8,2` keeps it for 8 ± 2 units.

#### 5. TERMINATE
Removes the transaction from the system and decrements the termination counter by A. `TERMINATE 1` reduces the counter by 1; the run ends when it reaches zero (set by `START 100`).

Others: `TRANSFER` (branching), `ENTER`/`LEAVE` (storage, multi-server), `TEST` (conditional), `ASSIGN`, `SAVEVALUE`.

#### Symbol shapes (text sketch)
```text
 GENERATE  -> QUEUE -> SEIZE -> DEPART
 ADVANCE   -> RELEASE -> TERMINATE
```
Each block has its own shape in the GPSS convention, with operands written inside or beside it.

#### Example: barber shop with one barber
```text
GENERATE 18,6      ; customer arrives every 18 +/- 6 min
QUEUE    WAIT
SEIZE    BARBER
DEPART   WAIT
ADVANCE  16,4      ; haircut 16 +/- 4 min
RELEASE  BARBER
TERMINATE 1
START 100
```
Flow: GENERATE -> QUEUE -> SEIZE -> DEPART -> ADVANCE -> RELEASE -> TERMINATE. The output report gives barber utilisation, average waiting time and maximum queue length.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What does GENERATE 10,3 do?
   A. Creates a transaction every 10 +/- 3 time units (7 to 13)
   B. Creates 10 transactions at time 3
   C. Holds a transaction for 10 units
   D. Terminates 3 transactions
   Answer: A. Operand A is the mean inter-arrival time and B the half-range of the uniform spread. (Key point: GENERATE)

2. What happens when a transaction reaches SEIZE and the facility is busy?
   A. It is destroyed
   B. It skips the facility
   C. It waits until the facility is free
   D. The facility is released
   Answer: C. SEIZE captures a single-server facility; if busy, the transaction waits. RELEASE frees it. (Key point: SEIZE/RELEASE)

3. What is the purpose of QUEUE and DEPART?
   A. To hold a transaction for service time
   B. To record entering and leaving a queue so waiting time and queue length statistics are collected
   C. To create transactions
   D. To end the run
   Answer: B. They mark queue entry and exit; the difference gives wait statistics. (Key point: QUEUE/DEPART)

4. With TERMINATE 1 and START 100, when does the run end?
   A. After 1 time unit
   B. When the termination counter, set to 100, has been decremented to zero
   C. After 100 time units
   D. When the facility is idle
   Answer: B. Each TERMINATE 1 reduces the counter by 1; START sets it to 100. (Key point: TERMINATE)

## Related in Simulation and Modeling

- [Succession of events; GPSS telephone model](https://www.bctengineer.com/question.md?key=semester_8%2Fsimulation_and_modeling%3Agpss-telephone-system) — Simulation and Modeling, chapter 9
- [Queuing block diagram; M/M/4 and D/M/2](https://www.bctengineer.com/question.md?key=semester_8%2Fsimulation_and_modeling%3Aqueuing-block-diagram-mm4) — Simulation and Modeling, chapter 4

## Related in other subjects

- [Huffman code for five symbols (0.2, 0.35, ...)](https://www.bctengineer.com/question.md?key=semester_5%2Fdata_communication%3Ahuffman-five-symbols-02-035) — Data Communication, chapter 8
- [Source vs channel coding; Huffman for five symbols](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Asource-channel-huffman-five) — Communication Systems, chapter 6
- [Importance of source coding; fixed vs Shannon-Fano (five symbols)](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Asource-coding-fixed-sf-five) — Communication Systems, chapter 6
- [Source coding; Huffman for five symbols (0.3, 0.25, 0.2, 0.15, 0.1)](https://www.bctengineer.com/question.md?key=semester_6%2Fcommunication_systems%3Asource-coding-huffman-five-s0) — Communication Systems, chapter 6
