Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Моделирование систем

..pdf
Скачиваний:
9
Добавлен:
19.11.2023
Размер:
38.5 Mб
Скачать
)

условий (блок 3). Работа

 

 

С

 

Пуск

 

 

 

в с п о м о г а т е л ь н ы х

 

 

 

 

 

 

блоков — ввода

 

исход­

 

 

 

I г

 

 

 

ных данных 1,

установки

 

 

Г

*

ч

° д

I

 

 

начальных условий 2,

об­

 

 

/

и с х о д н ы х

/

 

 

 

 

/

д а н н ы х

/

 

 

работки 11 и вывода ре­

 

 

1

 

г — *

 

 

зультатов моделирования

 

 

г-2

 

 

 

 

 

 

 

 

У ст а н о вка

 

 

12 — не

отличается

по

 

 

 

н а ч а ль н ы х

 

 

 

 

 

и с л о в и й

 

 

 

своей

сути от

аналогич­

 

 

 

 

 

 

 

 

 

ных

блоков,

используе­

 

 

 

 

 

 

 

 

 

мых в алгоритмах вычис­

 

 

 

 

 

 

 

 

 

лений на ЭВМ. Поэтому

 

 

 

 

 

 

 

 

(

остановимся более

дета­

 

 

 

 

 

 

 

1—

льно

на

рассмотрении

 

 

 

 

 

 

 

11-

 

 

 

 

 

 

 

0 5 p m 5от ка

работы той части модели­

 

 

 

 

 

 

 

\ р е з и л 6>mamod

 

 

 

 

 

 

 

|м о д е л ь р а ва н и я

рующего

алгоритма,

 

 

 

 

 

 

 

 

 

которая отражает

специ­

 

 

 

П ер ехо д

 

 

 

фику

детерминированно­

 

 

з а я в к и

и з 2 -й

\резильт ат о(

го подхода (блоки 4 9).

•10

 

в

3 -ю

ф а зу

'м оде.л и р о в а -i

 

д-1,,-,.—

Детализированные

схе­

 

 

н и я

к с л е ­

 

 

мы

алгоритмов

этих

П е р е х о д

О бслуж ид а -

 

 

д у ю щ е м у

м о ­

н и е за я в к и ка ­

О ст анов

блоков

приведены

на

м ен т у вр ем ен и

налом 2 -йф азы

t

 

 

 

рис. 8.8,

а е.

На этих

 

 

 

I

 

 

 

 

 

 

 

 

 

 

 

 

и последующих

схемах

 

 

д е р е и в з а я д к и

 

 

 

 

и з

t-й

ф а зы

 

 

моделирующих

 

алгорит­

 

 

 

 

 

 

 

в накопит ель

 

 

мов Q-схем приняты сле­

 

 

 

2 -й ф а зы

 

 

 

дующие

обозначения:

 

 

mmmQM

1

 

 

 

 

Z N (I)= z{; Z (K 9

J)= zk,j;

 

 

О бслуж ивание

 

 

 

 

з а я в к и

к а н а -

 

 

TM = tm

7 N = tn

T(K,

 

 

л о м

1-й ф азы

 

 

 

 

 

 

Т

 

 

 

 

J)—tk, j, LO (T)=Li} PO = P,

 

 

 

 

 

 

 

 

 

 

П о ст уп лен и е

 

 

NOU=Nu

 

N 0 3 = N 3,

 

 

з а я в к и н а

 

 

 

 

 

 

В ход

Q-схем ы

 

 

NO=N.

 

 

 

 

 

 

 

 

 

J

 

 

 

 

Процедура обслужива­

 

 

 

 

 

 

 

 

Рис. 8.7. Укрупненная схема детерминированно­

ния

заявок

каналами

го моделирующего алгоритма Q-схемы

К*, j

оформлена

в

виде

 

 

 

 

 

 

 

 

 

подпрограммы WORK

[К(К, /}], позволяющей обратиться к гене­

ратору случайных

чисел

с соответствующим

данному

каналу

К*, j законом распределения, генерирующему длительность интерва­

ла обслуживания очередной заявки /*.j. Процедура генерации заявок источником (И) оформлена в виде подпрограммы D (ТМ), которая определяет момент поступления очередной tmв Q-схему.

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

противоположном

движению заявок в системе, поэтому все

Н и К системы

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

271

 

начиная

с обслуживающего

 

канала

 

последней

фазы

по

 

направлению к накопителю

 

1-й фазы (см. рис. 8.6).

ис­

 

После пуска,

ввода

 

ходных данных и установки

 

начальных

условий

(блоки

 

1 и 2 на рис. 8.7) проверяется

 

условие

окончания модели­

 

рования системы (блок 5).

 

Затем переходят к имитации

 

обслуживания

заявок

кана­

 

лом Къ, 1 3-й фазы Q-схемы

 

(рис. 8.8, а). Бели закон­

 

чилось

 

обслуживание

в

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

Кэ, 1 (операторы 4.1 и 4.2), то

ка 5 (б), блока б (в), блока 7 (г), блока 8 {д),

фиксируется

 

выход

из

блока 9 (в) (рис. 8.7)

системы

очередной

обслу­

 

женной

заявки

(оператор

 

4.3) и проводится

освобож­

 

дение канала К 3, i (оператор

 

4.4) .

 

 

 

 

 

 

 

 

Далее реализуется пере­

 

ход к моделированию рабо­

 

ты каналов 2-й фазы Q-cxe-

 

мы (рис. 8.8, б). При этом

 

проводится

последователь­

 

ный просмотр каналов этой

 

фазы

(операторы

5.1,

5.9

 

и 5.10). Затем определяется,

 

имеются ли в каналах 2-й

 

фазы

заявки,

ожидающие

 

обслуживания

в

 

канале

 

Кэ, 1 (операторы 5.2

и 5.3).

 

Если

в

момент

времени

 

t„ имеются

заявки,

требу­

 

ющие обслуживания в К 3. ь

 

и этот канал свободен (опе­

 

ратор

5.4),

то

выбирается

 

в соответствии

с дисципли­

 

ной обслуживания одна

из

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

заявок и имитируется ее об­

служивание

К3, 1

(оператор

 

5.6), фиксируются занятость канала 3-й фазы (оператор 5.7) и осво­ бождение канала 2-й фазы (оператор 5.8). Если канал К3, i занят (оператор 5.4), то фиксируется блокировка канала 2-й фазы (опера­ тор 5.5).

272

Затем имитируется вза­ имодействие в процессе об­ служивания заявок в нако­ пителе и каналов 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, г). Для Kj,> про­ веряется наличие в них за­ явок, требующих обслужи­ вания в t„ (операторы 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-й фазы

iPwrfr^Jll

[ztt(2);Z lt(2)-l\

I

г)

Г /г - - 1 ■ - 1 = 0

г - 1.1

|

|—/.у ■ |

г-7 .» I

\г«(2)=ы(2П

I zg,3)--z |

Г гы = ! I

Г ад зМ

I

 

 

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

273

18-4833

(оператор 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 заявок из накопи­ теля (операторы 8.2 и 8.3). Если в Н А имеются заявки и один из Klfy сво­ боден, то имитируется об­ служивание заявки в 1-й

фазе (оператор 8.4), фиксируются занятость конкретного канала (оператор 8.5) и освобождение одного места в H j (оператор 8.6).

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

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

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

274

которой приведена на рис. 8.6, по «принципу <5z». Сна­ чала построим синхронный моделирующий алгоритм, причем для определенности примем в качестве синхрони­ зирующего элемента источ­ ник (И), т. е. tn= tm. В мо­ мент f„, т. е. на /1-м шаге моделирования, на вход 1-й фазы Q-схемы поступает очередная заявка из И. С момента t„-\ до момента t„ в Q-схеме могли произой­ ти изменения состояний Н* и K ltJ, если в интервале

/„) либо

могло

закончиться

обслуживание в

Ki(y,

либо

могли

освободиться

К2, у.

Эти изменения

необходимо

промоделировать раньше,

чем поступление заявок в эту фазу в tn. Это справедливо и для остальных фаз Q-cxe- мы: необходимо моделиро­ вать все изменения состоя­ ний к-й фазы до поступления в к-ю фазу заявок из (к—1)-й фазы (в этом случае 0-я фаза

эквивалентна И). Продолжение рис. 8.8

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

которого

t'k.>=min \ j, где 7*.,= Гtk.j, если zkJ= 1; (О, если ^jt,j(^n-i)= 2*

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

18*

275

Г 1мод

7

/

и с х о д н ы х , /

/

д а н н ы х

/

У с т а н о в к а

на ч а л ь н ы х

ус л о в и й

Е= 3

Г е н е р а ц и я м о ­ м е н т а п о ст уп ­ л е н и я за я в к и и з и с т о ч н и к а И

^ З а п и с ь з а я в к и

вН{ и л и п р и е м

на обслуж ива -

н а е в K i

О б служ и ва н и е з а я в к и к а н а ло м 3 - й ф а зы

О б р а б о т к а р е з у л ь т а т о в

м о д е л и р о в а н и я

 

В ы во д р е э у л ь

 

т а т о в м о д е л и {

 

р о в а н и я

 

1

З а п и с ь з а я в к и

О ст а н о в

 

Ви л и п р и е м

на обслуж ивание

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

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

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

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

276

Нет

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

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

/„=min min tktf, min tm1,

k,j

m

J

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

277

R___ 1
П ер ехо д з а я в к и и з
в Н2 и л и H i
n-J
О бслуж ивание З а я вк и каналом 1 ф а зы
/Л.1
П о с т у п л е н и е з а я в к и н а вход
Q - с х е м ы
- ■
Рис. 8.11. Укрупненная схема асинх­ ронного циклического моделирующе­ го алгоритма Q-схемы
М -^роВерка
^ условия OKO/P^
NJffw? модели
^ •р о а а н и я /г H em
О бслуж ивание за я в к и ка н а ла м 3 ф а зы
C
П ер ехо д з а я в к и и з В2 в Н3
7__1
О бслуж ивание за я в к и к а н а ло м 2 - ф азы

Q П у с к )

н» 1

Г1 В в о д

/и с х о д н ы х

10ННЫХ 1

П1

cО ст а н о вка

на ч а л ь н ы х у с л о в и й

Г“3— ^ ---------1

Оп р е д е л е н и е

мом ент а н а с -

ту п л е н и я след у ­

ющ его собы т ия

Да

О б р а б о т ка р е з у л ь т а т о в м о д ели р о ва н и я

[ ]2В ы во д 7 1 р езц льт а т о в1

/ м о о е л и р о в а -/ / н и я /

I

( О с т а н о в )

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

В асинхронных спорадичес­ ких моделирующих алгоритмах в отличие от циклических для каждого момента системного времени t„ просматриваются то­ лько те элементы Q-схемы, ко­ торые изменяют свое состояние в этот момент времени. Для мо­ делирования процесса распрост­ ранения изменений состояний элементов Q-схемы в направле­ нии, противоположном направ­ лению движения заявок в сисгеме, необходимо прослеживать цепочку разблокирований в случае освобождения каналов, т. е. рассматривать, вызовет ли осво­ бождение KkiJ разблокирование K*_i, j, освобождение Kk-i, j раз­ блокирование К*_2,j и т. д. Рас­

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

Укрупненная схема асинх­ ронного спорадического моде­ лирующего алгоритма, реализу­ ющего «принцип дг», показана на рис. 8.12. Рассмотрим подро­ бно отсутствующий в предыду­ щих схемах блок 3 (рис. 8.13).

Блок 3 служит для определения временного интервала до ближай­ шего момента изменения состояния каким-либо элементом Q-схемы (И, Н или К). Системное время

t„=mm mm tki/, tm

278

с

/

П у с к

I

7

~ 'т д

и с х о д н ы х

I

д а н н ы х

/

I 9

О ст а н о вк а

О б р а б о т к а р е зи л ь т а т а б м о д е л и р о д а -

н и я

Выдод

'результа mod моде ■ лиродания 1

~ п

^ Останов ^

О бработ ка В ы хода за я вк и и з 3-й ф азы

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

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

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

279

I TM=TM-TMM\
'3.16 т
т=т-тми
Рис. 8.13. Схема алгоритма блока 3 (рис.
8. 12)

 

анализа и синтеза систем. Од­

 

нако эти конкретные примеры

 

моделирования

 

позволяют

 

детально

ознакомиться с

ос­

 

новными принципами постро­

 

ения моделирующих алгорит­

 

мов таких систем, причем эти

 

принципы инвариантны к ви­

 

ду

и

сложности

моделируе­

 

мой системы S.

 

 

 

 

 

 

Возможности модификации

 

моделирующих алгоритмов Q-

 

схемы. В

 

плане

 

усложнения

 

машинных

моделей

Мм

 

при исследовании

вариантов

 

системы

S

можно

рассмот­

 

реть

следующие

модифика­

 

ции:

 

 

 

потоков

за­

 

 

1. Наличие

 

явок

нескольких

типов.

 

В

этом

случае

 

необходимо

 

иметь

несколько

источников

 

(генераторов) заявок и фикси­

 

ровать признак принадлежно­

 

сти заявки к тому или иному

 

потоку тогда, когда накопите­

 

ли

и

каналы

рассматрива­

 

емой

Q-схемы

 

 

критичны

г Ы 5

к Этому признаку или требу­

I

 

 

 

 

 

 

 

 

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

2. Наличие приоритетов при постановке заявок в оче­ редь в накопитель. В зависи­

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

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

280

Соседние файлы в папке книги