Иерархические модели процессов функционирования систем


Моделирование систем с использованием типовых математических схем

 

Блочная конструкция модели. Рассмотрим машинную модель Мм системы S как совокупность блоков {mi}, i=. Каждый блок модели можно охарактеризовать конечным набором возможных состояний {z0}, в которых он может находиться. Пусть в течение рассматриваемого интервала времени (0, Т), т.е. времени прогона модели, блок изменяет состояния в моменты времени ti(j)£T, где j – номер момента времени. Вообще моменты времени смены состояний блока mi можно условно разделить на три группы:

1) случайные моменты, связанные с внутренними свойствами части системы S, соответствующей данному блоку;

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

3) детерминированные моменты, связанные с заданным расписанием функционирования блоков модели.

Моментами смены состояний модели Мм в целом t(k)£T будем считать все моменты изменения состояний блоков {mi}, т.е. {ti(j)}Î{tk}, i=. Пример для модели с тремя блоками m1, m2, m3 показан на рис.8.1.

При этом моменты ti(j) и tk являются моментами системного времени, т.е. времени, в котором функционирует моделируемая система S, а не моментами машинного времени. Мгновенные изменения состояний модели во время дискретного события (особого состояния) возможны только при моделировании в системном времени.

При моделировании для каждого блока модели mi, i=, необходимо фиксировать момент очередного перехода блока в новое состояние ti(j) и номер этого состояния si, образующие при этом массив состояний. Этот массив отражает динамику функционирования модели системы, так как в нем фиксируются все изменения в процессе функционирования моделируемой системы S по времени. В начале моделирования в массив состояний должны быть занесены исходные состояния, заданные начальными условиями.

 

S

 

Рис. 8.1. Смена состояний модели для случая трех блоков

 

При машинной реализации модели Мм ее блоки, имеющие аналогичные функции, могут быть представлены в виде идеальных программных модулей. Работа каждого такого модуля имитирует работу всех однотипных блоков. В общем случае при числе блоков модели n можно получить набор машинных модулей i£n. Таким образом, каждому блоку или элементу модели будет соответствовать некоторый модуль или «стандартная подпрограмма», число которых не будет превосходить числа блоков модели.

Моделирующий алгоритм. Типовая укрупненная схема моделирующего алгоритма, построенного по блочному принципу, для систем с дискретными событиями приведена на рис. 8.2.

 
 

 

 


Рис.8.2. Типовая укрупненная схема моделирующего алгоритма

 

Эта схема содержит следующие укрупненные модули: А – модуль задания начальных значений состояний, содержащий два подмодуля (А1 – для задания начальных состояний моделируемого варианта и А2 – для задания начальных состояний для одного прогона модели); В – модуль определения алгоритма очередного момента смены состояния, осуществляющий просмотр массива состояний и выбирающий блок модели mi, i=, с минимальным временем смены состояния min ti(j); С – модуль логического переключения, содержащий три подмодуля (С1 – для логического перехода по номеру блока модели i или по времени Т, т.е. для решения вопроса о завершении прогона; С2 – для фиксации информации о состояниях, меняющихся при просмотре блока, а также для определения момента следующей смены состояния блока mi и номера следующего особого состояния s0; С3 – для завершения прогона в случае, когда ti(j)³T, фиксации и предварительной обработки результатов моделирования); D – модуль управления и обработки, содержащий два подмодуля (D1 – для проверки окончания исследования варианта модели Мм по заданному числу прогонов или по точности результатов моделирования; D2 – для окончательной обработки информации, полученной на модели Мм, и выдачи результатов моделирования).

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

Пример 8.1. Рассмотрим модульный принцип реализации модели S, формализованной в виде Q-схемы. Пусть имеется LФ- фазная многоканальная Q-схема без потерь с LИ входными потоками заявок. В каждой фазе имеется Ljk, j=, каналов обслуживания. Определить распределения времени ожидания заявок в каждой фазе и времени простоя каждого обслуживающего канала.

В качестве блоков модели Мм будем рассматривать: mИ – блоки источников заявок, имитирующие LИ входных потоков; mК – блоки каналов обслуживания, имитирующие функционирование каналов; mB – блок взаимодействия, отражающий взаимосвязь всех блоков машинной модели Мм. При этом в массиве состояний будем фиксировать моменты поступления заявок, освобождения каналов и окончания моделирования, т.е. количество элементов этого массива будет равно LИ+Ljk+1.

Схема моделирующего алгоритма для данного примера приведена
на рис. 8.3. Как видно из схемы, в подмодуле С2 предусмотрены три вида процедур: , , . Первая процедура работает при поступлении заявки из любого входного потока, вторая процедура работает в момент освобождения канала любой фазы обслуживания, кроме последней, третья процедура работает при освобождении канала последней фазы, т.е. при окончании обслуживания заявки Q-схемой.

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

 

 
 

 

 


Рис. 8.3. Схема моделирующего алгоритма многофазной многоканальной
Q-схемы

Оператор служит для определения j-й фазы и k-го канала,
j = , k = . Оператор проверяет наличие очереди заявок на выбранной j-й фазе. При отсутствии очереди управление передается оператору , а при ее наличии – оператору . Оператор засылает момент освобождения канала в массив очереди каналов j-й фазы, уменьшает длину очереди на единицу и фиксирует время ожидания выбранной заявки сначала ее обслуживания. Далее определяется длительность обслуживания этой заявки освободившимся каналом, вычисляется и засылается в массив состояний новый момент освобождения канала. Операторы , и выполняют те же действия с заявкой, обслуживаемой на j-й фазе, что и оператор , и с заявкой, которая поступила в первую фазу Q-схемы.

Оператор настраивает операторы этой процедуры , и на избранный канал обслуживания последней, LФ-й фазы. Работа операторов , и аналогична работе операторов , и .

Назначение остальных подмодулей алгоритма не отличается от рассмотренного ранее для моделирующего алгоритма, приведенного
на рис. 8.2.

 

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