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

Построение и реализация моделирующих алгоритмов Q - схем

.DOC
Скачиваний:
29
Добавлен:
25.05.2014
Размер:
91.14 Кб
Скачать

5

Лабораторная работа

Построение и реализация моделирующих

алгоритмов Q - схем

Цель работы - изучение способов формализации процессов функционирова-ния систем с использованием Q-схем.

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

В ВЦ приходят пользователи через интервалы времени 10±2 мин. Если все 3 устройства подготовки данных (УПД) заняты, пользователю отказывают в обслуживании. Устройства имеют разную производительность и могут обеспечить обслуживание средней программы пользователя за 20±5, 40±10 и 40±20 мин.

Пользователи стремятся занять свободное УПД с максимальной производи-тельностью. Полученные программы сдаются в приемный накопитель, откуда выбираются для обработки на первую ЭВМ - программы с первого и второго устройства, на вторую ЭВМ - программы с третьего УПД. Времена обработки программ на первой и второй ЭВМ равны 15 и 30 мин. соответственно.

Смоделировать процесс обработки 300 заданий. Определить вероятность отказа в обслуживании пользователя ВЦ.

На первом этапе составляется структурная схема процесса функционирования системы ( рисунок 1 ).

Зал подготовки Приемный

данных накопитель

Пользователи УПД 1

Накопитель 1 ЭВМ 1

УПД 2

УПД 3 Накопитель 2 ЭВМ 2

Необслуженные пользователи

Рисунок 1 - Структурная схема процесса функционирования ВЦ

На втором этапе составляется структурная схема модели в символике Q-схем ( рисунок 2 ).

1

И К1 Н1

2

3 К4

К2 Обслуженные

Н2

4 заявки

5

К3 К5

6

Потерянные заявки Рисунок 2 - Структурная схема модели

Здесь И - источник заявок, Н1 и Н2 - накопители, К1-К5 - каналы обслуживания заявок. Система клапанов 1-6 регулирует процесс занятия пользователями каналов К1, К2 и К3 соответствующих устройств подготовки данных. Если канал К1 занят, то клапан 1 закрыт, а клапан 2 открыт и т.д. Если все каналы К1, К2, К3 заняты, т.е. клапаны 2, 4, 6 открыты, то заявка теряется.

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

Независимые переменные:

а) tni, i=1,3 - время обработки задания на УПД;

б) tpj, j=1,2 - время решения задачи на ЭВМ.

Зависимые переменные:

а) N0 - число обслуженных пользователей;

б) N1 - число пользователей, получивших отказ.

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

N1

Pотк = ¾¾¾¾ ,

N0+N1

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

При разработке схемы алгоритма использован “ принцип Dt ”. На рисунке 3 приведена обобщенная схема детерминированного моделирующего алгоритма.

Начало

1

Ввод исход-

ных данных

2

Обслужено да

заданное число

заявок

3 Окончание обслу-

живания заявок ЭВМ

4 Передача заявок с

УПД в накопители

8 Переход к следующему 5 Передача заявок из на- 9 Обработка результатов

интервалу Dt копителей на обслужива- моделирования

ние ЭВМ

6

нет Поступила очередная 10 Вывод резуль-

заявка татов модели-

рования

7 Постановка заявки на да

обслуживание к УПД или

отказ в обслуживании Остановка

Рисунок 3 - Обобщенная схема моделирующего алгоритма

Для составления детальной схемы алгоритма используем следующие иден-тификаторы переменных:

- массив состояния УПД nz(3);

- время занятия УПД tz(3);

- массив состояния ЭВМ np(2);

- время занятия ЭВМ tp(2);

- массив состояния накопителей n(2);

- число отказов not;

- число обслуженных заявок nend;

- интервал Dt dt;

- массивы задания параметров времени обслуживания на УПД a(3), b(3);

- массив задания параметров времени обслуживания на ЭВМ to(2);

- вероятность отказа в обслуживании pot;

- переменные для задания параметров времени поступления заявок tа, tb.

Детальная схема алгоритма, записанная на псевдокоде, имеет следующий вид

алгоритм моделирования работы ВЦ

начало

скаляр i, i1, if1, not, nend: целая

ta, tb, dt, t, pot: вещественная;

массив a[ 3 ], b[ 3 ], to[ 2 ], tz[ 3 ], tp[ 2 ]: вещественный

nz[ 3 ], np[ 2 ], n[ 2 ]: целый;

для i = 1, 3, 1

повторять

ввод ( a[ i ], b[ i ] );

ввод ( ta, tb, dt );

для i = 1, 3, 1

начало

nz[ i ]= 0;

если i < 3 то

начало

n[ i ] = 0;

np[ i ] = 0

конец

все

конец;

для i1= 1, 5, 1

начало

nend = 0;

not = 0;

t = 0;

для i = 1, 3, 1

начало

tz[ i ] = 0;

если i < 3 то tp[ i ] = 0

все

конец;

пока nend < 300

повторять

начало

для i = 1, 2, 1

если np[ i ] = 1 то

если tp[ i ] £ 0 то

начало

np[ i ] = 0;

nend = nend + 1

конец

все;

все;

if1 = 0;

для i = 1, 3, 1

начало

если nz[ i ] = 1 то

если tz[ i ] £ 0 то

начало

if1 = 1;

nz[ i ] = 0;

если i = 3 то n[ 2 ] = n[ 2 ] + 1

иначе n[ 1 ] = n[ 1 ] + 1

все;

конец;

все;

все

конец;

для i = 1, 2, 1

если n[ i ] > 0 то

если np[ i ] = 0 то

начало

n[ i ] = n[ i ] - 1;

np[ i ] = 1;

tp[ i ] = to[ i ]

конец

все;

все;

если t £ 0 то

начало

if1 = 0;

для i = 1, 3, 1

если if1 = 0 то

если nz[ i ] = 0 то

начало

nz[ i ] = 1;

DAT ( a[ i ], b[ i ], tz[ i ] );

if1 = 1

конец

все;

все;

если if1 = 0 то not = not + 1

все;

DAT ( ta, tb, t );

конец;

t = t - dt;

для i = 1, 3, 1

начало

если i < 3 то tp[ i ] = tp[ i ] - dt

все;

tz[ i ] = tz[ i ] - dt

конец

конец;

pot = not / ( nend + not );

вывод ( nend, not, pot )

конец;

конец.

алгоритм DAT генерации псевдослучайных чисел равномерно распределенных

в интервале [ a, (a+b) ]

начало

скаляр a, b, c: вещественная;

randomize;

c = a + random ( round ( b ))

конец.

Отчет по лабораторной работе должен содержать:

- исходные данные для моделирования;

- таблицу идентификаторов переменных;

- листинг программы;

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

- вывод.