Автор работы: Пользователь скрыл имя, 26 Декабря 2011 в 16:29, курсовая работа
Прозрачность для пользователя ценна по трем причинам. Во-первых, опасно полагаться на непрозрачное моделирование типа «черный ящик», внутренние механизмы функционирования которого скрыты от пользователя. Мало того, что в этом случае нельзя быть уверенным, подходит ли оно для какого-либо конкретного случая, но и невозможно гарантировать, что оно работает, как задумано. Во-вторых, удачные имитационные модели являются очень ценными и пригодны в течение длительного периода времени.
Введение 6
Глава 1. 12
1.1 Техническое задание. 12
1.2 Анализ технического задания. 13
1.3. Формализация концептуальной модели… ………………………………14
1.4. Формализация Q-схемы. 15
1.5. Вывод. 16
Глава 2. 17
2.1. Блок-схема. 17
2.2. Эксперименты 18
2.3. Спецификация блоков моделирования. 27
1.5. Вывод. 29
Глава 3. 30
3.1. Анализ результатову модели. 30
3.2. Заключение 32
Литература. 33
403 0 4023.125 403 14 15
404 0 4026.717 404 0 1
400
0 4029.845 400
7 8
Эксперимент 3
Листинг
CPU_1 storage 2 ;объем накопителя 1
CPU_2 storage 2 ;объем накопителя
2
GENERATE 10,3 ;
ADVANCE 2 ;предварительная обработка запроса
TRANSFER 0.5,BLK1,BLK2
BLK1 QUEUE o4 ;очередь
ENTER CPU_1 ;устройство обработки 1
DEPART o4 ;вывод из очереди
ADVANCE 18,2 ;задержка обработки
LEAVE CPU_1 ;закрытие устройства
SAVEVALUE bl1+,1 ;
TERMINATE 1
BLK2 SEIZE 1
ADVANCE 3 ;задержка передачи по каналу связи
RELEASE 1
ADVANCE 2
QUEUE o42
ENTER CPU_2 ;устройство обработки 2
DEPART o42
ADVANCE 18,2 ;задержка обработки
LEAVE CPU_2 ;закрытие устройства 2
SEIZE 2
ADVANCE 3
RELEASE 2
SAVEVALUE bl2+,1
TERMINATE 1
start 400
Отчет 3
GPSS World Simulation Report - Untitled Model 1.5.1
Friday, June 13, 2008 12:00:43
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 4069.841
24 2
2
NAME VALUE
BL1 10005.000
BL2 10004.000
BLK1
BLK2 11.000
CPU_1 10000.000
CPU_2 10001.000
O4 10003.000
O42
10002.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 402 0 0
2 ADVANCE 402 0 0
3 TRANSFER 402 0 0
BLK1 4 QUEUE 209 0 0
5 ENTER 209 0 0
6 DEPART 209 0 0
7 ADVANCE 209 0 0
8 LEAVE 209 0 0
9 SAVEVALUE 209 0 0
10 TERMINATE 209 0 0
BLK2 11 SEIZE 193 0 0
12 ADVANCE 193 0 0
13 RELEASE 193 0 0
14 ADVANCE 193 1 0
15 QUEUE 192 0 0
16 ENTER 192 0 0
17 DEPART 192 0 0
18 ADVANCE 192 1 0
19 LEAVE 191 0 0
20 SEIZE 191 0 0
21 ADVANCE 191 0 0
22 RELEASE 191 0 0
23 SAVEVALUE 191 0 0
24 TERMINATE
191
0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
1 193 0.142 3.000 1 0 0 0 0 0
2
191 0.141 3.000
1 0 0
0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
O42 1 0 192 180 0.003 0.070 1.115 0
O4
1 0 209 193
0.008 0.151
1.974 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
CPU_1 2 2 0 2 209 1 0.928 0.464 0 0
CPU_2
2 1 0 2
192 1 0.846 0.423
0 0
SAVEVALUE RETRY VALUE
BL2
0 191.000
BL1
0 209.000
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
402 0 4070.059 402 14 15
403 0 4070.904 403 0 1
401 0 4075.848 401 18 19
2.3 Спецификация
блоков модели
Для создания транзактов, входящих в модель, служит блок
GENERATE (генерировать), имеющий следующий
формат:
имя GENERATE A,B,C,D,E
В поле A задается среднее значение интервала времени между
моментами поступления в модель двух последовательных транзактов. Если
этот интервал постоянен, то поле B не используется. Если же интервал поступления является случайной величиной, то в поле B указывается модификатор среднего значения, который может быть задан в виде
модификатора-интервала или модификатора-функции.
Модификатор-интервал используется, когда интервал поступления
транзактов является
случайной величиной с
поступления имеет
границы A-B, A+B.
ADVANCE A,B – блок задерживает продвижение транзакта на заданный интервал времени.
Его операнды:
А – средний интервал времени.
В
– половина временного интервала или
модификатор-функция.
Блок TRANSFER (передать) служит для передачи входящих в него
транзактов в блоки, отличные от следующего. Блок имеет девять режимов работы, из которых рассмотрим здесь лишь три наиболее часто
используемых. В этих трех режимах блок имеет следующий формат:
имя TRANSFER A,B,C
Смысл операндов в полях A, B и C зависит от режима работы блока.
В режиме безусловной передачи поля A и C пусты, а в поле B
указывается имя блока, к которому безусловным образом направляется
транзакт, вошедший
в блок TRANSFER.
Объекты типа очередь создаются в модели путем использования
блоков - регистраторов очередей: QUEUE (стать в очередь) и DEPART
(уйти из очереди), имеющих следующий формат:
имя 0QUEUE A,B
имя DEPART A,B
В поле A указывается номер или имя очереди, а в поле B – число
единиц, на которое
текущая длина очереди
транзакта в блок QUEUE или уменьшается при входе транзакта в блок
DEPART. Обычно
поле B пусто, и в этом случае
его значение по умолчанию
принимается равным 1.
Для занятия и освобождения каналов обслуживания МКУ используется пара блоков ENTER (войти) и LEAVE (покинуть), имеющих следующий формат:
имя ENTER A,B
имя LEAVE A,B
В поле A указывается номер или имя МКУ, в поле B число каналов МКУ, занимаемых при входе в блок ENTER или освобождаемых при входе в блок LEAVE. Обычно поле B пусто, и в этом случае по умолчанию занимается или освобождается один канал.
При входе транзакта в блок ENTER текущее содержимое МКУ увеличивается на число единиц, указанное в поле B . Если свободная емкость МКУ меньше значения поля B, то транзакт не может войти в блок ENTER и остается в предыдущем блоке, образуя очередь в списке текущих событий.
При входе
транзакта в блок LEAVE текущее
содержимое МКУ уменьшается на число единиц,
указанное в поле B. Не обязательно освобождается
такое же число каналов МКУ, какое занималось
при входе данного транзакта в блок ENTER,
однако текущее содержимое МКУ не должно
становиться отрицательным.
Для изменения сохраняемых величин в процессе моделирования
служит блок SAVEVALUE (сохранить величину), имеющий следующий формат:
имя SAVEVALUE A,B
В поле A указывается номер или имя сохраняемой величины, в которую
записывается значение операнда B. Если в поле A после имени (номера) сохраняемой величины стоит знак + или -, то значение операнда B добавляется или вычитается из текущего содержимого сохраняемой
величины.
2.4 Вывод
В результате работы со второй главой мной были рассмотрены и изучены следующие вопросы
Из отчета по первому эксперименту мы видим что в очереди перед первым ЭВМ у нас находиться 7 транзактов, а перед вторым 4, соответственно объем накопителей по единице не является оптимальным. Проводим 2 эксперимент, увеличивая емкость второго накопителя до двух.
Из отчета второго эксперимента мы видим что перед вторым ЭВМ у нас нет очереди, а перед первым ЭВМ в очереди находиться 7 транзактов соответственно емкость первого накопителя не оптимальна. Проведем третий эксперимент увеличив емкость первого накопителя до двух.
Информация о работе Имитационное моделирование системы распределенного банка данных