Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чтоесть / Мое / Конспект лекций Для студентов специальности 080801. 65 - приклад.doc
Скачиваний:
249
Добавлен:
24.03.2015
Размер:
3.83 Mб
Скачать

4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer

В GPSS блок TRANSFER (ПЕРЕДАТЬ) может быть использо­ван в девяти разных режимах. Рассмотрим три основных.

Блок TRANSFER в режиме безусловной передачи. Его фор­мат:

TRANSFER ,B

Таблица 4.8

Позиция блока - это номер или метка блока. Так как операнд А не используется, то перед операндом В должна стоять запятая. В ре­ жиме безусловной передачи блок TRANSFER не может отказывать транзакту во входе. Кстати, если транзакт входит в блок, то он сразу же пытается войти в блок В.

Транслятор GPSS/PC не улавливает пропущенную запятую вме­сто операнда А (например, TRANSFER LAMD). На этапе трансля­ции метке LAMD присваивается числовое значение, и транзакт в этом случае направляется в блок с соответствующем номером.

Статистический режим. В этом режиме осуществляется пере­дача транзакта в один из двух блоков случайным образом. Формат блока:

TRANSFER A,[B],C

Таблица 4.9

При задании вероятности (операнд А) используется не более трех цифр, первый символ записи частоты «.» (десятичная точка), если используется действительное число, которое должно быть в пределах от 0 до 1,0 (например, 0,235). Если операнд - положительное целое число, то вероятность интерпретируется в долях тысячи.

Пример 4.6

TRANSFER .333,LPRIB1,LPRIB2

LPR1B1 SEIZE PR1

LPRIB2 QUEUE QPR2

С частотой 0,667 транзакт переходит в блок с меткой LPRIB1 и с частотой 0,333 - в блок с меткой LPRIB2.

Пример 4.7

TRANSFER 4,,LPRIB2 SEIZE PR1

LPRIB2 QUEUE QPR2

С частотой 0,6 транзакт переходит в блок SEIZE PR1 и с частотой 0,4 - в блок с меткой LPRIB2.

Режим BOTH. Если в операнде А стоит зарезервированное слово BOTH, то блок TRANSFER работает в режиме BOTH.

В этом режиме входящий транзакт сначала пытается перейти к блоку, указанному в операнде В. Если это сделать не удается, тран­закт пытается перейти в блок, указанный в операнде С. Если тран­закт не сможет перейти ни к тому, ни к другому блоку, то он остается в блоке TRANSFER и при каждом просмотре списка текущих событий, будет повторять в том же порядке попытки перехода до тех пор, пока не сможет выйти из блока TRANSFER.

Пример 4.8

TRANSFER BOTH,LL1,LL2

LL1 SEIZE PRI1

LL2 SEIZE PRI2

Транзакт сначала пытается перейти в блок с меткой LL1. Если устройство PRI1 занято, транзакт пытается войти в блок с меткой LL2. Если транзакт не может войти и в этот блок (устройство PRI2 также занято), он остается в списке текущих событий и повторяет эти попытки при каждом просмотре списка до тех пор, пока не выйдет из блока TRANSFER.

1. Не путайте метку блока SEIZE с именем соответствующего этому блоку устройства.

2. Если бы меткой LL1 был помечен блок QUEUE, а не блок SEIZE, то все транзакты были бы направлены по метке LL1, так как в отличие от блока SEIZE блок QUEUE всегда готов принять тран­закты.

Задания для самостоятельной работы:

1. На некотором станке четыре работника по очереди обрабаты­вают детали. Время обработки детали - 15±2мин, Промоделируйте работу станка на протяжении 8 часов (транзакты - работники).

2. На станцию технического обслуживания, которая состоит из бокса для ремонта и бокса для техосмотра, каждые 25±10 минут посту­пают автомобили. Из них 73% требуют ремонта, который продолжается 45±15 минут, а 27% проходят техосмотр (17±8 минут). Промоделируйте 40 часов работы станции технического обслуживания.

3. В магазине работают два кассира, один из которых более про­ворный, поэтому покупатели и отдают ему предпочтение. Покупате­ли заходят в магазин каждые 7±2 минут. Первый кассир обслуживает покупателя за 2±1 мин, а второй - за 3±2 мин. Промоделируйте рабо­ту магазина на протяжении 40 часов.

4. Выполните задание 1 из главы 7.

Соседние файлы в папке Мое