Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информационные технологии. Лекции.docx
Скачиваний:
20
Добавлен:
11.09.2018
Размер:
147.12 Кб
Скачать

Лекция №4. (26. 03. 2018)

Блок изменения маршрута транзактов TRANSFER A, B. Работа данного блока зависит от значения параметра A. Параметры B и C представляют собой метки блоков моделей. В тексте моделей метка помечается перед именем помеченного блока, отделяясь от него пробелом.

Модификация блока TRANSFER:

  1. Безусловный переход транзакта

Такой блок организует, если параметр A

опущен. Параметр C не пишется: TRANSFER ,B.

Транзакт, попавший в такой блок тут же переходит на блок с пометкой, соответствующей параметру B.

Пример:

Имеется цех с двумя станками, которые требуют периодического обслуживания. Эти станки обслуживает один работник. На обслуживание одного станка требуется время, определяемое равномерно на интервале (10;16). Интервал времени в точках, в которых станок может работать автономно тоже (10;16). Считается, что в начале смены рабочий находится возле станка №1. Смоделировать работу цеха в течении 8-часоваго рабочего дня.

Решение:

GENERATE 0,0,0,1

SEIZE STANOK1

ADVANCE 13,3

RELEASE STANOK1

SEIZE STANOK2

ADVANCE 13,3

RELEASE STANOK2

TRANSFER POS1

GENERATE 480

TERMINATE 1

START 1

  1. Блок статистического изменения маршрута

Данная модификация применяется тогда, когда транзакт должен случайным образом выбрать один из двух маршрутов. В этом случае параметр A записывается как положительное число, меньшее единицы.

При прохождении транзактом такого блока TRANSFER он с вероятностью P = A перейдёт на блок с меткой равной параметру B, а с вероятностью 1-A в блок с пометкой C. Если параметр B опущен, то по умолчанию это следующий блок модели.

Пример:

Приходящие в магазин покупатели с P = 0,3 идут в первый отдел, а с вероятностью 0,7 во второй. Составить модель такого магазина, если обслуживание в первом отделе длится случайное время (10;16), во втором отделе (15;25). А покупатели приходят так что время между их приходом подчиняется экспоненциальному закону распределения со средним значением 14. Промоделировать обслуживание 1000 покупателей.

Решение:

GENERATE (EXPONENTIAL (1,0,14)

TRANSFER .3,OTD1,OTD2

OTD1

QUEUE OTDEL1

SEIZE OTDEL1

DEPART OTDEL1

ADVANCE 13,3

RELEASE OTDEL1

OTD2

TERMINATE 1

QUEUE OTDEL2

SEIZE OTDEL2

DEPART OTDEL2

ADVANCE 20,5

RELEASE OTDEL2

TERMINATE 1

START 1000

  1. Блок общей очереди

Для данной модификации параметр A блока TRANSFER записывается в виде слова BOTH, затем два параметра B и C. TRANSFER BOTH,B,C. Он работает так, когда транзакт подходит к блоку с меткой равной параметру B. Если этот блок занят, то транзакт пытается перейти к блоку с меткой равный параметру C, если же оба блока заняты, то транзакт останавливается перед блоком TRANSFER в ожидании, когда какой-нибудь из блоков (B/C) освобождается.

Пример:

Имеется справочная телефонная служба. Клиент звонит на общий номер и первый из освободившихся операторов отвечает на звонок. Если оба оператора заняты, то клиент остаётся на линии ожидания освобождения оператора. Время между звонками клиентов подчиняется экспоненциальному закону распределения со средним значением 5 минут. Первый оператор обслуживает клиента в течении времени, распределенного экспоненциально со средним значением 7 минут, а второй – 8. Собрать сведенья о статистических характеристиках времени ожидания клиентами ответа оператора, промоделировать системы в течении 12-ти часовой рабочей смены.

Решение:

GENERATE (EXPONENTIAL (1,0,5))

QUEUE OCH

TRANSFER BOTH, OP1, OP2

OP1

SEIZE OPER1

DEPART OCH

ADVANCE (EXPONENTIAL (2,0,7))

RELEASE OPER1

OP2

TERMINATE 1

SEIZE OPER2

DEPART OCH

ADVANCE (EXPONENTIAL (2,0,7))

RELEASE OPER2

TERMINATE 1

GENERATE 720

TERMINATE 1

START 1