Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5mzQtxCL1a.doc
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
3.06 Mб
Скачать

11.5.4. Имитация типовых узлов смо

Ниже рассматриваются операторы, позволяющие выполнять основ ные операции по имитации одноканальных и многоканальных СМО. При этом используются следующие объекты GPSS-модели: устройства, многоканальные устройства и очереди.

Для объектов, представляемых в виде одноканальных СМО, в литературе по системе моделирования GPSS/PC принято название "устройство" (иногда - "одноканальное устройство" или "прибор"), для многоканальных СМО - "многоканальное устройство" (иногда - "память", "накопитель").

Используемые в модели многоканальные устройства должны быть объявлены следующим оператором:

метка STORAGE A

где метка - имя многоканального устройства (символьное или числовое обозначение);

A - количество каналов.

Метка и операнд в операторе STORAGE обязательны. Оператор STORAGE указывается в начале текста модели (до первого оператора GENERATE).

Устройства и очереди, используемые в модели, не требуют объявления.

Для имитации входа в очередь используется оператор QUEUE, для выхода из очереди - оператор DEPART:

QUEUE A,B

DEPART A,B

где A - имя очереди (символьное или числовое);

B - количество мест, занимаемых транзактом (т.е. заявкой) в очереди.

Операнд A обязателен. Операнд B необязателен и используется достаточно редко; его значение по умолчанию - 1.

Для имитации входа транзакта в устройство используется оператор SEIZE, для выхода из устройства (т.е. его освобождения для других транзактов) - оператор RELEASE:

SEIZE A

RELEASE A

где A - имя устройства (символьное или числовое); обязательно.

Для имитации входа транзакта в многоканальное устройство используется оператор ENTER, для выхода из многоканального устройства - оператор LEAVE:

ENTER A,B

LEAVE A,B

где A - имя многоканального устройства (символьное или числовое);

B - количество каналов, занимаемых транзактом.

Операнд A обязателен. Операнд B необязателен и используется достаточно редко; его значение по умолчанию - 1.

Задержка транзакта (например, для имитации обслуживания заявки в устройстве или многоканальном устройстве) выполняется следующим оператором:

ADVANCE A,B

где A - среднее время задержки;

B - отклонение от среднего времени задержки.

Операнд A обязателен. Операнд B необязателен; если он не указан, то время задержки в точности равно величине, заданной операндом A. Если оба операнда - конкретные числа, то время задержки представляет собой равномерно распределенную случайную величину AB. В других случаях время задержки рассчитывается как A*B.

Примечание. Указание операторов имитации очереди QUEUE и DEPART, вообще говоря, необязательно. Если этих операторов нет перед оператором SEIZE или ENTER, то транзакты все равно будут ожидать освобождения соответствующего устройства или многоканального устройства. Однако в этом случае информация об очередях (об их длинах, временах пребывания транзактов и т.д.) не будет выводиться в выходные данные модели.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]