Задача 2

К условию задания 2 добавим стартовые изменения для начала работы каждого клерка:

— клерк 1 начинает работу над документом;

— клерк 2 освободится у менеджера через 3 мин;

— клерк 3 закончит подготовку документа через 10 мин;

— клерк 4 ожидает приема у менеджера.

Лабораторная работа №4
Проверка числовых выражений

Цель работы: научиться управлять транзактами при наложении на них различных условий.

Задачи: ознакомиться с основными операторами проверки условий и числовых выражений, реализовать представленные примеры, сгенерировать отчет и проанализировать его.

Блок TEST определяет номер следующего блока для вошедшего в него транзакта в зависимости от того, выполняется требуемое условие или нет. Формат блока:

TEST <Х> <А>, <B>, <С>

Блок управляет потоком транзактов, проверяя выполнение алгебраических отношений между значениями, заданными в полях А и В. Х – вспомогательный оператор, который представляет собой оператор отношения. C - имя блока, в который переходит транзакт при условии, что ответ на вопрос, подразумеваемый оператором отношения, отрицательный. Может использоваться следующий атрибуты операнда A и В:

P$<имя>, P<номер> - возвращает значение параметра активного требования;

Q<номер> – текущая длина очереди;

С1 – условное время моделирования.

Для моделирования процессов с ограниченной очередью или с ограниченной емкостью накопителя используют 3 блока.

Формат первого оператора:

<Имя хранилища> STORAGE <А>

Описание этого оператора должно находиться вне основного тела программы. Операнд А определяет объем накопителя с именем <Имя хранилища>.

Значение оператора отношений Вопрос оператора отношения
G А больше В?
GE А больше или равно В?
E А равно В?
NE А не равно В?
LE А меньше или равно В?
L А меньше В?

Формат второго блока:

ENTER <А>, <B>

Формат третьего блока:

LEAVE <А>, <B>

Операнд А указывает на имя накопителя. Поле В указывает на число занимаемых/освобождаемых единиц накопителя, если это поле пусто, предполагается 1.

Блок GATE проверяет состояние различных устройств. Формат блока:

GATE <Х> <А>, <B>

Операнд А содержит имя или номер объекта, для которого проводится проверка. Операнд В указывает на блок, куда отправится транзакт, если логический оператор поля Х имеет значение «ложь». В поле Х может находиться:

SNF – накопитель, указанный в поле А, заполнен;

SF - накопитель, указанный в поле А, не заполнен.

Пример 9. Поток заявок поступает в накопитель с допустимой емкостью, равной 3 единицам, равномерно от 4 до 6 мин. Если заявки после накопителя застают 1-й обслуживающий канал занятым (время обработки от 8 до 10 мин), то они поступают на обработку во 2-й канал (от 12 до 14 мин). Смоделировать обработку 100 заявок.

Листинг программы примера 9:

nak storage 3

generate 5,1

gate snf nak,kan2

enter nak

queue kan1

seize kan1

depart kan1

leave nak

advance 9,1

release kan1

transfer,out

kan2 queue kanal2

seize kanal2

depart kanal2

advance 13,1

release kanal2

out terminate 1

start 100

Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы.

При применении перечисленных блоков в файле стандартной статистики появится следующая информация:

Поле STORAGE определяет имя или номер данного блока. Поле САР определяет емкость блока, указанную оператором STORAGE. Поле REMAIN определяет количество единиц свободной емкости хранилища в конце периода моделирования. Поле MIN определяет минимальное количество используемой емкости хранилища. Поле MАХ определяет максимальное количество используемой емкости хранилища. Поле ENTRIES определяет количество входов в хранилище за период моделирования. Поле AVL определяет состояние готовности хранилища в конце периода моделирования: 1- хранилище готово, 0 – не готово. Поле AVE.C определяет среднее значение занятой емкости. Поле UTIL определяет средний коэффициент использования всех устройств. Поле DELAY определяет количество транзактов, ожидающих возможности входа в блок ENTER.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: