|
математическое моделирование. Т 1 МАТ. Моделирование. Литература по теме 197 Вопрос Узловые операторы. 201 Вопрос Текст программной модели смо. 202 Вопрос Сборка и запуск исполнительного модуля модели. 205
creat
| Управляемый
генератор (размножитель) транзактов
| Позволяет создавать новые семейства транзактов. Транзакты, создаваемые обычными генераторами принадлежат семейству с номером 0 (номер семейства - один из параметров транзакта). Если возникает необходимость создать семейство с ненулевым номером, то соответствующее требование содержится в порождающем транзакте, поступающем на вход creat. Далее за нулевое модельное время:
порождающий транзакт выходит из узла creat; из этого же узла выходит группа новых транзактов, принадлежащих семейству с заданным номером.
|
| delet
| Управляемый терминатор (уничтожитель транзактов)
| Используется при необходимость уничтожить (поглотить) заданное число транзактов, принадлежащих конкретному семейству. Требование на такое действие содержится в уничтожающем транзакте, поступающем на вход узла delet. Этот транзакт ждет поступления в узел N транзактов указанного семейства и уничтожает их; время жизни при этом регистрируется. После поглощения заданного количества транзактов (или по специальному сигналу freed другого узла) уничтожающий транзакт покидает узел
| Ф
| key
| Клапан (ключ)
| Если на клапан воздействовать сигналом hold из какого-либо узла, он закрывается и блокирует транзакты. Если на клапан воздействовать сигналом rels из другого узла, он открывается для прохода транзактов.
Используется для синхронизации или моделирования работы с информационными ресурсами.
| A
| dynam
| Очередь с пространственно- зависимыми приоритетами
| Транзакты, попадающие в такую очередь привязаны к точкам пространства. Очередь обслуживается специальным узлом ргос, работающим в режиме пространственных перемещений. Смысл обслуживания транзактов заключается в том, чтобы посетить все точки пространства, с которыми связаны (или из которых поступили) транзакты. При поступлении каждого нового транзакта, если он не единственный в очереди, происходит переупорядочение очереди таким образом, чтобы суммарный путь посещения точек был минимальным. В отличие от задачи коммивояжера, для решения которой в нулевой момент времени имеется вся информация о точках пространства, информация о новых точках поступает во время движения, когда некоторые точки уже посещены. Алгоритм работы узла dynam носит название алгоритма скорой помощи.
|
| Узел работает в трех взаимоисключающих режимах:
моделирование управляемого непрерывного процесса (например, процесса в химическом реакторе); моделирование доступа к оперативным информационным ресурсам; моделирование пространственных перемещений (например, вертолета или корабля по поверхности Земли).
В первом режиме после входа транзакта в узел запускается непрерывная модель, являющаяся функцией на языке C++, имеющая параметр «время». Такой моделью могут быть математическая формула или разностное уравнение, или другое. Модель синхронизирована с другими узлами имитационной модели. Выполнением (активностью) непрерывной модели можно управлять из других узлов. Сигналpassiv вытесняет транзакт из узла ргос в стек, после чего очередные элементарные интервалы времени перестают поступать в непрерывную модель, а расчет по формуле или интегрированного разностного уравнения прекращается.
Сигнал activ возвращает транзакт в узел и восстанавливает расчет по непрерывной модели.
После выхода транзакта из узла выполнение непрерывной модели прекращается.
Чистое время пребывания транзакта без учета вытеснения его в стек - это и время обслуживания транзакта, и время выполнения непрерывной модели.
send Счет бухгалтерского учета («проводка») Второй режим отличается от первого тем, что непрерывные процессы в узле не моделируются, так как они не нужны для моделирования доступа к информационным ресурсам. В третьем режиме обслуживание каждого нового транзакта заключается в имитации перемещения узла ргос в новую точку пространства, координаты которой - параметры транзакта. Перемещение осуществляется с заданной скоростью.
Транзакт, который входит в такой узел, является запросом на перечисление денег со счета на счет или на бухгалтерскую проводку.
Управляемый процесс {непрерывный или пространственный) Правильность работы со счетами регулируется специальным узлом direct, который имитирует работу бухгалтерии, Транзакт, вошедший в узел send, далее может перейти только в узел direct. Если в узле send остаток денег достаточен, чтобы выполнить перевод на другой счет (в другой узел send), то узел direct выполняет перечисление и выпускает обслуженный транзакт. В противном случае в узле send возникает дефицит средств и очередь не обслуженных транзактов. direct
| Распорядитель финансов («главный бухгалтер»)
| Управляет работой узлов типа send.
Для правильной работы модели достаточно одного узла direct; он обслужит все счета без нарушения логики модели. Однако не будет ошибкой, если счет send будет обслуживаться отдельным бухгалтером. Поэтому, чтобы разделить статистику по разным участкам моделируемой бухгалтерии, можно использовать несколько узлов direct.
Если при обслуживании какого-либо счета возникает дефицит ресурсов, то в этом случае возможны дисциплины обслуживания:
в хронологическом порядке поступления транзактов, по статическим приоритетам, по динамическим приоритетам (чем меньшую сумму нужно перечислить, тем приоритетнее транзакт).
| A
|
| attach
| Склад перемещаемых ресурсов
| Хранилище какого-то количества однотипного ресурса (например, гаражное хозяйство, имеющее 25 грузовиков). Единицы ресурсов в нужном количестве выделяются транзактам, поступающим в узел attach, если остаток (количество единиц, имеющихся в наличии)позволяет выполнить такое обслуживание. В противном случае возникает очередь не обслуженных транзактов и соответственно дефицит ресурса. Транзакты, получившие ресурсы, вместе с ними перемещаются по графу модели и возвращают их по мере возможности и необходимости разными способами:
все единицы вместе, небольшими партиями, поштучно.
На один и тот же склад транзакт может обращаться несколько раз, не возвращая ранее полученные с этого склада ресурсы. Корректность работы склада обеспечивает менеджер - узел manage.
|
| s
|
| manage
| Менеджер (распорядитель ресурсов)
| Управляет работой узлов типа attach. Для правильной работы модели достаточно иметь один узел-менеджер; он обслужит все склады без нарушения логики модели. Однако не будет ошибкой, если склад будет обслуживаться отдельным менеджером. Поэтому, чтобы разделить статистику по разным складам перемещаемых ресурсов, можно использовать несколько узлов- менеджеров.
Если при обслуживании какого-либо склада возникает дефицит ресурсов, то в этом случае возможны те же дисциплины обслуживания, которые использовались в узле direct.
| A
| |
|
|