Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ИМ.doc
Скачиваний:
15
Добавлен:
26.09.2019
Размер:
1.08 Mб
Скачать

10.Основные операторы описания узлов графа: serv, gueue, ag, term, create, delete, key, dynam, proc, send, direct.

Описание узлов графа, условий прохождения транзактов и моделирования дискретных компонентов производится с помощью независимых программных ветвей, активностью которой управляет координатор network. Каждый узел имеет типовую структуру. Узел состоит из 6 типовых компонентов; необязательные компоненты заключаются в квадратные скобки.

Относительно топологии можно рассматривать два типа структурных схем моделей: разомкнутые (Эффективность компьютеров в АРМ бухгалтерии) и замкнутые (Минимизация затрат производства)

Операторы анализа условий. После метки top(i) можно анализировать условия продвижения транзактов по графу модели, при этом используются операторы if или switch. Если необходимо менять направление путей транзактов, законы распределения, значение времени обслуживания и другие параметры, то можно использовать операцию присваивания.

Очередь (с приоритетами или без приоритетов). Функция queue(p1,p2,р3) определяет узел, моделирующий очередь транзактов. Эта очередь строится по одному из двух правил: либо транзакты упорядочены в порядке поступления, либо вновь поступающие тран­закты поступают в конец своей приоритетной группы (более при­оритетные транзакты находятся ближе к началу очереди, а менее приоритетные - к концу). Чем больше численное значение приори­тета транзакта, тем он приоритетнее.

Узел обслуживания с N параллельными каналами. Модели­рующая функция sеrv(р1,р2,р3,р4,р5,p6,р7,р8) описывает узел, осуще­ствляющий какое-либо обслуживание транзактов в течение модель­ного времени, отличного от нуля. В данном случае узел - это одно- или многоканальный обслуживающий прибор, работающий по пра­вилам абсолютных приоритетов или без них и имеющий стек для прерванных транзактов.

Терминатор, убирающий транзакты из модели.

Функция term(pi) описывает узел-терминатор, назначение которого заключа­ется в следующем: он удаляет из модели входящий в него транзакт и фиксирует время его существования начиная с момента выхода этого транзакта из генератора. Единственный параметр pi - это симво­лическое имя узла: строка длиной до 14 символов, включая пробелы (char).

Когда пользователю необходимо иметь инструмент для анализа динамики потока транзактов по какой-либо ветви графа, причем принимающий узел не является терминатором, то необходимо мо­дель дополнить двумя узлами: завести дополнительный терминатор и указать его номер в качестве параметра pg в функции modbeg; в ветвь перед исследуемым узлом вставить узел creat, который в момент прохождения каждого транзакта по ветви будет генерировать один дополнительный, направляемый в такой дополнительный терминатор, а основной транзакт будет входить в узел, на входе которого проводятся измерения.

Транзактно-управляемый генератор. Функция creat (р1,р2,р3,р4,р5,p6) предназначена для создания нового семейства транзактов. Все транзакты принадлежат какому-либо семейству. Транзакты, выходящие из обычного генератора ag, принадлежат к семейству с номером 0. Узел creat в отличие от ag - это управляемый генератор. Назначение его самое различное. В замкнутых моделях он применяется для схемы зарядки.

Транзактно-управляемый терминатор. Узловой оператор delet(pi,p2,p3,p4»p5,Pe) предназначен для уничтожения группы транзактов семейств, номера которых относятся к диапазону, задаваемо­му параметрами р2 и р3. В отличие от терминатора term он управля­ется специальным транзактом, который называется поглощающим.

Логика функционирования этого узла такова: в узел входит транзакт семейства р4 и находится там до тех пор, пока в него не поступят р5 транзактов семейства р2 <= Number<=p3, которые он должен мгновенно уничтожить (поглотить). Время существования этих транзактов фиксируется в узле delet. Узел получает координаты каждого уничтожаемого транзакта, т.е. он перемещается по координатной сетке. В общем случае номера семейств p1 и р2 могут совпадать с номером р3 (нежелательны).

Клапан на пути транзактов. Функция кеу(р1,р2) описывает прохождение транзакта через некий клапан. Когда клапан закрыт, транзакт не может в него войти из другого узла. Если же клапан открыт, то транзакт проходит через него в узел n без задержки. Среднее время пребывания такого узла в закрытом состоянии подсчитывается автоматически. Для управления этим клапаном или ключом существуют вспомогательные функции hold и rels.

Среднее время задержки - это среднее время пребывания ключа в закрытом состоянии. Число обслуженных транзактов - это число переключений ключа из закрытого состояния в открытое.

Транзактно-управляемый процесс

Специальная суперфункция моделирования транзактно-управляемого непрерывного процесса Proc(p1,p2,p3,p4,p5,p6,p7,p8) объединяет в себе возможности имитации:

  1. обслуживание в узле подобно serv с одним каналом; 2. перемещение узла по общему полю данных на координатной сетке; 3. запуск на время активности функции типа float p2(d) , где d - элементарный интервал активности (float), который определяется сис­темой Pilgrim в процессе моделирования и зависит от параметров р3, p4, p5, p6.

Интервал требуемого обслуживания транзакта может быть меньше времени пребывания транзакта в этом узле, так как процесс может быть переведен в состояние «пассивен» или «активен» каким-либо транзактом из другого узла с помощью функций activ и passiv.

Если процесс пассивен, то обслуживание транзакта приостанав­ливается, а выполнение функции р2 прерывается до тех пор, пока процесс не будет переведен в активное состояние.

Очередь с пространственно-зависимыми приоритетами. Функция dynam(p1,p2) предназначена для моделирования обслужи­вания транзактов в очереди с динамическими пространственно-зависимыми приоритетами. Эта функция моделирует оптимально-управляемую очередь (очередь типа «скорая помощь»), которая на­ходится на входе узла типа ргос.

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