Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_Mstk.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

29. Блок advance.

(задержать)–моделирует задержку транзакта в течение некоторого интервала модельного времени. Чаще всего этот интервал задается случайной переменной. Формат записи: ADVANCE А, [В], где А–задержка на время обслуживания, В–половина допуска равномерно распределенного интервала времени задержки (модификатор-интервал или модификатор-функция). А и В могут быть именем, числом, выражением в скобках или СЧА. Если задан только А, он вычисляется и используется в качестве времени задержки. При задании операндов А и В, и В не определяет функцию, оба операнда вычисляются (если они не константы) и в качестве времени задержки выбирается случайное число, равномерно распределенное в интервале (А-В, А+В). Значение В не должно превышать А. При задании времени задержки по другому закону, в В записывается модификатор-функция. При обращении к функции определяется некоторое число –значение фун-ии. Это значение умножается на значение А. Результат используется как время задержки.

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

В операторах блока ADVANCE возможны ссылки на параметры транзактов, если только этим параметрам присвоены соответствующие значения.

30. Блоки queue и depart.

Блок QUEUЕ (стать в очередь) - организует очереди и осуществляет сбор статистики. Увеличивает длину очереди.

Формат записи: QUEUE A, [B] где А – задает имя или номер очереди, к длине которой добавляются единицы; В – определяет число единиц, на которое необходимо увеличить текущую длину очереди. Если операнд В не используется, то прибавляется единица.

Пример:

А) QUEUE RemQ

Увеличивает дину очереди RemQ на единицу при входе каждого транзакта.

Б) QUEUE Р14, Р1

Увеличивает длину очереди, номер которой задан в параметре Р14 транзакта, на число единиц, заданных в параметре Р1.

Счетчик числа транзактов увеличивается на единицу, запоминается текущее модельное время.

Блок DEPART (покинуть очередь) – моделирует выход транзакта из очереди. Служит для уменьшения длины очереди.

Формат записи:

DEPART A, [B] где А – задает имя или номер очереди, длину которой надо уменьшить; В – задает число единиц, на которое необходимо уменьшить длину очереди. Если операнд В не используется, то по умолчанию длина очереди уменьшается на 1.

Пример:

А) DEPART RemQ

Уменьшает дину очереди RemQ на единицу.

Б) DEPART V3, (V4+3.7)

Операнды А и В заданы арифметической переменной V3 и выражением в скобках, которое также содержит арифметическую переменную V4. При входе транзакта в блок DEPART переменная и выражение в скобках вычисляются и округляются. После этого длина очереди, номер которой есть значение переменной V3, уменьшается на значение выражения в скобках (V4+3.7).

Счетчик длины очереди уменьшается на единицу, или на величину В.

В конце моделирования автоматически распечатывается статистика, содержащая информацию о значении счетчика входов, среднем значении длины очереди, максимальном времени пребывания в очереди и т.д.

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