В языке GPSS продолжительностью процесса моделирования можно управлять двумя способами:
1) завершать моделирование после того, как модель покинет заданное число транзактов определенного типа;
2) завершать моделирование по истечению заданного интервала времени.
Первый способ:
1. В команде START операнду А присваивается значение заданного числа транзактов.
2. Во всех блоках TERMINATE, через которые транзакты заданного типа покидают модель, операнду А присваивается значение «1» или другое, отличное от нуля (соответственно содержательному значению транзактов).
3. Во всех других блоках TERMINATE используется значение операнда А по умолчанию (A = 0). Значение счетчика завершения не будет зависеть от этих блоков.
Первый способ позволяет закончить моделирование, когда через модель пройдет заданное количество транзактов, например 1000:
Второй способ:
Пусть разработчик выбрал за единицу модельного времени 1 мин и хочет смоделировать поведение системы на протяжении 8 часов. Это можно сделать таким образом:
1. Ввести в модель таймер-сегмент, состоящий из двух блоков:
2. Во всех других блоках TERMINATE в модели использовать значение операнда А по умолчанию (A = 0). Это означает, что прекращение моделирования, определяемое счетчиком завершения, не будет зависеть от других блоков TERMINATE.
3. В команде START операнд А должен равняться единице.
Таким образом, в процессе моделирования завершение движения транзактов в других блоках TERMINATE не влияет на счетчик завершения. В момент времени 480 транзакт выйдет из блока GENERATE и сразу же перейдет в блок TERMINATE. Счетчик завершения уменьшится на единицу, и интерпретатор завершит моделирование.