Операторы, имитирующие работу динамической категории объектов.
В любой модели должны обязательно присутствовать как минимум: один блок GENERATE, один блок TERMINATE с непустым операндом А и одна команда START с непустым операндом А. Блок ADVANCE не является обязательным, но это единственный блок для задержки транзактов на заданное время и поэтому рассмотрим условия его применения вместе с «обязательными» блоками.
Для генерации (ввода транзактов в модель) используется блок GENERATE A,B,C,D,E. Операнды А и В данного блока и блока ADVANCE A,B заполняются одинаково. В операнде А записывается среднее значение и если в операнде В записан символ FN, то среднее значение умножается на значение заданной функции. Если запись в операнде В начинается не с FN, а с любого другого символа или цифры, то это указывает на равномерный закон, ограниченный диапазоном от А – В до А + В.
В блоке GENERATE в операнде С можно указать начальную задержку поступления первого транзакта. В операнде D можно указать количество генерируемых транзактов (по умолчанию ¥). В операнде Е можно указать приоритет транзактов от 0 до 127 (по умолчанию принимается нулевой т.е. низший приоритет).
Для вывода транзактов из системы используется блок TERMINATE A, в операнде A которого указывается количество единиц, вычитаемых из счетчика команды START A, которая используется для запуска модели и для завершения ее работы, когда счетчик команды START А обнулится.
Время задержки в блоке ADVANCE или время между поступлением соседних транзактов в блоке GENERATE кроме указанных способов, можно задать с помощью специальных функций, которые в этом случае берутся в скобки. Например, равномерный закон задается записью в поле операндов соответствующей функции (UNIFORM (A,B,C)); экспоненциальный закон функцией (EXPONENTIAL (A,B,C)); нормальный закон функцией (NORMAL (A,B,C)). Специальный эрланговский закон можно ввести частным случаем гамма-распределения с помощью функции (GAMMA (A,B,C,D)).
В аргументе А данных законов записывается номер генератора равномерно распределенных случайных чисел в диапазоне от 0 до 1, который рекомендуется выбирать из диапазона от 1 до 7. Для равномерного закона в аргументе В записывается левый предел диапазона существования, а в аргументе С – правый предел. Для экспоненциального закона аргумент В принимается равным 0, а в аргументе С записывается среднее значение. Для нормального закона в операнде В записывается среднее значение, а в операнде С стандартное отклонение. Отметим, что для нормального закона стандартное отклонение должно быть не более 0,2 от среднего значения (при невыполнении этого условия возможно появление отрицательных чисел, что недопустимо для имитации временных переменных). Для специального эрланговского закона аргумент B принимается равным 0, в аргумент C записывается среднее значение, а в аргумент D записывается количество фаз.
Примеры использования описанных выше блоков приведены в таблице 1.5.
Таблица 1.5 Примеры использования операторов, имитирующих работу динамической категории объектов
Пример использования оператора | Комментарии |
GENERATE 0.1 | Через каждые 10 единиц времени генерируется в процессе моделирования транзакт с нулевым приоритетом |
GENERATE ,,0,3 | Генерация трех транзактов в нулевой момент времени |
GENERATE 15,5 | Через каждые 15±5 единиц времени генерируется в процессе моделирования транзакт с нулевым приоритетом |
GENERATE (EXPONENTIAL (1,0,5)) | Генерация транзактов происходит по экспоненциальному закону со средним значением 5 |
TERMINATE 1 | Удаление транзакта из процесса моделирования. Счетчик завершения процесса моделирования, который устанавливается командой START, уменьшается на 1. |
TERMINATE | Удаление транзакта из процесса моделирования. Счетчик завершения процесса моделирования, который устанавливается командой START, не изменяется. |
Дата добавления: 2015-01-13; просмотров: 823;