Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 65
Текст из файла (страница 65)
8.8, а). Если закончилось обслуживание вКз,1 (операторы 4.1 и 4.2), тоРис. 8.8. Схемы алгоритмов блока 3 (а), блофиксируетсявыходизка 5 (б), блока б (в), блока 7 (г), блока Я (д),системы очередной обслублока Р (г) (рис. 8.7)женной заявки (оператор4.3) и проводится освобождение канала К3, i (оператор4.4).Далее реализуется переход к моделированию работы каналов 2-й фазы Q-схемы (рис.
8.8, б). При этомпроводится последовательный просмотр каналов этойфазы (операторы 5.1, 5.9и 5.10). Затем определяется,имеются ли в каналах 2-йфазы заявки, ожидающиеобслуживания в каналеK3i J (операторы 5.2 и 5.3).Если в момент времениt„ имеются заявки, требующие обслуживания в К3. ьи этот канал свободен (оператор 5.4), то выбираетсяв соответствии с дисциплиной обслуживания одна иззаявок и имитируется ее обПродолжение рис. 8.8служивание Кз, 1 (оператор5.6), фиксируются занятость канала 3-й фазы (оператор 5.7) и освобождение канала 2-й фазы (оператор 5.8).
Если канал К3, i занят(оператор 5.4), то фиксируется блокировка канала 2-й фазы (оператор 5.5).0272Затем имитируется взаимодействие в процессе обслуживания заявок в накопителе и каналов 2-й фазыпоследовательно для каждого из каналов (операторы 6.1, 6.7 и 6.8 на рис. 8.8,а). Далее, если в накопителе Н 2 имеются заявки (оператор 6.2) и свободные каналы 2-й фазы (оператор6.3), то имитируется обслуживание заявки одним изсвободных каналов (операторы 6.4, 6.5) и освобождение места в накопителе Н 2(оператор 6.6).Потомимитируетсявзаимодействие конкретного канала 1-й фазы и накопителя 2-й фазы Н 2 (операторы 7.1, 7.2, 7.13—7.16на рис. 8.8, г).
Для KI.J проверяется наличие в них заявок, требующих обслуживания в и (операторы 7.3и 7.4). Если нет свободныхканалов 2-й фазы (оператор 7.5), но в накопителеимеются свободные места(оператор 7.6), то моделируются запись заявки в Н 2(оператор 7.7) и освобождение конкретного канала1-й фазы (оператор 7.8).Если свободных мест в Н 2нет, то фиксируется блокировка канала 1-й фазы(оператор 7.9).
При наличии свободных каналов 2-йфазы осуществляется обслуживание заявки (оператор 7.10) и фиксируютсязанятость одного из каналов 2-й фазы (оператор7.11) и освобождение одного из каналов 1-й фазы|fvW/pf*g,a>;||1-7.7-11г-7.9 J1 I-7.//J\гщгугн{?)*\ \ го,о)=г \ | г(г,о)=Продолжение рис. 8.8273(оператор 7.12). Затем операторы 7.3 и 7.4 повторяются, так как одновременно из 1-й фазы во 2-ю могут переместиться две заявки. При третьем выполнении операторов 7.13 и 7.14управление будет переданопо условию «Да» следующему блоку 8 (см.
рис.8.7).Затем имитируется взаимодействие в процессе обслуживания заявок в накопителе и каналов 1-й фазы(операторы 8.1, 8.7 и 8.8 нарис. 8.8, д). Проверяется необходимость и возможность обслуживания каналами Ki, j заявок из накопителя Hj (операторы 8.2и 8.3). Если в Иг имеютсязаявки и один из KUJ свободен, то имитируется обПродолжение рис. 8.8служивание заявки в 1-йфазе (оператор 8.4), фиксируются занятость конкретного канала(оператор 8.5) и освобождение одного места в Нх (оператор 8.6).Далее имитируется взаимодействие источника (И) и накопителя1-й фазы Н, с учетом занятости каналов этой фазы (рис. 8.8, ё).В блоке 9 (см.
рис. 8.7) вспомогательными операторами цикловявляются операторы 9.2, 9.6 — 9.9 (рис. 8.8, ё). Если в t„ поступилазаявка из И (оператор 9.1), то она при наличии свободного канала(оператор 9.3) может быть обслужена Klt j (операторы 9.4 и 9.5), приналичии места в Н1 поставлена в очередь (операторы 9.10 и 9.11)либо при отсутствии места в Нх (его переполнении) потеряна (оператор 9.12). После этого определяется время поступления в Q-схемуочередной заявки из источника tm (оператор 9.13) и управлениепередается блоку 10, который определяет момент очередного шагаt„ (см. рис. 8.7).Затем управление снова передается блоку 3 (рис. 8.7), которыйпри наборе необходимой статистики проводит обработку и выдачурезультатов моделирования, а затем остановку моделирования(блоки 11 и 12).Синхронный моделирующий алгоритм.
Рассмотрим особенностипостроения моделирующих алгоритмов той же Q-схемы, структура274которой приведена на рис.8.6, по «принципу &». Сначала построим синхронныймоделирующий алгоритм,причем для определенностипримем в качестве синхронизирующего элемента источник (И), т. е. tn=tm. В момент /„, т. е. на л-м шагемоделирования, на вход 1-йфазы Q-схемы поступаеточередная заявка из И.С момента /„_] до момента/„ в Q-схеме могли произойти изменения состояний HLи KUJ, если в интервале (f„_i,t„) либо могло закончитьсяобслуживание в К\,}, либомогли освободиться К2, j.Эти изменения необходимопромоделировать раньше,чем поступление заявок в этуфазу в t„. Это справедливои для остальных фаз Q-схемы: необходимо моделировать все изменения состоянийfc-йфазы до поступленияв k-ю фазу заявок из (к— 1)-йфазы (в этом случае 0-я фазаэквивалентна И).Продолжение рис. 8.8Каналом К \ }t имеющимминимальное время окончания обслуживания, является тот, длякоторого•.
Uk » если zk ,= 1:tk,j=mmtk,j, где?*.,= V'••"у'j10, если zk,j(t„^)=2.Укрупненная схема синхронного моделирующего алгоритмапредставлена на рис. 8.9. Работа большинства блоков этой схемыаналогична детально рассмотренной схеме детерминированногомоделирующего алгоритма (см. рис. 8.7). Поэтому остановимсяболее подробно только на взаимодействии синхронизирующего элемента, т.
е. источника (И) с остальной частью Q-схемы, т. е.рассмотрим работу блока 6, имитирующего запись заявки из вход275УстановканачальныхусловийГенерация момента поступления заявки изисточника ИЗапись заявкиВ Hf или приемна овслцжива ние в HiШОбслуживаниеЗаявки каналом3-й фазыЗапись заявкив Иг или приемна обслуживаниев К?СзадаткаультатовлированияОстановJг—6~Рис. 8.9. Укрупненная схема синхронного моделирующего алгоритма Q-схемыного потока в накопитель Нх или прием на обслуживание в один изканалов 1-й фазы (рис. 8.10).На этой схеме вспомогательными являются операторы 6.1,6.5 — 6.8.
Проверяется наличие свободных каналов 1-й фазы (оператор 6.2). Если среди каналов 1-й фазы Ki,, есть свободные, товыбирается один из них и имитируется обслуживание, т. е. определяется время окончания обслуживания в этом канале (оператор 6.3),затем фиксируется его новое состояние (оператор 6.4) и осуществляется переход к следующему шагу. Если же оба канала 1-й фазызаняты, то проверяется, есть ли свободные места в накопителе Hxэтой фазы (оператор 6.9).
Если свободные места есть, то имитируется запись заявки в Нх (оператор 6.10), а в противном случае фиксируется потеря заявки (оператор 6.11).Асинхронный моделирующий алгоритм. Рассмотрим особенностипостроения асинхронного моделирующего алгоритма, который от276Рис. 8.10. Схема алгоритма блока6 (рис. 8. 10)личается от синхронного отсутствием ведущего (синхронизирующего) элемента, причем очередному шагу моделирования соответствует особое состояние, т. е.
момент окончания обслуживания одной иззаявок любым каналом или момент поступления заявки из источника. При использовании такого принципа построения моделирующего алгоритма целесообразно процесс изменения состояний элементов Q-схемы рассматривать в направлении, противоположномнаправлению движения заявок в системе. Это можно сделать, циклически просматривая на каждом шаге моделирования все элементы Q-схемы и определяя, какие переходы заявок из одного элементав другой могут иметь место в данный момент системного времени.Такой асинхронный циклический моделирующий алгоритм в планепросмотра состояний элементов Q-схемы тождествен детерминированному моделирующему алгоритму, который приведен на рис.
8.7.Отличие заключается лишь в том, что отсчет системного временипроводится следующим образом:t„ = mm ( mm &._,; mm tmк jmт. е. время очередного шага определяется как минимум из минимальных времен окончания начатого обслуживания всеми каналами277всех фаз Q-схемы и минимального времени поступления очередныхзаявок из источника.Г'Шд7В силу указанных причин не бу/ исходных. IIданных Iдем подробно останавливатьсяна рассмотрении асинхронногоУстановкациклического моделирующегоначальных.условийалгоритма Q-схемы, а рассмотрим только укрупненную схему,r-J—"Определениеприведенную на рис. 8.11.момента нас В асинхронных спорадичеступления следиющего содытияких моделирующих алгоритмахв отличие от циклических для•uhoffepKcкаждого момента системноговремени /„ просматриваются только те элементы Q-схемы, коОбработкаторыеизменяют свое состояниеI заявки каналомреэуль тато ввэтотмоментвремени.
Для мо|J-ц (раза/моделированияделирования процесса распространения изменений состоянийПереход'Вывод7 элементов Q-схемы в направлеГЧзаявки из^результатов/з иль таmot/резиКг в Xjнии, противоположном направмооелирова-./модениялению движения заявок в систеIнОбслуживаниеIме, необходимо прослеживатьзаявки каналом1-й- фазы( Останав ) цепочку разблокирований в случае освобождения каналов, т.