Классификация имитационных моделей

      Комментарии к записи Классификация имитационных моделей отключены

Имитационные модели принято классифицировать по четырем наиболее распространенным признакам:

  • типу используемой ЭВМ;
  • способу взаимодействия с пользователем;
  • способу управления системным временем (механизму системного времени);
  • способу организации квазипараллелизма (схеме формализации моделируемой системы).

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

По типу используемой ЭВМ различают аналоговые, цифровые и гибридные имитационные модели. Достоинства и недостатки моделей каждого класса общеизвестны [27]. В дальнейшем будем рассматривать только цифровые модели.

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

Различают два механизма системного времени:

  • задание времени с помощью постоянных временных интервалов (шагов);
  • задание времени с помощью переменных временных интервалов (моделирование по особым состояниям).

<p>При реализации первого механизма системное время сдвигается на один и тот же интервал (шаг моделирования) независимо от того, какие события должны наступать в системе. При этом наступление всех событий, имевших место на очередном шаге, относят к его окончанию. Рис. 9.2, а содержит иллюстрацию данного механизма. Так, для этого механизма считают, что событие А1 наступило в момент окончания первого шага; событие А2— в момент окончания второго шага; события А3, А4, А5 — в момент окончания четвертого шага (эти моменты показаны стрелками) и т.д.

При моделировании по особым состояниям системное время каждый раз изменяется на величину, соответствующую интервалу времени до планируемого момента наступления следующего события, т. е. события обрабатываются поочередно — каждое «в свое время». Если в реальной системе какие-либо события наступают одновременно, это фиксируется в модели. Для реализации этого механизма требуется специальная процедура, в которой отслеживаются времена наступления всех событий и из них выделяется ближайшее по времени. Такую процедуру называют календарем событий (см. подразд. 9.3). На рис. 9.2, б стрелками обозначены моменты изменения системного времени.

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

На рис. 9.3 приведены перечисленные способы управления системным временем.

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

Метод фиксированного шага целесообразно применять в следующих случаях:

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

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

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

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

Наибольшее распространение получили пять способов: просмотр активностей; составление расписания событий; управление обслуживанием транзактов; управление агрегатами; синхронизация процессов.

Характеристика этих способов требует введения ряда понятий [53].

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

Работа (активность) представляется в модели набором операторов, выполняемых в течение некоторого времени и приводящих к изменению состояний объектов системы. В рамках конкретной модели любая работа рассматривается как единый дискретный шаг (возможно, состоящий из других работ). Каждая работа характеризуется временем выполнения и потребляемыми ресурсами.

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

Под процессом понимают логически связанный набор активностей, относящихся к одному объекту. Выполнение таких активностей называют фазой процесса. Различие между понятиями «активность» и «процесс» полностью определяется степенью детализации модели. Например, смена позиций мобильным объектом в одних моделях может рассматриваться как сложный процесс, а в других — как работа по изменению за некоторое время номера позиции. Процессы, включающие одни и те же типы работ и событий, относят к одному классу. Таким образом, моделируемую систему можно представить соответствующим числом классов процессов. Между двумя последовательными фазами (работами) некоторого процесса может иметь место любое число фаз других процессов, а их чередование в модели, собственно, и выражает суть квазипараллелизма.

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

В некоторых реальных системах ФД отдельных компонентов тесно взаимодействуют друг с другом. Компоненты обмениваются между собой сигналами, причем выходной сигнал одного компонента может поступать на вход другой, а сами ФД можно в явном виде описать математическими зависимостями. Если появление выходного сигнала таким образом определяется соответствующим набором «входов», можно реализовать так называемый модульный принцип построения модели. Каждый из модулей строится по стандартной (унифицированной, типовой) структуре и называется агрегатом. С помощью агрегатов (на базе одной из типовых математических схем описания объектов) можно решать весьма широкий круг задач [54].

Вернемся к характеристике способов организации квазипараллелизма.

Способ просмотра активностей применяется при следующих условиях [54]:

  • все ФД компонента реальной системы различны, причем для выполнения каждого из них требуется выполнение некоторых (своих) условий;
  • условия выполнимости известны исследователю заранее и могут быть заданы алгоритмически;
  • в результате ФД в системе наступают различные события;
  • связи между ФД отсутствуют, и они осуществляются независимо друг от друга.

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

Проверка выполнимости условия инициализации работы основана либо на анализе значений параметров и/или переменных модели, либо вычислении моментов времени, когда должно осуществляться данное ФД.

После выполнения каждой активности производится модификация системного времени для данного компонента и управление передается в специальный управляющий модуль, что и составляет суть имитации для этого способа организации квазипараллелизма.

Составление расписания событий применяется в тех случаях, когда реальные процессы характеризуются рядом достаточно строгих ограничений [54]:

  • различные компоненты выполняют одни и те же ФД;
  • начало выполнения этих ФД определяются одними и теми же условиями, причем они известны исследователю и заданы алгоритмически;
  • в результате ФД происходят одинаковые события независимо друг от друга;
  • связи между ФД отсутствуют, а каждое ФД выполняется независимо.

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

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

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

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

Процессный способ организации квазипараллелизма применяется в следующих случаях [54]:

  • все ФД компонентов реальной системы различны;
  • условия инициализации ФД также различны;
  • в любой момент времени в данном компоненте может выполняться только одно ФД;
  • последовательность ФД в каждом компоненте определена.

Принято считать, что процессный подход объединяет лучшие черты других способов: краткость описания активностей и эффективность событийного представления имитации. Процессным способом можно организовать имитацию ЭИС любой сложности, но такой способ особенно эффективен в тех случаях, когда требуется высокий уровень детализации выполнения ФД, а сама имитационная модель используется для поиска «узких» мест в работе системы. При таком подходе особо важно соблюдение сходства структуры модели и объекта исследования. Имитационная модель представляет собой набор описаний процессов, каждое из которых описывает один класс процессов, и информационных и управляющих связей между компонентами модели. Каждому компоненту объекта моделирования соответствует свой процесс. Переход от выполнения одной активности к другой активности того же процесса считают изменением его состояния и называют активизацией процесса. Проверка выполнимости условий активизации процесса и появление событий осуществляются самим процессом. Процессный способ широко применяется в задачах моделирования проектируемых систем. Он позволяет реализовать многоуровневый модульный подход к моделированию, предусматривающий внесение в модель частичных изменений по результатам исследований, причем значение этого обстоятельства возрастает по мере роста размеров модели [54].

На рис. 9.4 представлена классификация способов организации квазипараллелизма.

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

Статьи к прочтению:

Вебинар: \


Похожие статьи: