Краткое практическое руководство по GPSS



             

"Удаление транзактов из модели. Блок ТЕRМINАТЕ (ЗАВЕРШИТЬ)" - часть 2


В нижней части рис. 3.2 показан конкретный пример карты STАRТ, в которой операнд А принимает единичное значение.Рассмотрим теперь пример,в котором блок ТЕRМINАТЕ и карта SТАRТ используются для управления процессом моделирования.

Предположим, что разработчик выбрал в качестве единицы времени 1 мин. Он хочет промоделировать поведение системы в течение 8 ч, затем моделирование должно быть закончено.
Он сможет сделать это следующим образом.

  1. В модель включают сегмент из двух блоков, изображенных на рис. 3.3.

    Рис.3.3.Сегмент из двух блоков, обеспечивающих завершение моделирования
    в момент модельного времени, равный 480 (выполнение двух другий условий подразумевается).

  2. Во всех прочих блоках ТЕRМINАТЕ в модели подразумевается использование операнда А по умолчанию. Это означает, что завершение моделирования, определяемое счетчиком завершений, не будет зависеть от других блоков ТЕRМINАТЕ.

  3. В карте SТАRТ в качестве операнда А должна быть использована единица.

Единичное значение операнда А карты SТАRТ вызывает запись в счетчик завершений интерпретатора единицы в качестве начального значения. В процессе моделирования завершения движений транзактов, которые происходят время от времени в других блоках ТЕRMINАТЕ, не оказывают воздействия на счетчик завершений.Следовательно, в момент модельного времени, равный 480, транзакт попадет в блок GЕNЕRАТЕ,изображенный на рис. 3.3. Он сразу же перейдет в следующий блок ТЕRМINАТЕ, вызывая тем самым подпрограмму ТЕRМINАТЕ. Поскольку операнд этого блока содержит единицу, то из счетчика завершений вычитается единица. Это уменьшает значение счетчика от единицы до нуля. В результате интерпретатор прекращает моделирование.

Такой способ использования счетчика завершений может показаться несколько странным для управления моделированием. Тем не менее только этот способ управления продолжительностью моделирования на GPSS доступен разработчику.

Теперь предположим, что для выполнения действий, описанных в предшествующем примере,разрабочик использует следующее:

  1. он вставляет в модель двухблочный сегмент, изображенный на рис. 3.4;





    Содержание  Назад  Вперед