В языке GPSS продолжительностью процесса моделирования можно управлять двумя способами: завершать моделирование после того, как модель покинет заданное число транзактов определенного типа и по истечении заданного интервала времени.
П е р в ы й с п о с о б [4]: в команде START операнду А присваивают значение заданного числа транзактов; во всех блоках TERMINATE, через которые транзакты заданного типа покидают модель, операнду А присваивается значение «1» или другое, отличное от нуля (в соответствии с содержательным значением транзактов); во все других блоках TERMINATE используется значение операнда А по умолчанию (A = 0), значение счетчика завершения не будет зависеть от этих блоков. Первый способ позволяет закончить моделирование, когда через модель пройдет заданное количество транзактов, например. Например, если необходимо завершить процесс моделирования, после прохождения через модель двухсот транзактов, следует написать:
GENERATE 20,3
…
TERMINATE 1
START 200
В т о р о й с п о с о б. При необходимости остановить процесс моделирования по истечении заданного интервала времени в модель вводят так называемый таймер-сегмент, который состоит из последовательности двух операторов GPSS:
|
|
GENERATE А
TERMINATE 1
Значение операнда А в этом случае должно равняться количеству единиц модельного времени, которое определяет продолжительность процесса моделирования. В команде START операнд А должен равняться единице.
При этом во всех других блоках TERMINATE в модели нужно использовать значение операнда А по умолчанию (A = 0), это означает, что прекращение моделирования, определяемое счетчиком завершения, не будет зависеть от других блоков TERMINATE.
Например, разработчик выбрал за единицу модельного времени 1 мин и моделирует поведение системы на протяжении восьми часов. В этом случае следует применить такую последовательность операторов:
GENERATE 480
TERMINATE 1
START 1
Приведенная последовательность работает следующим образом: в момент времени 480 один транзакт выйдет из блока GENERATE и сразу же перейдет в блок TERMINATE, счетчик завершения уменьшится на единицу, и интерпретатор завершит моделирование.