Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Приложение. Для создания транзактов и моделирования их поступления в модель предназначен блок GENERATE, который имеет следующий формат:
Для создания транзактов и моделирования их поступления в модель предназначен блок GENERATE, который имеет следующий формат: GENERATE А, [В], [С], [D], [Е], [F], [G], [Н], [1] А - среднее значение интервала времени между моделируемыми транзактами (по умолчанию - 0); В - величина разброса возможных значений времени; С - модельное время генерации первого транзакта; D - максимальное количество моделируемых транзактов; Е - приоритет транзактов (по умолчанию - О, т.е. самый низкий приоритет); F,..., I - количество и формат параметров транзактов (по умолчанию - 12 параметров формата «полуслово»). Например: GENERATE 10, 2, 5,, 2; моделирование транзактов через ин тервалы времени, равномерно распределенные на отрезке [8, 12] (или 10±2); первый транзакт моделируется в момент моделвного времени, равный 5 единиц общее количество моделируемых транзактов не ограничено; все транзакты имеют приоритет 2 и 12 параметров GENERATE 75, FN$EXPON,, 20,, ЗРВ; моделирование транзактов через интервалы времени, имеющие экспоненци- алвное распределение со средним значением 7 5 единиц (моделирование других распределений рассмотрено в под- разд. 2.5); первый транзакт моделируется в нулевой момент моделвного времени; генерируется толвко 20 транзактов с нулевым приоритетом; каждый транзакт имеет по 3 параметра форматом «полуслово», т.е. способных при- ниматв значения от -255 до 255 Если транзакт начал свое движение, он передвигается от блока к блоку по пути, указанному блок-схемой (логикой работы модели). В тот момент, когда транзакт входит в блок, вызывается соответствующая этому блоку подпрограмма. Далее транзакт пытается войти в следующий блок. Его перемещение продолжается, пока очередной блок доступен или пока он не входит в блок, функцией которого является задержка транзакта (на определенное время) или удаление его из модели. В противном случае транзакт остается в том блоке, в котором в данное время находится (но позже будет повторять попытки движения) и в модели делается попытка перемещения другого транзакта. Для задержки транзактов в течение заданного интервала модельного времени используется блок ADVANCE. Формат блока: ADVANCE А, [В] Операнды А и В аналогичны соответствующим операндам блока GENERATE (см. выше). Например: ADVANCE 3 0, 5; моделирование задержки транзактов в течение времени, которое имеет равномерное распределение на отрезке [25, 35] (или 30+5) ADVANCE 7 5; задержка транзактов в течение 7 5 единиц моделвного времени Для удаления транзактов из модели используется блок TERMINATE, который имеет следующий вид: TERMINATE [А] операнд А указывает число (по умолчанию - 0), на которое уменьшается содержимое счетчика завершений (системного числового атрибута TG1), значение которого задается командой START (см. п. 2.4.2). Например: TERMINATE; уничтожение транзакта, поступившего в блок; значение счетчика завершений не изменяется TERMINATE 1; уничтожение транзакта, поступившего в блок; значение счетчика уменвшается на 1 (при достижении нулевого или отрицателвного значения счетчика завершений процесс моделирования прекращается) Для изменения приоритета транзакта используется блок PRIORITY, который имеет формат: PRIORITY А Операнд А указывает новое значение приоритета транзакта, вошедшего в блок (от 0 до 127 включительно). Например: PRIORITY 3; присвоитв транзакту приоритет 3 Для изменения значений параметров транзакта используется блок ASSIGN, который имеет следующий вид: ASSIGN A, B, [C], [D] А - номер изменяемого параметра с указанием режима изменения: накопление (+), вычитание (-), замещение (без дополнительных символов); В - число, изменяющее значение параметра; С - имя функции, применяемой для модификации значения параметра; D - формат изменяемого параметра: PF, РН, РВ или PL (по умолчанию - РН). Например: ASSIGN 3+, 5,, РВ; увеличитв значение параметра 3 форматом «байт» на 5 единиц ASSIGN 3-, 7,, PF; уменвшитв значение параметра 3 форматом «слово» на 5 единиц ASSIGN 2-6, 5.75,, PL; задатв параметрам 2-6 (форматом «плавающая точка») значение 5, 75 Для создания копий транзакта используется блок SPLIT формата SPLIT А, [В], [С] А - число создаваемых копий; В - метка блока, к которому отправляются копии исходного транзакта (сам исходный транзакт безусловно переходит в следующий после SPLIT блок); С - номер параметра, используемого для присвоения копиям последовательных номеров. Например: SPLIT 1; создать одну копию исходного транзакта и напра вить (вместе с исходным транзактом) в следующий блок SPLIT 2, LABEL1; создать две копии исходного транзакта и направить их в блок с меткой LABEL1 Для объединения определенного числа транзактов одного семейства используется блок ASSEMBLE А, который имеет следующий формат: ASSEMBLE А А - число п объединяемых транзактов. Первый из транзактов, принадлежащих некоторому семейству, вошедший в блок ASSEMBLE, задерживается до прихода в блок п - 1 транзакта из данного семейства. После чего первый транзакт переходит к следующему блоку, а оставшиеся п — 1 транзакты уничтожаются. Ранее указывалось, что время пребывания транзакта в модели определяется его СЧА Ml. Для определения времени перемещения транзакта между двумя произвольными точками модели используется блок MARK, который имеет вид: MARK А А - номер параметра транзакта, в который записывается текущее значение абсолютного модельного времени АС1 (см. системные числовые атрибуты в подразд. 2.3). Например: MARK 2; сохранение текущего модельного времени во 2-м параметре транзакта ; далее в тексте модели располагают блок, определяющий время перемещения транзакта, равное разности текущего модельного времени и значения, хранимого во 2-м параметре транзакта
|