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

методичка_курсач_иус_2сем

.pdf
Скачиваний:
7
Добавлен:
16.04.2015
Размер:
578.66 Кб
Скачать

Pi

P1

Mi( ож)

M1( ож)

 

 

 

P2

 

 

 

 

 

 

 

 

обс

 

 

 

 

 

 

обс

1

1.2

1.4

1.6

1.8

2

 

1

1.2

1.4

1.6

1.8

2

 

Рис.1

 

 

 

 

 

BUFT

 

 

 

И1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1

 

 

 

 

 

 

D2

 

Пр

Вых.

 

 

 

 

 

 

 

 

 

 

И2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отказ

 

 

 

 

 

 

 

 

 

поток

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUFN

 

 

 

Рис.2

11

 

.

 

. . .

 

 

 

 

.

 

 

 

 

 

И1

1

 

3 4 5

 

 

 

 

9

 

 

 

 

t

.

. .

.

x

.

 

 

 

.

 

 

И2

2

6

7

8

10

11

 

t

 

 

 

 

 

 

x

x

 

x

 

 

 

x

 

BUFT(4)

 

 

 

 

 

 

 

5

 

 

 

8

 

 

10

 

t

 

 

 

 

 

 

 

4

 

 

 

5

 

 

8

 

t

BUFT(3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

4

 

 

5

 

t

BUFT(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

t

BUFT(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“1”

 

 

 

“2”

 

“2”

t

BUFN(4)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“1”

 

 

 

“1”

 

“2”

 

t

BUFN(3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“1”

 

 

 

“1”

“1”

t

BUFN(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“2”

 

 

 

 

 

 

 

 

t

BUFN(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

3

 

 

4

 

t

Пр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

.

 

.

t

поток

 

 

 

 

 

 

 

 

 

 

Вых.

 

 

 

 

 

 

 

 

1

 

3

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ож1

 

 

 

3

 

 

 

 

 

5

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ож2

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.3

12

 

 

 

Начало

 

 

 

 

 

 

 

Задание начальных значений данным,

 

 

 

 

 

 

общим для всего процесса моделирования

 

 

 

 

 

 

Задание начальных значений данным,

 

 

 

 

 

 

определяющим одну реализацию.

 

 

 

 

 

 

 

БООС

 

 

 

 

 

 

 

1

 

2

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

БАС1

 

 

БАС2

 

 

БАС3

 

 

БМС11

БМС1N1

БМС21

БМС2N2

БМС31

 

БМС3N3

 

 

 

 

 

 

Блок обработки ре-

 

 

 

 

НЕТ

KOL(I) > KMIN

ДА

зультатов одной реа-

 

 

 

 

 

 

лизации

 

 

 

 

 

 

I=1,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TAY: = TAY + DTAY

 

 

 

 

 

 

НЕТ

 

 

ДА

 

 

 

 

 

 

 

TAY>TAY2

 

 

 

 

 

 

 

 

 

 

 

 

Рис.4

 

 

 

 

 

 

 

 

 

 

 

 

КОНЕЦ

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

БООС

 

 

НЕТ

 

TPOST(1)<TPOST(2)

ДА

 

 

 

NMIN: := 2

 

 

 

NMIN ::= 1

 

 

 

НЕТ

TOSV<TPOST(NMIN)

ДА

 

 

 

 

 

 

 

 

 

 

ВЫХ 1,2

 

 

 

 

ВЫХ 3

 

 

 

БАС 1,2

 

 

 

 

 

БАС 3

НЕТ

 

ДА

 

 

НЕТ

 

 

ДА

 

INDBUF = 4

 

 

 

INDBUF = 0

 

 

 

 

 

 

 

 

В буфере

 

Буфер

 

 

В буфере есть

 

Буфер

есть место

 

занят

 

 

заявки

 

пуст

 

БМС12

 

БМС11

 

 

БМС31

 

БМС32

 

Запись в буфер

Формирование

 

Выборка из бу-

Формирование

KOTK(NMIN)

 

 

TOSV

 

 

 

фера

 

 

 

 

 

 

 

 

 

 

Генерация след.

Генер. след. заявки

Модификация

 

 

заявки

 

 

 

 

 

 

 

 

 

 

буфера

 

Генер. след. за-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

явки

KOL(NMIN):=

 

KOL(NMIN):=

 

 

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

 

 

KOL(NMIN) + 1

 

KOL(NMIN) + 1

 

 

 

 

 

 

 

Рис.5

Рис. 5

 

 

 

 

 

 

 

 

 

 

 

 

14

 

генерация след. заявки

Нет

Да

 

NMIN =1

TAY(NMIN):=-

T1:=RANDOM, T2:=RANDOM

1.0/LAM(2)*LN(RANDOM)

TAY(NMIN):=-

 

1.0/LAM(1)*(LN(T1)+LN(T2))

TPOST(NMIN):=TPOST(NMIN)+TAY(NMIN)

 

Рис.6

запись заявки в буфер

BUFT(INDBUF+1):=TPOST(NMIN)

BUFN(INDBUF+1):=NMIN

INDBUF:=INDBUF+1

Рис.7

15

 

определение

 

NOMBUF

 

I: = 1

Нет

Да

 

BUFN(I)=1

 

NOMBUF:=I

 

I:=INDBUF

 

I := I+1

Нет

Да

 

I>INDBUF

 

Рис.8

 

выборка и модификация

 

буфера

 

NOMBUF := 1

Да

Нет

IDNBUF=1

Определение

NOMOB := BUFN(1) NOMBUF TOB := BUFT(1)

NOMOB := BUFN(NOMBUF)

TOB := BUFT(NOMBUF)

Модификация буфера (сдвиг заявок)

INDBUF ::= INDBUF-1

Рис.9

16

Сдвиг заявок

I:=NOMBUF

нет

да

I + 1 > INDBUF

BUFT(I) := BUFT(I+1)

BUFN(I) := BUFN(I+1)

I := I + 1

Рис.10

ОБСЛУЖИВАНИЕ

TOG(NOMOB) := TOG(NOMOB) + TOSV – TOB

TOSV := TOSV + TAYOB

KOLOBR(NOMOB) := KOLOBR(NOMOB) + 1

Рис.11

17

TOSV := TPOST(NMIN) + TAYOB

KOLOBR(NMIN) := KOLOBR(NMIN) + 1

. 12

 

Рис.12

 

 

БЛОК ОБРАБОТКИ

BOTK(I) := KOTK(I)/KOL(I),

I = 1, 2

MTOG(I): = TOG(I)/KOBR(I),

I = 1, 2

Рис. 13

 

Рис.13

 

18

7. Состав программного продукта курсовой работы.

Предлагаемая курсовая работа является первым относительно большим программным продуктом, разрабатываемым в процессе обучения на кафедре ИУС. Поэтому здесь особенно важна дисциплина разработки. При разработке программист самостоятельно принимает решения по использованию различных структур данных и организации взаимодействия работы различных частей проекта. Поэтому никакие шаблоны для разработки не навязываются , но разработка должна проводиться при некоторых небольших ограничениях .

1.Программный продукт должен состоять из нескольких модулей. Можно рекомендовать не менее трех вспомогательных модулей , напри-

мер, функциональный, модуль интерфейса и графический модуль, не считая головного модуля.

2.Всю графику исполнять, используя лишь модульGraph. Нельзя использовать библиотеку Turbo Vision , поскольку одна из основных целей курсовой работы – научиться разрабатывать собственные типы объектов .

3.Помимо файлов текстов на языке Pascal разработчик представляет файл Readme.doc , который должен содержать информацию , необходимую и достаточную для эксплуатации программного продукта любым пользователем , знакомым только с существом работы системы массового обслуживания.

4. Все модули разрабатываются только на переменных объектного ти-

па.

5.При использовании объектов желательно применить по необходимости различные возможности объектного программирования, предусмотренного версией языка Turbo Pascal 7.0, а именно, инкапсуляцию, полиморфизм, переопределение методов , виртуальные методы , методы с формальными параметрами, динамические объекты и пр. При этом не надо искусственно усложнять взаимодействие типов объектов , но и не делать объекты формально, т.е. даже без полей данных, как некоторые нерадивые студенты пытаются делать.

8. Рекомендации по разработке модулей .

Функциональный модуль.

Функциональный модуль содержит описания всех типов используемых в нем объектов , например , объекты типа ‘Прибор’ , ‘Источник’ или ‘Буфер’ или какие –либо другие объекты, в зависимости от замысла разбивки на объекты всей моделируемой системы. При этом могут быть использованы некоторые вспомогательные модули для моделирования функционирования предложенной системы. Но не надо усложнять реализацию самого функционирования системы .

Можно эту часть работы выполнить в виде одного модуля.

19

Методы функционального модуля должны обеспечить формирование результатов одной длинной реализации, т.е. зависимость интересующих нас величин (вероятностей отказов, математического ожидания времени пребывания в системе и пр.) от количества заявок, поступивших от самого ‘медленного’ источника , т.е. источника с минимальной интенсивностью потока заявок. Эти данные в процессе моделирования сразу же в графическом режиме надо выводить на экран , с оцифровкой по осям координат. Именно на основании поведения этих кривых и выбирается необходимое число реализаций KMIN.

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

Модуль интерфейса.

Интерфейсный модуль содержит описание объектов, позволяющих формировать пользовательского меню с выпадающим подменю.

В качестве основных пунктов меню можно принять следующие: ‘Установка параметров’, ‘Моделирование’ , ‘Результаты’ , ‘Помощь’ . У каждого пункта основного меню должно быть по 2-3 пунктов подменю. Например, для ‘Установки параметров’ можно предусмотреть все устанавливаемые параметры системы. Для пункта ‘Моделирование ’ можно предусмотреть подпункты ‘С отображением графиков’ зависимостей параметров от числа заявок и ‘Без отображения процесса моделирования’. В меню ‘Результаты’ можно предусмотреть вывод окончательных зависимостей в виде таблиц либо в виде графиков и предусмотреть вывод любой заданной величины. В пункте ‘Помощь’ предусмотреть вывод основной информации инструкции пользователя , которая содержится в файле Readme.doc.

Модуль графики.

Модуль графики содержит основные объекты, необходимые для вывода в процессе моделирования зависимостей интересующих параметров от числа заявок . При этом информация для этих графиков (например, вероятности отказов) получается и сразу же выводится на график. Не надо формировать большие массивы и только потом их выводить. Графики строятся в режиме ‘Online’ в самом процессе моделирования.

Кроме того, этот модуль должен обеспечить вывод результирующих зависимостей интересующих параметров от варьируемой в задаче величины . Эти

20