"Удаление транзактов из модели. Блок ТЕRМINАТЕ (ЗАВЕРШИТЬ)"
Транзакты удаляются из модели, попадая в 6лок ТЕRМINАТЕ (ЗАВЕРШИТЬ). Блоки ТЕRМINАТЕ всегда позволяют выйти всем транзактам, которые пытаются это сделать. В модели может быть любое число блоков ТЕRМINАТЕ.
Рис.3.1. Блок ТЕRМINАТЕ (ЗАВЕРШИТЬ) с операндом А.
На рис. 3.1 изображен блок ТЕRМINАТЕ с операндом А в обычной записи. Операнд А является указателем уменьшения счетчика завершений.Иначе говоря, он задает величину, которая должна вычитаться из специального счетчика, называемого счетчиком завершений, каждый раз, когда транзакт входит в блок ТЕRМINАТЕ. Если разработчик не желает задавать операнд А блока ТЕRМINАТЕ,то по умолчанию подразумевается значение О. Вход транзакта в такой блок ТЕRМINАТЕ не вызывает уменьшения содержания счетчика завершений.
Что же такое счетчик завершений? Эта такая ячейка памяти ЭВМ, которая хранит положительное целое значение, записанное в начале моделирования. В процессе моделирования транзакты попадают в блоки ТЕRМINАТЕ, и таким образом происходит уменьшение содержания счетчика. При достижении содержанием счетчика нуля моделирование завершается.
Обратите внимание на тот факт, что хотя в модели может быть много блоков ТЕRМINАТЕ, счетчик завершений только один. Это и есть тот самый счетчик завершений, из которого происходит вычитание при вхождении транзакта в любой блок ТЕRМINАТЕ. Как уже указывалось, счетчик завершений содержит заданное значение в начале моделирования.
Интерпретатор GPSS начинает моделирование, когда встречается управляющая карта SТАRТ (НАЧАТЬ) в перфокарточном варианте модели. Для определения начального значения счетчика завершения используется операнд А карты SТАRТ (рис. 3.2).
Рис.3.2. Форма карты START (НАЧАТЬ)
LOCATION |   | OPERATION | A,B,C,D,E,F ------------------------> | ||||||||||||||||||||||||||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 0 | 1 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 6 | 1 7 | 1 8 | 1 9 | 2 0 | 2 1 | 2 2 | 2 3 | 2 4 | 2 5 | 2 6 | 2 7 | 2 8 | 2 9 | 3 0 | 3 1 | 3 2 | 3 3 | 3 4 | 3 5 | 3 6 | 3 7 | 3 8 |
  |   |   |   |   | S | T | A | R | T |   | A |   | К | А | Р | Т | А |   | S | T | A | R | T |   | С |   | О | П | Е | Р | А | Н | Д | О | М |   | А |
* |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
  |   |   |   |   | S | T | A | R | T |   | 1 |   | К | А | Р | Т | А |   | S | T | A | R | T |   | С |   | О | П | Е | Р | А | Н | Д | О | М |   | А |
  |   |   |   |   |   |   |   |   |   |   |   |   | Р | А | В | Н | Ы | М |   | 1 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
Слово SТАRТ записывается в поле операции строки.
В нижней части рис. 3. 2 показан конкретный пример карты STАRТ, в которой операнд А принимает единичное значение.Рассмотрим теперь пример,в котором блок ТЕRМINАТЕ
и карта SТАRТ используются для управления процессом моделирования. Предположим, что разработчик выбрал в качестве единицы времени 1 мин. Он хочет промоделировать поведение системы в течение 8 ч, затем моделирование должно быть закончено.
Он сможет сделать это следующим образом.
- В модель включают сегмент из двух блоков, изображенных на рис. 3.3.
Рис.3.3.Сегмент из двух блоков, обеспечивающих завершение моделирования
в момент модельного времени, равный 480 (выполнение двух другий условий подразумевается). - Во всех прочих блоках ТЕRМINАТЕ
в модели подразумевается использование операнда А по умолчанию. Это означает, что завершение моделирования, определяемое счетчиком завершений, не будет зависеть от других блоков ТЕRМINАТЕ.
- В карте SТАRТ в качестве операнда А должна быть использована единица.
- он вставляет в модель двухблочный сегмент, изображенный на рис. 3.4;
Рис.3.4. Другой вид сегмента из двух блоков, вызывающий завершение моделирования в момент времени, равный 480 ( выполнение двух других условий подразумевается ). - во всех прочих блоках ТЕRМINАТЕ модели подразумевается использование операнда А по умолчанию;
- в качестве операнда А карты SТАRТ используется число 480.