Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 66
Текст из файла (страница 66)
е.•ВIПереходрассматривать,вызовет ли освоI заявки из Ktбождение Kkj разблокирование\ в Нг или КгKk_i,>, освобождение Kk-\,j разблокирование К*_2, j и т. д. РасОбслуживаниеЗаявки каналомсмотрим случай, когда эта це|1-й фазыпочкапросматривается за один•W- Тшаг моделирования.Поступлениезаявки на входУкрупненная схема асинхQ-схемыронного спорадического моделирующего алгоритма, реализующего «принцип Sz», показанаРис. 8.11. Укрупненная схема асинхронного циклического моделирующена рис.
8.12. Рассмотрим подрого алгоритма Q-схемыбно отсутствующий в предыдущих схемах блок 3 (рис. 8.13).Блок 3 служит для определения временного интервала -до ближайшего момента изменения состояния каким-либо элементом Q-схемы(И, Н или К). Системное время(Пуск")/„=min mm tki/, trk J278(Пуск ~ " )Г'ъш7/ исходных IJ данных IТс та но в наУс/начальныхусловийгггЗОпределениетекущегосостоянияОбработкапоступлениязаявки изисточникаОбработкаВыхода заявкииз 1-й фазыГОбработкавыхода заявкииз Z-й фазы1Останов ")Обработкавыхода заявкииз 3-й фазыОРис. 8.12.
Укрупненная схема асинхронного спорадического моделирующего алгоритма Q-схемы— это минимальное время освобождения канала К*.} или время допоступления новой заявки из И (операторы 3.13 и 3.14). Поискминимального времени освобождения канала К^,} реализуется с помощью операторов 3.1 — 3.12. В момент осуществления ближайшего события продвижение состояний реализуется операторами3.15 и 3.16. Таким образом, в результате работы блока 3 tm=0, еслиближайшим событием является поступление из И, и tk,j=0 к определены k и j , если ближайшим событием является освобождениек-го канала у-й фазы Q-схемы.Рассмотренные алгоритмы моделирования многофазовой многоканальной Q-схемы, конечно, по своей общности не охватываютвсех тех разновидностей Q-схем, которые применяют в практике279анализа и синтеза систем.
Однако эти конкретные примерымоделированияпозволяют|rMM-g£^7»[детально ознакомиться с основными принципами построения моделирующих алгоритмов таких систем, причем этипринципы инвариантны к виду и сложности моделируемой системы S.Возможности модификациимоделирующих алгоритмов Qсхемы. В плане усложнениямашинныхмоделейМыпри исследовании вариантовсистемы S можно * рассмотреть следующие модификации:1. Наличие потоков заявокнесколькихтипов.В этом случае необходимоиметь несколько источников(генераторов) заявок и фиксировать признак принадлежности заявки к тому или иномупотоку тогда, когда накопители и каналы рассматриваемойQ-схемыкритичнык этому признаку или требу•J/5J О1ется определить характеригм-тм-тмм]стики обслуживания заявокГЗ'5 'каждого из потоков в отдель1 r=r- r m Iности.2.
Наличие приоритетовРис. 8.13. Схема алгоритма блока 3 (рисприпостановке заявок в оче8. 12)редь в накопитель. В зависимости от класса приоритета заявок может быть рассмотрен случай,когда заявки одного класса имеют приоритет по записи в накопитель (при отсутствии свободных мест вытесняют из накопителязаявки с более низким классом приоритета, которые при этомсчитаются потерянными). Этот фактор может быть учтен в моделирующем алгоритме соответствующей Q-схемы путем фиксации длякаждого накопителя признаков заявок, которые в нем находятся(путем организации соответствующего массива признаков).3.
Наличие приоритетов при выборе заявок на обслуживаниеканалов. По отношению к каналу могут быть рассмотрены заявкиСS"280с абсолютным и относительным приоритетами. Заявки с абсолютным приоритетом при выборе из очереди в накопитель вытесняютиз канала заявки с более низким классом приоритета, которые приэтом снова поступают в накопитель (в начало или конец очереди)или считаются потерянными, а заявки с относительным приоритетом дожидаются окончания обслуживания каналом предыдущейзаявки.
Эти особенности учитываются в моделирующих алгоритмах приоритетных Q-схем, при определении времени освобожденияканала и выборе претендентов на его занятие. Если наличие абсолютных приоритетов приводит к потере заявок, то необходимоорганизовать фиксацию потерянных заявок.4. Ограничение по времени пребывания заявок в системе.
В этомслучае возможно ограничение как по времени ожидания заявокв накопителях, так и по времени обслуживания заявок каналами,а также ограничение по сумме этих времен, т. е. по времени пребывания заявок в обслуживающем приборе. Причем эти ограничениямогут рассматриваться как применительно к каждой фазе, таки к Q-схеме в целом. При этом необходимо в качестве особыхсостояний Q-схемы рассматривать не только моменты поступленияновых заявок и моменты окончания обслуживания заявок, но и моменты окончания допустимого времени пребывания (ожидания, обслуживания) заявок в Q-схеме.5. Выход элементов системы из строя и их дальнейшее восстановление.
Такие события могут быть рассмотрены в Q-схеме,как потоки событий с абсолютными приоритетами, приводящимик потере заявок, находящихся в обслуживании в канале или ожидающих начала обслуживания в накопителе в момент выхода соответствующего элемента из строя. В этом случае в моделирующемалгоритме Q-схемы должны быть предусмотрены датчики (генераторы) отказов и восстановлений, а также должны присутствоватьоператоры для фиксации и обработки необходимой статистики.Рассмотренные моделирующие алгоритмы и способы их модификации могут быть использованы для моделирования широкогокласса систем. Однако эти алгоритмы будут отличаться по сложности реализации, затратам машинного времени и необходимогообъема памяти ЭВМ.Дадим краткую сравнительную оценку сложности различных моделирующих алгоритмов Q-схем, в основу построения которых положены перечисленные принципы.
Детерминированныйи асинхронный циклический алгоритмы наиболее просты с точки зрения логики их построения, так как при этом используется перебор всех элементов Q-схемы на каждом шаге. Трудностивозникают с машинной реализацией этих алгоритмов вследствиеувеличения затрат машинного времени на моделирование, таккак просматриваются все состояния элементов Q-схемы (по «принципу Af» или по «принципу <5z»). Затраты машинного временина моделирование существенно увеличиваются при построении281"SEIZEI|LEAVE/N4/iADVANCE 20,ЕМЯЕХРОН<ЦШЕЖ^>©|IVRELEASE1(SAVEVALVE*)SEIZEJ~1^ADVANCED,ENUEXPONRELEASEJV[TERMINATE]Рис.
8 14 Блок-диахрамма моделирующего алгоритма в символикеязыка GPSSдетерминированных моделирующих алгоритмов Q-схем, элементыкоторых функционируют в различных масштабах времени, например когда длительности обслуживания заявок каналами многоканальной Q-схемы значительно отличаются друг от друга.В стохастическом синхронном алгоритме рассматриваются прошлые изменения состояний элементов Q-схемы, которые произошли с момента предыдущего просмотра состояний, что несколькоусложняет логику этих алгоритмов.Асинхронный спорадический алгоритм позволяет просматривать при моделировании только те элементы Q-схемы, изменениясостояний которых могли иметь место на данном интервале системного времени, что приводит к некоторому упрощению этих моделирующих алгоритмов по сравнению с синхронными алгоритмамии существенному уменьшению затрат машинного времени по сравнению с детерминированными и циклическими алгоритмами.Затраты необходимой оперативной памяти ЭВМ на проведениеимитации могут быть значительно уменьшены при построенииблочных моделей, когда отдельные блоки (модули) Q-схемы реализуются в виде процедур (подпрограмм).К настоящему времени накоплен значительный опыт моделирования Q-схем (при их классическом рассмотрении или в различных лриложениях).
Рассмотренные моделирующие алгоритмыSIMULATEПрограмм! имитации многофазной О-схомы1 STORAGE102 STORAGE10EXPON FUNCTION RN1 С24001 104 2222 3 355 4509 S 896915 7 12 75 1 3» 1 1 б W Ю М 2 12923 92 2 52 94 2в1 95 2 9 9 9 6 3 297 3598 39 9 9 4 6995 5 399662 9 9 9 7 0 9997 Я 03ENERATE 10FMIEXPONGATE SNF 1 ОТКENTER1TRANSFERBOTH KANI1 KAN12KAN! 1 SEIZE1LEAVEIADVANCE 20 FNMEXPONGATE SNF 2RELEASE1TRANSFERNAK2KAN'2 SEIZE2LEAVE1ADVANCE20 FWEXPONGATE SNF2RELEASE2NAK2 ENTER2TRANSFERBOTH KAN21 KAN22KAN21 SEIZE3LEAVE2ADVANCE20 FWEXPONGATE NU5RELEASE3TRANSFER.KAN31KAN22 SEIZE4LEAVE2ADVANCE20. FWEXPONGATE NU5RELEASE4KAN31 SEIZE5ADVANCE10 FWEXPONRELEASE5TRANSFERENDOTK SAVEVALVE1*K1END TERMINATE1Рис.
8.15. Программа реализации моделирующего алгоритма на языке GPSS283позволяют практически отразить всевозможные варианты многофазных и многоканальных 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. При этомприняты следующие обозначения: NAKI=Hh KANKJsILk, j .Таблица 8.1№ карты№ блока1—234 —8——91101112234131415567168171819 -2391011 — 152425161726284-3018 - 2 2Назначение оператора (карты)Сообщает, что после ассемблирования необходимоначать счет по программеЗадает емкость накопителя 1Задает емкость накопителя 2Описывают функцию экспоненциального распределения с именем EXPON, номером FN1 и значениямив интервале (0,1)Генерирует транэакты с интервалами, распределенными по экспоненциальному закону и средним значением 10 условных единицПроверяет, есть ли свободные места в накопителе 1Занимает одно место в накопителе 1Направляет транзакт в один из свободных каналовI в2Занимает канал 1,1Освобождает одно место в накопителе 1Задерживает транзакт на случайный интервал времени в соответствии с экспоненциальным законом сосредним значением 20Блокирует продвижение транзактов при занятостинакопителя 2Освобождает канал 1,1Направляет транзакты к блоку с меткой NAK2Выполняют функции, аналогичные блокам 5 — 9 поотношению к каналу 1, 2Занимает одно место в накопителе 2Направляет транзакт в один из свободных каналов2,1 и 2,2Выполняет функции, аналогичные блокам 59 поотношению к каналу 2,1Продолжение табл.
£ х.№ карты№ блоха3132 — 362324 — 2837382930393140413233423443—44—Назначение оператора (карты)Направляет транзакты к блоку с меткой KAN31Выполняет функции, аналогичные блокам 5 — 9 поотношению к каналу 2,2Занимает канал 3,1Задерживает транзакт на случайный интервал времени в соответствии с экспоненциальным законом сосредним значением 10 условных единицОсвобождает канал 3,1Направляет транзакты к блоку с меткой ENDПодсчитывает число транзактов, получавших отказв обслуживанииУничтожает транзактОзначает конец набора входных карт модели и устанавливает начальное значение счетчика числа завершений, равное 1000Передает управление операционной системеИз приведенных примеров моделирования системы S, формализуемой в виде Q-схемы, видно, что при использовании дляреализации как универсального алгоритмического языка, так и языка имитационного моделирования GPSS возможности по оценкев процессе имитации вероятностно-временных характеристик исследуемых систем существенно расширяются по сравнению с применением аналитического подхода, когда получение оценок в явномвиде ограничено результатами, полученными в теории массовогообслуживания.8.3.