Дискретно-событийное имитационное моделирование

При моделировании потоковых процессов широко используются различные концепции структуризации (потоковые диаграммы, сети Петри, сети очередей и др.), однако наиболее предпочтительной является блочная концепция структуризации.

Блочная концепция структуризации, наиболее полно отвечающая принципам объектно-ориентированного моделирования (ООМ), предполагает описание моделируемого процесса в виде комбинации блоков, выбираемых из некоторого зафиксированного, но, как правило, расширяемого набора.

В лабораторной работе в качестве инструментария моделирования сложных дискретных систем и процессов используется пакет Visual Modeling, который основывается на дискретно-событийном принципе, поддерживает технологию ООМ и имеет средства проблемной ориентации.

В лабораторном варианте системы Visual Modeling для построения имитационных моделей количество типовых блоков (элементов), выбрано минимальным, но достаточным для составления моделей сложных систем различной архитектуры и наиболее типичных классов процессов.

Блоки собираются в библиотеки универсальных и проблемно-ориентированных модулей и представляют собой различные звенья и функции. Так, например, блоки для моделирования ТП обеспечивают имитацию выполнения различных производственных операций и задач управления. Связи между блоками представляют собой материальные и информационные потоки.

Динамические процессы в сложных системах существуют в виде взаимодействия ряда составляющих, которыми являются заявки, устройства, очереди, события. От блока модели к блоку перемещаются заявки (требования). Они могут поступать от разных источников и имитируют материальные (материалы, детали, агрегаты, транспорт и т.д.) и информационные потоки (запросы, требования, документы, пакеты и т.д.) в системе. Заявки проходят через блоки ИМ и обрабатываются ими, накапливая статистические характеристики в каждой точке моделируемого процесса.

Каждый тип заявок характеризуется внутренней структурой, которая описывает общие и уникальные свойства. Кроме того, учитывая разнородность потоков заявок, необходимо описывать правила их обслуживания (поведения) элементами модели. Для формирования входных потоков заявок в системе выделяется элемент, который называется генератором заявок(ГЗ).

Устройства осуществляют обслуживание заявок и предназначены для ограничения исполняемых операций на основе объема и состава наличного оборудования и различного рода ресурсов. Соответственно устройства характеризуются активным (занятым) и пассивным (свободным) состоянием. Имитация активности, чаще всего, осуществляется путем некоторой временной задержки.

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

Заявки вызывают наступление событий, выражающих действия, реализация которых управляет состояниями системы. Состояния задаются в виде сложных условий. Наступление событий (реализация действий) происходит во времени и лишь при достижении определенных состояний (при наличии определенных условий). Таким образом, условия отражают взаимосвязь событий.

Заявка, попадающая в блок модели, в общем случае, проходит три фазы: планирование, активность, завершение активности.

В течение фазы планирования проверяется готовность блока к выполнению своей задачи, наличие всех необходимых входных условий (правила синхронизации, приоритетности и т.д.) и доступность используемых исполнителей и ресурсов (устройств). Если все условия выполнены, блок переходит в фазу активности (основные действия, определяемые назначением блока). Во время фазы завершения активности над заявками выполняются “выходные” операции, освобождаются задействованные ресурсы, проверяются условия синхронизации по выходу, принимаются решения о дальнейшем направлении моделирования.

Основным преимуществом такого подхода является то, что сформированная модель, по сути, и есть исполняемая программа, промежуточные фазы генерации кода и компиляции для ее использования не требуются. В свою очередь требования к мобильности и адаптации программных средств приводят к необходимости построения моделирующей программы способом, аналогичным способу построения модели, т.е. выделяется набор типовых программных модулей. Моделирующая программа (макет) состоит из модулей, каждый из которых отражает отдельный элемент динамики поведения системы (например, включение, выключение отдельных модулей, постановка в очередь (накопитель), имитация занятости отдельных устройств). Взаимодействуя между собой, эти модули создают картину поведения СС в пространстве состояний и событий. Эта картина отражает основные моменты функционирования СС. Изменение ряда внешних и внутренних факторов приводит к смене траекторий состояний и событий.

Время в событийной ИМ изменяется скачком при переходе от текущего события к последующему (рис. 2.1).

Рис. 2.1. Механизм планирования и реализации событий

Таким образом, внутренний механизм системы имитационного моделирования (СИМ) основывается на дискретно-событийном принципе, который заключается в следующем. На каждом шаге моделирования обрабатывается одно событие из упорядоченного по времени списка будущих событий. В начале моделирования список будущих событий содержит только начальное событие (время ) и конечное событие (время равное времени моделирования). В дальнейшем выполнение одного события вызывает планирование одного или нескольких последующих событий.

Реализация событий во времени напоминает цепную реакцию. Каждое событие выполняется мгновенно во времени, модельное время затрачивается только на переход от события к событию. При выборке события значение переменной модельного времени становится равным значению времени из списка. После выполнения действий, связанных с текущим событием, механизм управления осуществляет переход на следующее событие и т.д. Процесс продолжается до тех пор, пока из списка не будет выбрано конечное событие , которое вызовет окончание работы СИМ.

Событийное моделирование обладает наибольшей гибкостью для описания сложных многоуровневых моделей СС.

На рис. 2.2 приведена структура системы моделирования, в состав которой входят компоненты типичные для систем дискретно-событийного типа, а именно: список будущих событий, список устройств, список очередей, генераторы заявок, монитор, отслеживающий события.

Рис. 2.2. Укрупненная структура системы моделирования