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

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

При этом следует заметить, что в объектах, а значит и в моделях между отдельными компонентами К i могут быть алгоритмические и функциональные связи. Тем не менее, процесс объединяет связанные между собой активности, которые определяются функционированием одной компоненты модели. Переход от выполнения одной активности к другой активности одного и того же процесса считается изменением и такое изменение принято называть активизацией процесса. Обычно под состоянием процесса понимается номер j - й активности, которая входит в состав i -го процесса, и на которую УПМ передает управление при совершении события Сi j . Следовательно, изменение состояния реальной системы соответствует изменениям состояния процессов, а значит и появления события. Вся имитационная модель представляет собой набор процессов, реализованных на соответствующем языке моделирования. Процессы, связанные с УПМ с помощью некоторых операторов этого языка, по которым осуществляется обращение к УПМ при завершении активности данного процесса. В качестве базового языка используется язык PLS/M.

clip_image002

Для простоты изложения будем считать, что все взаимодействия между активностями входят только в соответствующие процессы и все активности АК i j обращаются к УПМ с помощью операторов синхронизации ti j. Каждое такое ti j означает, что данному i - му процессу по окончании выполнения алгоритмов АЛ i j активности AK i j назначается следующий момент активизации t i j. Например, окончание алгоритма АЛ 11 заканчивается оператором синхронизации t11 и будущая активизация осуществляется для активности АК12 в соответствии со временем t12. Началу выполнения алгоритма АЛ i j процессов соответствует адрес а i j . УПМ работает с массивом и таблицей состояний (МС и ТС), в которых указывается пара значений {i, t i j}, где i - номер процесса, а t i j - момент j-й активизации будущего события С i j. Для выбора процессов активизации в соответствующий момент времени t 0 УПМ использует таблицу ТС. Строками этой таблицы являются списки параметров процессов. Так, i - му процессу соответствует строка, в которой указываются параметры:

1. Адрес аi j .

2. Время t ндi ожидания, т.е. это время, которое осталось i-му процессу находится в состоянии, когда этот процесс был остановлен другим процессом.

3. p i - приоритет для соответствующего процесса.

Все элементы МС расположены по возрастанию t i j . Если несколько элементов имеют одинаковое t i j , то такой момент принято называть конфликтом и учет таких конфликтных ситуаций осуществляется УПМ с помощью списка JJ. В этом списке указываются номера всех процессов, которые необходимо активизировать в конфликтных ситуациях, т.е. при одном модельном времени запись и выбор из списка JJ УПМ осуществляет по приоритету p i. Обслуживание УПМ из JJ состоит в выполнении алгоритма АЛ i j и появления в нем оператора синхронизации ti j . В данной структуре имитационная модель включает в себя три компоненты: К1, К2, К3, которые соответствуют трем процессам. Пусть t 0 будет соответствовать моменту m 0 и список JJ будет пуст. Тогда этим трем процессам будут назначены соответствующие моменты очередной активизации, которые будут записаны в массив состояний (МС). Последующая итерационная процедура будет включать в себя следующие шаги:

1. Так как список JJ пуст, то осуществляется процедура смены модельного времени t 0 , которое представляет собой выбор из массива состояний (МС) минимального времени: t 0 = min (t 0 + t i j ).

2. Формируется список JJ опять же с помощью массива состояний и таблицы состояний (МС и ТС).

3. Выбирается первый элемент из списка JJ, который необходимо активизировать в данное модельное время. По ТС выбирается адрес а i j и управление от УПМ передается на соответствующую активность, т.е. обращается к соответствующему алгоритму данной активности. По окончании обработки данного алгоритма появляется оператор синхронизации t i j , с помощью которого управление передается опять на УПМ . Далее УПМ выполняет следующие операции:

а) формирует новый элемент МС, вводит его в массив и располагает его в соответствии с расчетом t i j = t 0 + ti j ,

б) производит модификацию текущего состояния процесса, изменяет адрес для очередной активизации (а i j ) и заносит в ТС.

4. Этот шаг связан с проверкой списка JJ и, если, этот список не пуст, то управление передается ко второму шагу, в противном случае осуществляется переход к пятому шагу.

5. Проверяется алгоритм на окончание моделирования и, если модельное время окончания не достигнуто, то передается управление к первому шагу.

Выводы: имитационное моделирование основано на пяти базовых направлениях построения квазипараллелизма:

1) с помощью активностей,

2) с помощью событий,

3) транзактный способ,

4) агрегатный способ,

5) процессный способ.

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

Предлагаю ознакомиться с аналогичными статьями: