Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 5 Моделирование СМО.Документ Microsoft W...doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

5.2.3 Особенности имитации процесса функционирования систем

Математическое обеспечение и возможности современных ЭВМ позволяют достаточно эффективно провести моделирование различных си­стем, формализуемых в виде Q-схем, используя либо пакеты при­кладных программ, созданные на базе алгоритмических языков общего назначения, либо специализированные языки имитацион­ного моделирования. Но прежде чем применять эти средства авто­матизации моделирования, необходимо глубже вникнуть в суть процесса построения и реализации моделирующих алгоритмов [2].

Рисунок 5.11 - Пример Q-схемы общего вида

При моделировании СМО технология машинной ими­тации процесса функционирования ее зависит от структуры схемы, особенностей построения

моделирующего алгоритма и принятого принципа изменения модельного времени. Структура конкретной СМО общего вида (рис. 5.11) представляет собой трехфазную Q-схему (Lф =3) с блокировкой каналов по вы­ходу в 1-й и 2-й фазах обслужи­вания (пунктирные линии на рисунке). Выходящими потоками такой Q-схемы являются: поток потерянных заявок из H1 и поток обслуженных заявок из К3,1, (N1 и N3 на рис. 5.11).

Для имитационной модели данной Q-схемы можно записать следу­ющие переменные и уравнения:

зависимая переменная Р - вероятность потери заявок;

независимые переменные: tm — время появления очередной заявки из И; - время окончания обслуживания j - м каналом k –той фазы, k=l, 2, 3; j=1, 2;

вспомогательные переменные: zi и zk, j - состояния Hi и Kk,j, i=1, 2; k=l, 2, 3; j=1, 2;

параметры: Li- емкость i-ro Нi; —число каналов в к-й фазе;

переменные состояния: N1 — число потерянных заявок в H1; N3 — число обслуженных заявок, т. е. вышедших из 3-й фазы;

уравнение модели:

.

При имитации процесса функционирования Q-схемы на ЭВМ требуется организовать массив состояний. В этом массиве должны быть выделены:

подмассив каналов К для запоминания текущих значений состояний соответствующих каналов и времени окончания обслужива­ния очередной заявки ;

подмассив накопителей Н для записи текущих значений состояний zi соответствующих накопителей Нi, i=l, 2;

подмассив источников И, в который записывается время поступления очередной заявки tm из источника.

Процедура моделирования процесса обслуживания каждым эле­ментарным каналом сводится к следующему.

Путем обращения к генератору случайных чисел с законом распределения, соответст­вующим обслуживанию данных, определяется длительность обслуживания и вычисляется время окончания обслуживания tk,j, а затем фиксируется состояние ; при освобождении канала состояние ; в случае блокировки канала записывается . При поступ­лении заявки в Нi к его содержимому добавляется единица, т. е. , а при уходе заявки из Нi, на обслуживание вычитается единица, т. е. , i=1, 2.

5.2.4 Моделирующие алгоритмы процессов функционирования системы

Детерминированный моделирующий алгоритм. Укрупненная схема моделирующего алгоритма (МА) с постоянным шагом соответствующего системе, изображенной на рис.5.11, приведена на рис. 5.12. Особенностью ее является наличие как блока системного времени, вычисляющего значения текущих моментов времени , так и блока, определяющего момент окончания моделирования по условию , где T- время моделирования. Кроме вспомогательных блоков общего назначения: ввод исходных данных (ВИД), установка начальных условий (УНУ), обработка (ОРМ) и выдача результатов моделирования (ВРМ), моделирующий алгоритм содержит блоки, отражающие специфику детерминированного подхода (блоки 4…9). Рассмотрим детальные схемы алгоритмов этих блоков (рис.5.13,…,5.16) с учетом принятых обозначений в них:

Процедура обслуживания заявки каналом оформлена в виде подпрограммы WORK[K(K,J)], позволяющей обратиться к генератору

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

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

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

Рисунок 5.12 –Укрупненная схема МА

моделирования переходят к имитации обслуживания заявки каналом 3-й фазы. Если закончено обслуживание в канале 3-й фазы, то фиксируется выход из системы очередной заявки (подсчет их) и производится освобождение этого канала (рис.5.13а).

Рисунок 5.13 – Схема алгоритма блока4а

Далее имитируется переход заявки из 2-й в 3-ю фазу (рис.5.14б). При этом осуществляется просмотр каналов 2-й фазы и определение заявок, ожидающих обслуживания в канале К(3,1) и, если он свободен, то согласно дисциплине обслуживания выбирается одна из заявок и имитируется ее обслуживание в канале К(3,1), занятость его и освобождение канала 2-й фазы. Если канал К(3,1) занят, то осуществляется блокировка заявки в канале 2-й фазы.

Рисунок 5.14 – Схемы алгоритмов блока 5(б), блока 6(в)

Имитация обслуживания заявок в каналах 2–й фазы проводится последовательно для каждого канала (рис.5.14в). Если в накопителе Н(2) имеются заявки и хотя бы один канал 2–й фазы свободен, то имитируется обслуживание заявки в одном из этих каналов и уменьшение числа заявок в накопителе.

Затем имитируется переход заявки из каналов 1-й фазы в накопитель и каналы 2-й фазы (рис. 5.15г).

Рисунок 5.15 – Схема алгоритма блока 7(г)

При этом последовательно проверяются каналы 1-й фазы на наличие заявок в них и завершенность их обслуживания, а также свободны ли каналы 2–й фазы. Если они свободны, то имитируется обслуживание заявки одним из этих каналов, изменение его состояния на занятое и освобождение канала 1-й фазы. Если канал 2-й фазы занят, то заявка либо помещается в накопитель 2-й фазы либо блокируется в канале 1-й фазы.

Рисунок 5.16 – Схемы алгоритмов блоков 8(д), 9(е)

Потом имитируется обслуживание заявок каналами 1-й фазы (рис.5.16д). Для этого проверяется наличие заявок в накопителе Н(1) и отсутствие их в каналах 1-й фазы, а также организуется обслуживание заявок каналами 1-й фазы и изменение состояний каналов и накопителя.

Алгоритм имитации поступления заявок из источника в накопитель 1-й фазы (рис.5.16е) с учетом занятости каналов заключается в последовательном выполнении следующих операций:

проверка поступления заявки из источника в текущий момент времени;

проверка отсутствия заявки в канале 1-й фазы;

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

генерация момента поступления очередной заявки.

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

Затем управление снова передается блоку 3, который при наборе необходимой статистики проводит обработку и выдачу результатов моделирования, а потом и остановку моделирования.

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

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

Рисунок 5.17 – Укрупненная схема синхронного МА

Особенность схемы этого алгоритма заключается в том, что генерация момента поступления заявки производится сразу после установки начальных условий, после чего проверяются: условие окончания моделирования и з авершенность обработки заявки в первой и второй фазах. Если не закончена обработка в первой фазе, то в работу вступает блок № 6, имитирующий запись заявки в накопитель или прием ее на обслуживание в один из каналов первой фазы (рис.5.18). При полностью занятых элементах первой фазы заявка теряется. Если закончена обработка в первой фазе, а во второй фазе еще нет, то осуществляется запись заявки в накопитель или в каналы второй фазы по алгоритму блока №7 (рис. 5.15г). В случае завершенности обработки заявки во второй фазе, осуществляется ее обслуживание в канале третьей фазы по алгоритмам блоков 4,5 Рисунок 5.18 – Схема алгоритма блока 6 (рис. 5.13а,б).

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

Рисунок 5.19 – Укрупненная схема асинхронного спорадического МА

Такой алгоритм аналогичен детерминированному алгоритму за исключением отсчета системного времени, определяемого выражением

,

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

Укрупненная схема (рис.5.19) асинхронного спорадического МА включает в себя особый блок 3 (рис. 5.20) для определения моментов текущего состояния по выражению

а также блоки 4,5,7,9 для проверки: условия окончания моделирования, поступления заявки из источника и выхода заявок из 1-й и 2-й фаз, и блоки 6,8,10,11 для их обработки.

Блок 3 определяет временной интервал до момента ближайшего Рисунок 5.20-Схема МА блока3 изменения состояний элементов схемы поиском с помощью операторов 3.1,…3.12. В момент наступления ближайшего события изменение состояния осуществляется операторами 3.15 и 3.16.

Рассмотренный подход в построении МА позволяет алгоритмизировать процессы функционирования достаточно сложных систем. Сложность алгоритма возрастает, если учитываются такие особенности СМО как: наличие нескольких потоков заявок обслуживаемых своими каналами; наличие приоритетов при постановке заявки в очередь и выборе их на обслуживание; ограничение времени пребывания заявки в системе; отказ элементов системы и их восстановление.

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