Главная > Разное > Моделирование систем
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

8.2. МОДЕЛИРОВАНИЕ ПРОЦЕССОВ ФУНКЦИОНИРОВАНИЯ СИСТЕМ НА БАЗЕ Q-CXEM

Особенности использования при моделировании систем непрерывно-стохастического подхода, реализуемого в виде Q-схем, и основные понятия массового обслуживания были даны в § 2.5. Рассмотрим возможности использования Q-схем для формального описания процесса функционирования некоторой системы S. Характерная ситуация в работе таких систем — появление заявок (требований) на обслуживание и завершение обслуживания в случайные моменты времени, т. е. стохастический характер процесса их функционирования. В общем случае моменты поступления заявок в систему S из внешней среды Е образуют входящий поток, а моменты окончания обслуживания образуют выходящий поток обслуженных заявок [6, 13, 39, 51, 53].

Формализация на базе Q-схем. Формализуя какую-либо реальную систему с помощью Q-схемы, необходимо построить структуру такой системы. В качестве элементов структуры Q-схем будем рассматривать элементы трех типов: И — источники; Н — накопители; К — каналы обслуживания заявок.

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

блокировки обслуживающих каналов (но входу и по выходу): «клапаны» изображены в виде треугольников, а управляющие связи — пунктирными линиями. Блокировка канала по входу означает, что этот канал отключается от входящего потока заявок, а блокировка канала по выходу указывает, что заявка, уже обслуженная блокированным каналом, остается в этом канале до момента снятия блокировки (открытия «клапана»). В этом случае, если перед накопителем нет «клапана», при его переполнении будут иметь место потери заявок. Помимо выходящего потока обслуженных заявок можно говорить о потоке потерянных заявок.

Рис. 8.4. Структура системы, представленной в виде Q-схемы

Как отмечалось выше, Q-схему можно считать заданной, если определены: потоки событий (входящие потоки заявок и потоки обслуживаний для каждого Н и К); структура системы S (число фаз число каналов обслуживания число накопителей каждой из фаз обслуживания заявок и связи И, Н и К); алгоритмы функционирования системы (дисциплины ожидания заявок в Н и выбора на обслуживание К, правила ухода заявок из Ни К).

Рассмотрим возможности формализации воздействий внешней среды Е, представляемых в Q-схемах в виде источников Формирование однородных потоков событий, заданных в общем виде многомерным интегральным законом или плотностью распределения вероятностей, т.е.

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

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

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

Плотность распределения первого интервала может быть найдена с использованием соотношения Пальма

где — интенсивность потока событий.

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

где — случайная величина с плотностью

Пример 8.2. Пусть при моделировании некоторой системы необходимо сформировать на ЭВМ простейший поток заявок. Распределение длин интервалов между заявками является экспоненциальным, т. е.

Используем формулу Пальма для определения первого интервала у, т. е.

Из этого выражения следует, что , т. е. первый интервал распределен так же, как и остальные. Этого и следовало ожидать ввиду отсутствия последействия в простейшем потоке. Формируя на ЭВМ равновероятностные случайные числа на интервале , будем преобразовывать их в соответствии с выражением Тогда длина интервала между событиями а моменты появления заявок в потоке определяются согласно (8.2).

Пример 8.3. Пусть при моделировании некоторой системы требуется сформировать на ЭВМ поток событий, равномерно распределенных на интервале Функция плотности интервалов между событиями .

Распределение первого интервала между началом отсчета и первым событием

Интенсивность потока

Заметим, что математическое ожидание первого интервала отличается от математического ожидания интервалов при

Длины интервалов между событиями будут

Так, например, при получим

где — случайная величина, равномерно распределенная на интервале .

Пример 8.4. Рассмотрим формирование на ЭВМ потока Эрланга, в котором между последовательными событиями закон распределения интервалов

Пусть (поток Эрланга второго порядка). Тогда распределение первого интервала находится по формуле Пальма:

Для определения решают трансцендентное уравнение вида

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

Тогда

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

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

С учетом выражения плотность распределения длины первого интервала

где — математическое ожидание числа событий на интервале

На основании соотношения запишем уравнение

Из (8.3) аналитически или любым приближенным способом определяется Дальнейшая методика моделирования случайной величины при аналогична формированию с использованием условной функции распределения

где — момент наступления события.

Уравнение для нахождения очередного значения интервала имеет вид

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

Вопросы построения и машинной реализации программных генераторов, имитирующих потоки событий, были рассмотрены в гл. 4, поэтому более подробно остановимся на особенностях построения моделирующих алгоритмов процесса функционирования таких элементов Q-схем, как накопители и каналы

Способы построения моделирующих алгоритмов Q-схем. Моделирующий алгоритм должен адекватно отражать процесс функционирования системы S и в то же время не создавать трудностей при машинной реализации модели Мы. При этом моделирующий алгоритм должен отвечать следующим основным требованиям: обладать универсальностью относительно структуры, алгоритмов функционирования и параметров системы обеспечивать одновременную (в один и тот же момент системного времени) и независимую работу необходимого числа элементов системы укладываться в приемлемые затраты ресурсов ЭВМ (машинного времени и памяти) для реализации машинного эксперимента; проводить разбиение на достаточно автономные логические части, т. е. возможность построения блочной структуры алгоритма; гарантировать выполнение рекуррентного правила — событие, происходящее в момент времени может моделироваться только после того, как промоделированы все события, произошедшие в момент времени

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

Известно, что существует два основных принципа построения моделирующих алгоритмов: «принцип и «принцип При построении моделирующего алгоритма Q-схемы по «принципу т. е. алгоритма с детерминированным шагом, необходимо для

построения адекватной модели определить минимальный интервал времени между соседними событиями входящих потоках и потоках обслуживаний) и принять, что шаг моделирования равен В моделирующих алгоритмах, построенных по принципу , т. е. в алгоритмах со случайным шагом, элементы Q-схемы просматриваются при моделировании только в моменты особых состояний (в моменты появления заявок из И или изменения состояний К). При этом длительность шага зависит как от особенностей самой системы S, так и от воздействий внешней среды Е. Моделирующие алгоритмы со случайным шагом могут быть реализованы синхронным и асинхронным способами. При синхронном способе один из элементов Q-схемы (И, Н или К) выбирается в качестве ведущего и по нему «синхронизируется» весь процесс моделирования. При асинхронном способе построения моделирующего алгоритма ведущий (синхронизирующий) элемент не используется, а очередному шагу моделирования (просмотру элементов Q-схемы) может соответствовать любое особое состояние всего множества элементов И, Н и К. При этом просмотр элементов Q-схемы организован так, что при каждом особом состоянии либо циклически просматриваются все элементы, либо спорадически — только те, которые могут в этом случае изменить свое состояние (просмотр с прогнозированием) [4, 36, 37].

Классификация возможных способов построения моделирующих алгоритмов Q-схем приведена на рис. 8.5.

Рис. 8.5. Классификация способов построения моделирующих алгоритмов Q-схем

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

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

Пример 8.5. Для более детального ознакомления с технологией машинной имитации остановимся на рассмотрении Q-схемы достаточно обшего вида, показанной на рис 8.6. В частности, разберем на данном примере, какое влияние оказывает на

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

Рис. 8.6. Пример Q-схемы общего вида

На рисунке представлена трехфазная Q-схема с блокировкой каналов по выходу в 1-й и 2-й фазах обслуживания (пунктирные линии на рисунке). В качестве выходящих потоков такой Q-схемы могут бьггъ рассмотрены поток потерянных заявок из Н, и поток обслуженных заявок из и на рис. 8.6).

Для имитационной модели рассматриваемой Q-схемы можно записать следующие переменные и уравнения: эндогенная переменная Р — вероятность потери заявок; экзогенные переменные: — время появления очередной заявки из И; — время окончания обслуживания каналом К, у очередной заявки, вспомогательные переменные: — состояния параметры: емкость число каналов в к-й фазе; переменные состояния: — число потерянных заявок в — число обслуженных заявок, т. е. вышедших из 3-й фазы; уравнение модели:

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

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

Детерминированный моделирующий алгоритм. Укрупненная схема детерминированного моделирующего алгоритма Q-схемы, т. е. алгоритма, построенного по принципу представлена на рис. 8.7. Специфика наличия постоянного шага позволяет оформить «часы» системного времени в виде автономного блока 10. Этот блок служит для отсчетов системного времени, т. е. для вычисления Для определения момента остановки при моделировании Q-схемы (по числу реализаций N или по длине интервала времени моделирования Т) проводится проверка соответствующих

условий (блок 3). Работа вспомогательных блоков — ввода исходных данных 1, установки начальных условий 2, обработки 11 и вывода результатов моделирования 12 — не отличается по своей сути от аналогичных блоков, используемых в алгоритмах вычислений на ЭВМ. Поэтому остановимся более детально на рассмотрении работы той части моделирующего алгоритма, которая отражает специфику детерминированного подхода (блоки 4 - 9). Детализированные схемы алгоритмов этих блоков приведены на рис. 8.8, а — е. На этих и последующих схемах моделирующих алгоритмов Q-схем приняты следующие обозначения:

Рис. 8.7. Укрупненная схема детерминированного моделирующего алгоритма Q-схемы (см. скан)

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

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

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

Рис. 8.8. Схемы алгоритмов блока блока блока блока блока блока (рис. 8.7)

Продолжение рис. 8.8

После пуска, ввода исходных данных и установки начальных условий (блоки 1 и 2 на рис. 8.7) проверяется условие окончания моделирования системы (блок 3). Затем переходят к имитации обслуживания заявок каналом 3-й фазы Q-схемы (рис. 8.8, а). Если закончилось обслуживание в (операторы 4.1 и 4.2), то фиксируется выход из системы очередной обслуженной заявки (оператор 4.3) и проводится освобождение канала (оператор 4.4).

Далее реализуется переход к моделированию работы каналов 2-й фазы Q-cxeмы (рис. 8.8, б). При этом проводится последовательный просмотр каналов, этой фазы (операторы 5.1, 5.9 и Затем определяется, имеются ли в каналах 2-й фазы заявки, ожидающие обслуживания в канале (операторы 5.2 и 5.3). Если в момент времени имеются заявки, требующие обслуживания в и этот канал свободен (оператор 5.4), то выбирается в соответствии с дисциплиной обслуживания одна из заявок и имитируется ее обслуживание (оператор 5.6), фиксируются занятость канала 3-й фазы (оператор 5.7) и освобождение канала 2-й фазы (оператор 5.8). Если канал занят (оператор 5.4), то фиксируется блокировка канала 2-й фазы (оператор 5.5).

Затем имитируется взаимодействие в процессе обслуживания заявок в накопителе и каналов 2-й фазы последовательно для каждого из каналов (операторы 6.1, 6.7 и 6.8 на рис. 8.8, а). Далее, если в накопителе имеются заявки (оператор 6.2) и свободные каналы 2-й фазы (оператор 6.3), то имитируется обслуживание заявки одним из свободных каналов (операторы 6.4, 6.5) и освобождение места в накопителе (оператор 6.6).

Потом имитируется взаимодействие конкретного канала 1-й фазы и накопителя 2-й фазы (операторы 7.1, 7.2, 7.13 — 7.16 на рис. 8.8, г). Для проверяется наличие в них заявок, требующих обслуживания в (операторы 7.3 и 7.4). Если нет свободных каналов 2-й фазы (оператор 7.5), но в накопителе имеются свободные места (оператор 7.6), то моделируются запись заявки в (оператор 7.7) и освобождение конкретного канала 1-й фазы (оператор 7.8). Если свободных мест в нет, то фиксируется блокировка канала 1-й фазы (оператор 7.9). При наличии свободных каналов 2-й фазы осуществляется обслуживание заявки (оператор 7.10) и фиксируются занятость одного из каналов 2-й фазы (оператор 7.11) и освобождение одного из каналов 1-й фазы

Продолжение рис. 8.8. (см. скан)

(оператор 7.12). Затем операторы 7.3 и 7.4 повторяются, так как одновременно из 1-й фазы во 2-ю могут переместиться две заявки. При третьем выполнении операторов 7.13 и 7.14 управление будет передано по условию «Да» следующему блоку 8 (см. рис. 8.7).

Продолжение рис. 8.8 (см. скан)

Затем имитируется взаимодействие в процессе обслуживания заявок в накопителе и каналов 1-й фазы (операторы 8.1, 8.7 и 8.8 на рис. 8.8, д). Проверяется необходимость и возможность обслуживания каналами заявок из накопителя (операторы 8.2 и 8.3). Если в имеются заявки и один из свободен, то имитируется обслуживание заявки в 1-й фазе (оператор 8.4), фиксируются занятость конкретного канала (оператор 8.5) и освобождение одного места в (оператор 8.6).

Далее имитируется взаимодействие источника и накопителя 1-й фазы Н, с учетом занятости каналов этой фазы (рис. 8.8, е). В блоке 9 (см. рис. 8.7) вспомогательными операторами циклов являются операторы 9.2, 9.6 — 9.9 (рис. Если в поступила заявка из И (оператор 9.1), то она при наличии свободного канала (оператор 9.3) может быть обслужена (операторы 9.4 и 9.5), при наличии места в поставлена в очередь (операторы 9.10 и 9.11) либо при отсутствии места в (его переполнении) потеряна (оператор 9.12). После этого определяется время поступления в -схему очередной заявки из источника (оператор 9.13) и управление передается блоку 10, который определяет момент очередного шага (см. рис. 8.7).

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

Синхронный моделирующий алгоритм. Рассмотрим особенности построения моделирующих алгоритмов той же Q-схемы, структура

которой приведена на рис. 8.6, по «принципу . Сначала построим синхронный моделирующий алгоритм, причем для определенности примем в качестве синхронизирующего элемента источник т. е. . В момент т. е. на шаге моделирования, на вход 1-й фазы Q-схемы поступает очередная заявка из И. С момента до момента в Q-схеме могли произойти изменения состояний и если в интервале либо могло закончиться обслуживание в либо могли освободиться Эти изменения необходимо промоделировать раньше, чем поступление заявок в эту фазу в . Это справедливо и для остальных фаз Q-cxeмы: необходимо моделировать все изменения состояний фазы до поступления в фазу заявок из фазы (в этом случае 0-я фаза эквивалентна И).

Продолжение рис. 8.8 (см. скан)

Каналом имеющим минимальное время окончания обслуживания, является тот, для которого

Укрупненная схема синхронного моделирующего алгоритма представлена на рис. 8.9. Работа большинства блоков этой схемы аналогична детально рассмотренной схеме детерминированного моделирующего алгоритма (см. рис. 8.7). Поэтому остановимся более подробно только на взаимодействии синхронизирующего элемента, т. е. источника с остальной частью Q-схемы, т. е. рассмотрим работу блока имитирующего запись заявки из

Рис. 8.9. Укрупненная схема синхронного моделирующего алгоритма Q-схемы (см. скан)

входного потока в накопитель или прием на обслуживание в один из каналов 1-й фазы (рис. 8.10).

На этой схеме вспомогательными являются операторы 6.1, 6.5 — 6.8. Проверяется наличие свободных каналов 1-й фазы (оператор 6.2). Если среди каналов 1-й фазы есть свободные, то выбирается один из них и имитируется обслуживание, т. е. определяется время окончания обслуживания в этом канале (оператор 6.3), затем фиксируется его новое состояние (оператор 6.4) и осуществляется переход к следующему шагу. Если же оба канала 1-й фазы заняты, то проверяется, есть ли свободные места в накопителе этой фазы (оператор 6.9). Если свободные места есть, то имитируется запись заявки в (оператор 6.10), а в противном случае фиксируется потеря заявки (оператор 6.11).

Асинхронный моделирующий алгоритм. Рассмотрим особенности построения асинхронного моделирующего алгоритма, который

Рис. 8.10. Схема алгоритма блока 6 (рис. 8. 10) (см. скан)

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

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

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

Рис. 8.11. Укрупненная схема асинхронного циклического моделирующего алгоритма Q-схемы (см. скан)

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

Укрупненная схема асинхронного спорадического моделирующего алгоритма, реализующего «принцип показана на рис. 8.12. Рассмотрим подробно отсутствующий в предыдущих схемах блок 3 (рис. 8.13). Блок 3 служит для определения временного интервала до ближайшего момента изменения состояния каким-либо элементом Q-схемы (И, Н или К). Системное время

Рис. 8.12. Укрупненная схема асинхронного спорадического моделирующего алгоритма Q-схемы (см. скан)

— это минимальное время освобождения канала или время до поступления новой заявки из И (операторы 3.13 и 3.14). Поиск минимального времени освобождения канала К. реализуется с помощью операторов 3.1 - 3.12. В момент осуществления ближайшего события продвижение состояний реализуется операторами 3.15 и 3.16. Таким образом, в результате работы блока , если ближайшим событием является поступление из И, и определены если ближайшим событием является освобождение канала фазы Q-схемы.

Рассмотренные алгоритмы моделирования многофазовой многоканальной Q-схемы, конечно, по своей общности не охватывают всех тех разновидностей Q-схем, которые применяют в практике

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

Рис. 8.13. Схема алгоритма блока 3 (рис 8. 12) (см. скан)

Возможности модификации моделирующих алгоритмов Q-схемы. В плане усложнения машинных моделей Мы при исследовании вариантов системы S можно - рассмотреть следующие модификации:

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

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

3. Наличие приоритетов при выборе заявок на обслуживание каналов. По отношению к каналу могут быть рассмотрены заявки

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

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

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

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

Дадим краткую сравнительную оценку сложности различных моделирующих алгоритмов Q-схем, в основу построения которых положены перечисленные принципы. Детерминированный и асинхронный циклический алгоритмы наиболее просты с точки зрения логики их построения, так как при этом используется перебор всех элементов Q-схемы на каждом шаге. Трудности возникают с машинной реализацией этих алгоритмов вследствие увеличения затрат машинного времени на моделирование, так как просматриваются все состояния элементов Q-схемы (по «принципу или по «принципу Затраты машинного времени на моделирование существенно увеличиваются при построении

(кликните для просмотра скана)

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

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

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

Затраты необходимой оперативной памяти ЭВМ на проведение имитации могут быть значительно уменьшены при построении блочных моделей, когда отдельные блоки (модули) Q-схемы реализуются в виде процедур (подпрограмм).

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

Рис. 8.15. Программа реализации моделирующего алгоритма на языке GPSS (см. скан)

позволяют практически отразить всевозможные варианты многофазных и многоканальных Q-схем, а также провести исследование всего спектра их вероятнскггно-временных характеристик, различных выходных характеристик, интересующих исследователя или разработчика системы S.

Рассмотрим особенности моделирования систем, формализуемых в виде Q-схем, с использованием языка имитационного моделирования GPSS. В этом случае отпадает необходимость выбора принципа построения моделирующего алгоритма, так как механизм системного времени и просмотра состояний уже заложен в систему имитации дискретных систем, т. е. в язык GPSS [33, 47].

Пример 8.5. Использование языка GPSS рассмотрим при моделировании Q-схемы, схема которой приведена на рис. 8.6. Блок-диаграмма моделирующего алгоритма в символике языка GPSS представлена на рис. 8.14. Условные обозначения отдельных блоков были приведены в табл. 5.2. Как ухе отмечалось, блок-диаграмма языка GPSS позволяет генерировать адекватные программы имитации. Пример программы на языке GPSS показан на рис. 8.15. Действия операторов блок-диаграммы (и программы) GPSS для данного примера приведены в табл. 8.1. При этом приняты следующие обозначения:

Таблица 8.1 (см. скан)

Продолжение табл. 8.1 (см. скан)

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

<< Предыдущий параграф Следующий параграф >>
Оглавление