Исследование систем управления методами имитационного моделирования. Варжапетян А.Г. - 60 стр.

UptoLike

Составители: 

60
4. Выполнение условия 3.2 приводит к появлению машинной единицы (см.
п.1), которая сравнивается со значением операнда А =1 ОБ START,
результат обнуляется, что приводит к выдаче сигнала о прекращении
процесса ИМ.
Указанные действия программы реализуются следующим образом:
-Обязательно вводится дополнительный парный программный модуль:
GENERATE AC1пр.
TERMINATE 1 ,
называемый таймером, который учитывает накапливаемое время движения
транзактов. Значение операнда А ОБ GENERATE равняется заданному
предельному интервалу АС1пр., других операндов нет.
- В обязательном порядке обнуляются значения операндов А всех ОБ
TERMINATE модуля исполнения МФ.
- Значение операнда А ОУ START в модуле управления устанавливается
равным 1.
Рассмотрим этот простой алгоритм на примере Д), который
модифицируем для окончания по времени
работы в течение 5 ч. или 300 минут.
Д) SIMULATE Е) SIMULATE
GENERATE 50 GENERATE 50
TERMINATE 1 TERMINATE 0
GENERATE 75 GENERATE 75
TERMINATE 1 TERMINATE 0
START 3 GENERATE 300
END TERMINATE 1
START 1
END
Рассмотрим некоторые особенности примера Е).
Транзакты в МФ не терминируются, а лишь отмечают факт своего
прохода отметкой на оси АС1 (запомним это важное обстоятельство на
будущее), таймер
срабатывает при выполнении условия 3.2. Показания
операндов А ОБ TERMINATE и ОУ START вычитаются, обнуляются, что
служит командой для прекращения процесса ИМ.
Для обратного перехода к управлению с помощью числа стартов
необходимо:
- Удалить из модуля управления МФ таймер.
- Записать в поле операнда А ОУ START желаемое число стартов.
- Записать в поля операндов А
ОБ TERMINATE желаемые значения.
В примере Е) мы впервые сталкиваемся с весьма важным
обстоятельством, когда 2 транзакта из разных ГСЧ приходят в одно и тоже
время, такие моменты в нашем примере наступают в 150 и 300
временных дискрет, в эти моменты транзакты становятся связанными по
времени. Возникает вопрос, как они проходят по МФ? Нельзя
забывать,
что транзакты двигаются один за другим по одному в единицу времени.
Для решения этой проблемы в GPSS/H предусмотрены чёткие правила: