Советов Б.Я., Яковлев С.А. Моделирование систем (3-е изд., 2001) (1186218), страница 65
Текст из файла (страница 65)
В момент осуществления ближайшего события продвижение состояний реализуется операторами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Продолжение табл.