Автор: Пользователь скрыл имя, 15 Января 2013 в 22:15, курсовая работа
Моделирование в широком смысле является основным методом исследований во всех областях знаний и научно обоснованным методом оценок характеристик сложных систем, используемым для принятия решений в различных сферах инженерной деятельности. Существующие и проектируемые системы можно эффективно исследовать с помощью математических моделей (аналитических и имитационных), реализуемых на современных ЭВМ, которые в этом случае выступают в качестве инструмента экспериментатора с моделью системы.
На первом этапе разработки концептуальной модели построим структурную схему модели, приведенную на рисунке 1.
Рисунок 1 – Структурная схема модели
В данном случае стрелками показаны направления движения пакетов. Как можно заметить, часть пакетов не обрабатывается из-за переполнения очередей и пропадает.
На втором этапе разработки концептуальной модели для её формализации построим систему на базе Q – схем. В качестве элементов структуры Q – схем будем рассматривать элементы трех типов: И – источник; Н – накопитель; К – каналы передачи пакетов. Структурная схема, сформированная на базе Q – схем, представлена на рисунке 2.
Рисунок 2 – Структурная схема модели на базе Q–схем
Источник И генерирует пакеты. К1-К4 – каналы передачи пакетов между пунктами, К5-К6 резервные каналы передачи. Накопители Н1 и Н2 имитируют емкость пунктов А и В соответственно, поступление пакетов в которые регулируют клапаны 1-2. В случае достижения емкости в пункте В порогового значения закрывается клапан 2 и подключаются резервные каналы К5 и К6.
2.4 Алгоритмизация модели и её машинная реализация
На данном этапе моделирования необходимо провести реализацию идей и математических схем в виде машинной модели, ориентированной на использование конкретных программно-технических средств.
В качестве языка имитационного моделирования был выбран язык GPSS, благодаря способности моделирования систем массового обслуживания.
На данном этапе нужно построить блок-диаграмму модели. Изобразим её на рисунке 3. По полученной блок-диаграмме составим текст программы на языке имитационного моделирования GPSS.
Также необходимо построить общий алгоритм работы программы. Структурная схема данного алгоритма представлена на рисунке 4.
АВ
Рисунок 3 – Блок-диаграмма GPSS-модели
Рисунок 4 – Общая структурная схема алгоритма работы программы
В цикле программы происходит создание потоков. Каждый такой поток представляет собой транзакт, который движется по модели. Учёт системного времени не ведется, происходят задержки потока на заданное время.
При переполнении буфера А происходит удаление лишних транзактов, при этом происходит считывание их количества. Информация о количестве удаленных транзактов выводится пользователю.
Для нахождения вероятности подключения резервной аппаратуры необходимо разделить количество пакетов, прошедших через резервную аппаратуру на общее число пакетов, прошедших через систему.
Отчёт работы программы, написанной на
языке имитационного
3 Реализация модели на
3.1 Структура программы
Для реализации алгоритма моделирования на общесистемноv языке программирования была выбрана система объектно-ориентированного программирования Borland Delphi 7.0. Данный выбор обоснован простотой и малым временем, требующимся для разработки программного обеспечения в данной среде. Также немалую роль сыграл тот факт, что откомпилированные в ней приложения совместимы с семейством Microsoft Windows 9x и Microsoft Windows NT, а данные операционные системы широко распространены.
В программе реализован режим быстрого моделирования, при котором моделирование производится непрерывно, после чего выдаются окончательные результаты.
3.2 Описание диалога с
Исполняемый файл программы называется Project1.exe. При его запуске на экране появляется окно, показанное на рисунке 5.
Рисунок 5 – Основное окно программы
В левой части окна представлен текст поставленной задачи. Имеется возможность изменить входные значения, такие как максимальная длина очереди в пункте А, время генерации пакетов, и т.д.
В правой части окна представлено описание процесса моделирования.
При нажатии кнопки «Моделировать» на экране появляется окно, показанное на рисунке 6.
В ходе работы программы в правой части окна можно наблюдать за степень загруженности буферов А и В соответственно, а также за количеством потерянных транзактов и изменение вероятности подключения резервной аппаратуры.
Рисунок 6 – Процесс моделирования
На рисунках 7 и 8 представлены результаты, полученные в ходе процесса моделирования при неизменных исходных входных данных.
Рисунок 7 – Результат моделирования (1).
Рисунок 8 – Результат моделирования (2).
3.3 Сравнение результатов
Теперь выполним несколько прогонов полученных программ, написанных на GPSS и общесистемном языке программирования, и средние результаты занесём в таблицу 1 и сравним.
Вероятность запуска аппаратуры вычислим по формуле
(1)
где К1 – количество транзактов, прошедших через резервную аппаратуру, а К – число пакетов, прошедших через систему.
Таблица 1 – Сравнение полученных результатов
Характеристика |
Значение, полученное в программе | |
на GPSS |
на Delphi | |
Количество пакетов, потерянных перед А |
0 |
0 |
Число пакетов, прошедших через систему |
500 |
500 |
Количество транзактов, прошедших через резервную аппаратуру |
72 |
74 |
Вероятность использования резервной аппаратуры |
0,144 |
0,148 |
Из данной таблицы видно, что результаты, выдаваемые обеими программами, близки друг к другу, следовательно составленные алгоритмы работают верно.
Следует заметить, что при данных входных величинах возможно переполнение буфера в пункте А и потеря пакетов, поэтому необходимо оптимизировать входные данные таким образом, чтобы все пакеты заходили в блок А.
При данных входных величинах наблюдается переполнение буфера в пункте В, поэтому необходимо оптимизировать входные данные таким образом, чтобы не было подключений резервной аппаратуры. Путём ряда запусков программ и экспериментального ввода различных значений в качестве входных данных, было установлено, что при установке значения емкости буфера в пункте В равным 27 пакетов, резервная аппаратура не подключается .
Таким образом, разработанный нами алгоритм моделирования исходной системы является работоспособным. Отличие результатов моделирования программ, написанных в GPSS и Borland Delphi, обусловлено неравномерностью распределение случайной величины.
Заключение
При разработке курсового проекта были рассмотрены основные определения и понятия моделирования систем, общие сведения о языке имитационного моделирования GPSS.
Кроме этого была спроектирована и реализована модель работы системы по передаче пакетов данных.
В ходе выполнения курсового проекта были разработаны 2 алгоритма реализации модели и на их основе написаны программы на языке имитационного моделирования GPSS и в среде объектно-ориентированного программирования Borland Delphi.
Результаты, выдаваемые обеими программами, несущественно различаются, что вызвано особенностями работы функции получения случайного числа в Borland Delphi.
Следует заметить, что решение поставленной задачи средствами GPSS занимает гораздо меньше времени, а следовательно может быть признано более оптимальным.
Список литературы
Приложение А
(обязательное)
Листинг программы в GPSS
5 simulate
10 GENERATE 10,5,0,500
15 AB storage 20
20 BC storage 25
25 enter AB
30 Transfer .5,metAB1,metAB2
40 metAB1 seize AB1
41 leave AB
50 ASSIGN 1,1
60 ADVANCE 20
70 RELEASE AB1
80 Transfer,metBC
90 metAB2 SEIZE AB2
91 leave AB
100 ASSIGN 1,2
110 ADVANCE 20,5
120 RELEASE AB2
130 metBC enter BC
131 SAVEVALUE SAV+,1
140 TEST L X$SAV,20,RezervBC
150 test E p1,1,metBC2
152 seize BC1
153 leave BC
170 ADVANCE 25,3
180 savevalue countStandartMode+,1
182 SAVEVALUE SAV-,1
190 release BC1
200 terminate 1
210 metBC2 seize BC2
213 leave BC
220 ADVANCE 25
230 savevalue countStandartMode+,1
232 SAVEVALUE SAV-,1
240 release BC2
250 terminate 1
260 RezervBC test E p1,1,metRBC2
261 seize RBC1
262 leave BC
270 ADVANCE 15
280 savevalue countRezervMode+,1
282 SAVEVALUE SAV-,1
290 release RBC1
300 terminate 1
320 metRBC2 seize RBC2
324 leave BC
340 ADVANCE 15
350 savevalue countRezervMode+,1
352 SAVEVALUE SAV-,1
360 release RBC2
370 terminate 1
390 start 500
400 clear
410 start 500
420 clear
430 start 500
440 clear
Приложение Б
(справочное)
Отчёты программы, реализованной с помощью GPSS
GPSS World Simulation Report - var4_2.151.2
Monday, May 30, 2011 03:56:09
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 5730.267 48 6 2
NAME VALUE
AB 10000.000
AB1 10004.000
AB2 10006.000
BC 10001.000
BC1 10010.000
BC2 10012.000
COUNTREZERVMODE 10015.000
COUNTSTANDARTMODE 10011.000
METAB1
METAB2 10.000
METBC 15.000
METBC2 26.000
METRBC2 41.000
RBC1 10014.000