Автор: Пользователь скрыл имя, 06 Февраля 2013 в 21:57, научная работа
Имитационное моделирование (ИМ) является признанным методом экспериментального исследования в области анализа процессов обработки информации. Часто задачи исследования, относящиеся к области информационных процессов, достаточно просто сформулированы, но без использования средств, типичных для систем ИМ, их решения программными методами затруднено.
Глава 6
______________________________
______________________________
Имитационное моделирование (ИМ) является признанным методом экспериментального исследования в области анализа процессов обработки информации. Часто задачи исследования, относящиеся к области информационных процессов, достаточно просто сформулированы, но без использования средств, типичных для систем ИМ, их решения программными методами затруднено.
В настоящее время в мире известно более 500 различных программных систем для построения имитационных моделей. Такое разнообразие систем позволяет выбирать подходящие средства практически для любых приложений. Тем не менее, большое количество моделей пишется на языках программирования высокого уровня Паскаль, С++ или Фортран. Это показывает, что не все проблемные задачи укладываются в рамки имеющихся систем моделирования, что часто более удобным бывает использование привычного языка программирования для решения задач с применением известных математических библиотек и в удобной системной среде; а так же применение новых программных систем накладывает более высокие требования на аппаратную часть (в частности, к объему памяти ПК, времени обработки).
Недостатком использования языков высокого уровня для моделирования является исключительно высокая трудоемкость составления имитационных моделей. Чтобы упростить этот процесс, необходимо использовать некоторую методологию представления моделей, поддерживаемую набором реализуемых ее структур. Совокупность методологии и моделирующих процедур можно рассматривать как некоторую систему, в данном случае – систему моделирования.
Существует два различных
Конкретизируем принятие события для данной задачи построения модели.
Событием будем называть последовательность логически связанных действий, происходящих в некоторый фиксированный момент модельного времени. Появление события связано с изменением состояния модельной среды.
Событийный подход основан на формировании потока событий (рис.6.1). Такой поток образует сгруппированные последовательности действий
Группы событий, последовательно происходящих в один и тот же момент времени, условно заключены скобки. События образуют первую группу, события – вторую, а – группу . Обозначим , модельное время осуществления событий. Тогда для последовательности времени справедливо
Если выполняемые внутри группы действия, связанные с одиночным событием, назвать процессом, то можно сказать, что часть процессов, определенных в группе, выполняются квазипараллельно. Собственно события являются элементами, с которыми оперирует управляющий алгоритм системы моделирования. С одной стороны, появление событий связано с изменением в модельной среде. С другой, исполнение действий, связанных с событием, приводит к изменениям модельной среды.
Цикл моделирования
Рис. 6.1. Событийный подход
Действия, связанные с каждым событием, должны быть описаны в модели, а также должны быть составлены условия возникновения события.
Таким образом, в результате выполнения потока событий изменяется среда моделирования, это приводит к возникновению новых условий, новые условия приводят к выполнению новых событий. Моделирование развивается по такой схеме сколь угодно долго.
Процессо – ориентированный подход (ПрОП) реализуется на языках, которые имеют в своем составе блоки или операторы, позволяющие описать процесс продвижения компонентов через систему. В моделях, использующих подобную схему, описываются не события и условия их возникновения, а процесс развивающийся в ней.
К достоинствам ПрО представления
моделей следует отнести
Событийные модели обладают гибкостью, но они уступают ПрО системе в простоте и наглядности составления моделей.
В системе моделирования можно использовать как ПрОП (благодаря большому количеству поддерживающих процедур), так и событийный (благодаря использованию управляющих алгоритмов).
Построение моделей
Фактически дискретная событийная модель состоит их трех частей:
Для представления событийной части существует много различных способов. В рассматриваемой системе моделирования выбрана форма записи моделей. Таким образом, в ней сочетаются два подхода: событийное описание моделей и процессно–ориентированная форма записи ,что повышает наглядность представления моделей и сохраняет возможность описания сложных событий.
В системе моделирования
Программист реализует логику их взаимодействия, используя определенные в системе и (если это необходимо) составленные самостоятельно процедуры, ориентированные на использование объектов. Классифицируем объекты системы моделирования.
Объекты системы моделирования по времени существования в модели и способу создания делятся на статические и динамические. Статические объекты представляются системными переменными, постоянно размещенными в оперативной памяти. Например, переменная действительного типа, значение которой задает модельное время. Динамические объекты создаются по мере необходимости. На время их существования для них выделяется место в свободной области оперативной памяти. Уничтожение такого объекта приводит к освобождению занимаемой памяти. Следовательно, уничтожение и создание динамических объектов дают принципиальную возможность моделирования систем с большим числом объектов, чем при статическом размещении.
Перемещаемые и неподвижные. Перемещение объектов вызывает осуществление событий в системе и изменение системного времени.
Скалярные и множественные. Скалярные объекты характеризуются одним единственным значением. Множественные объекты – набором значений.
Одиночные и групповые. Групповые объекты объединяются в совокупности по некоторому признаку. Основная форма существования групповых объектов – списки. В списки связывают объекты различных типов. Чаще всего действия над списками осуществляются автоматически. Другим типом групповых объектов являются ансамбли. Они могут обладать целым набором групповых свойств, допускающих одновременное их изменение для всех членов ансамбля.
Транзакт (или компонент в языке СЛАМ II) – абстрактный динамический объект, характеризующийся рядом свойств, задаваемых значениями параметров, обозначающий «подвижный активный объект». [3,9,10] Транзакт как абстрактный элемент системы моделирования может служить для представления самых различных сущностей, например, может представлять собой деталь, обрабатываемую на поточной линии, прибывающий в аэропорт самолет или электрический импульс, включающий исполнительное устройство. Иными словами, транзакт может представлять собой любой элемент однородного потока объектов в реальной системе. Как перемещаемые объекты транзакты могут задерживаться, группироваться, изменять свои свойства или свойства окружающей их модельной среды, порождать свои копии и уничтожаться. Как множественный объект транзакт характеризуется набором значений и для их определения описывается тип, представляющий собой запись, содержащую определенные поля.
Прибор – динамический объект, предназначенный для моделирования обслуживания. Приборы используются транзактами. В любой момент времени прибор может обслуживать не более одного транзакта . Если прибор занят, то транзакт может ожидать входа в прибор. Пустой прибор может быть занят транзактом. После завершения обслуживания транзакт освобождает прибор. Транзакт высокого приоритета может захватить прибор, вытеснить из него обслуживаемый транзакт. По прибору собирается соответствующая статистика. Прибор определяется абстрактным типом.
Очередь – динамический объект, предназначенный для регистрации продвижения транзактов на определенных участках модели, для сбора и обработки соответствующей статистики. Для обслуживания очередей обычно создаются следующие процедуры: создания очереди, занятия очереди, выхода из очереди, уничтожение очереди.
Накопитель (многоканальное устройство) – динамический объект, предназначенный для моделирования устройства обслуживания, обеспечивающего доступ к нескольким единицам ресурса. Число максимально допустисых единиц ресурса называется емкостью накопителя.
Транзакт может претендовать на
использование некоторой
Гистограммы – используются для сбора и накопления статистической информации о любых скалярных вещественных или целых переменных. Использование гистограмм, полученных в результате моделирования выборки позволяет получить данные о числе наблюдений испытываемой величины, о числе попаданий наблюдаемого значения в заданные интервалы и другую информацию, используемую для подсчета математического ожидания и дисперсии, а также для вывода гистограммы в графическом виде и т.п.
Таблицы – удобное средство определения таблицы распределений вероятностей; поля переменных типизированы. Табличное распределение случайных чисел разделены на две процедуры для моделирования непрерывных и дискретных распределений случайных величин.
Списковые структуры или списки используются для объединения объектов системы моделирования в группы и создания динамической (изменяемой во времени) модельной среды. Параметры списка позволяют собирать статистические данные об использовании списков "их поведения" за время моделирования. Чаще всего необходимо создавать список транзактов, список приборов, очередей, накопителей, гистограмм, список созданных списков.
Константы – скалярные объекты. При создании системы моделирования чаще всего константами описывают:
Остальные типы переменных являются частными для конкретных систем моделирования.
6.3.4. Системные переменные
Системные переменные – переменные при помощи которых осуществляется управление моделированием и отслеживается состояние модели. Большинство системных переменных изменяется автоматически, произвольное присваивание им значений могут нежелательно повлиять на ход моделирования.
Системное время – независимая переменная величина, относительно которой синхронизируются все события в модели.
Время последнего сброса статистики – для отчета относительного времени на очередном шаге модельного эксперимента.
Текущее событие – событие, связанное с перемещением активного транзакта.
Число доступных транзактов.
Активный транзакт – транзакт, продвигающийся по модели в данный момент времени.
Основные списки транзактов.
7.Списки задержанных
Служебные переменные – признаки совершения событий; счетчики выполнения событий; переменные – источники генераторов случайных чисел, общее число совершившихся событий; основной выходной файл.
Для определения транзактов и СИМПАС определен тип TRANSAKT, представляющие собственную запись, содержащую следующие поля
TRANSACT=RECORD
PB: ARRAY [1…MPTB] of BOOLEAN |
P |
– булевские параметры; |
PI: ARRAY [1…MPTB] of INTEGER |
P |
– целые параметры; |
PR: ARRAY [1…MPTB] of REAL |
P |
– вещественные параметры; |
PF: ARRAY [1…MPTB] of PFACILITY |
P |
– ссылки на приборы; |
PQ: ARRAY [1…MPTB] of PQUEUE |
P |
– ссылки на очереди; |
PS: ARRAY [1…MPTB] of PSTORAGE |
P |
– ссылки на накопители; |
PRTY: PRTYRANGE |
P |
– приоритет; |
TESTPRTY: BOOLEAN |
P |
– ключ приоритета; |
ANS: INTEGER |
S |
– номер ансамбля; |
INTEGER |
S |
– число членов ансамбля; |
INTEGER |
S |
– номер транзакта; |
PREDANS: PTRANSACT |
S |
– ссылки на предыдующий транзакт в ансамбле; |
SLEDANS: PTRANSACT |
S |
– ссылки на следующий транзакт в ансамбле; |
PRED: PTRANSACT |
S |
– ссылки на предыдущий транзакт в списке; |
SLED: PTRANSACT |
S |
– ссылки на следующий транзакт в списке; |
EVE: EVENT |
S |
– событие инициализации; |
NEXTTIME |
S |
– время активизации; |
TRANSLIST: PLIST |
S |
– ссылка на занимаемый список. |
Информация о работе Обзор программных средств имитационного моделирования