Обычно последним шагом перед началом машинной реализацией модели является проверка достоверности схемы модели, чтобы получить результаты, адекватные тем, которые могли быть получены при проведении натурального эксперимента с реальной системой.
В рассматриваемой задаче проверка достоверности проводится просто, так как блок – диаграмма GPSS однозначно соответствует формализации модели в виде Q-схемы. Для этого достаточно ещё раз сопоставить блок – диаграмму с Q-схемой модели с учётом расширения описания элементов Q-схемы (источников, накопителей и каналов) блоками различных категорий GPSS.
Рис. 2. Блок – диаграмма GPSS исследуемой системы.
Текст программы.
При достаточной подробности схемы программы, отражающей все операции логической схемы модели, можно приступить к программированию модели.
Для данного задания, переход от блок – диаграммы GPSS к программе, является формальным шагом, так как заключается в записи пространственной структуры в линейной виде, что не требует специальных навыков. Следующая GPSS – программа получена из блок – диаграммы.
NN1 STORAGE 10 //выделение 10 памяти для NN1
NN2 STORAGE 10 //выделение 10 памяти для NN2
MET1 GENERATE 5,1 //интервал поступления деталей 1-ого типа
SPLIT 4 //копирование 4 деталей, 5 деталей идет далее.
QUEUE QUE1 //занятие очереди QUE1
ENTER NN1 //вход в накопитель NN1
DEPART QUE1 //освобождение очереди QUE1
SAVEVALUE 1+,1 //увеличивает и сохраняет значение
TEST E Q1,10,MET3 //проверяем условие: если Q1=10, то переход к метке MET3
LEAVE NN1,10 //освобождает 10 единиц памяти в накопителе NN1
TERMINATE 9 //уничтожение 9 транзактов
MET2 GENERATE 20.7 //интервал поступления деталей 2-ого типа
SPLIT 19 //копирование 19 деталей 20 деталей идут далее.
QUEUE QUE2 //занятие очереди QUE2
ENTER NN2 //вход в накопитель NN2
DEPART QUE2 //освобождение очереди QUE2
TEST E Q2,10,MET3 //проверяем условие: если Q2=10, то переход к метке MET3
LEAVE NN2,10 // освобождает 10 единиц памяти в накопителе NN2
MET3 SEIZE KAN //занятие канала KAN
ADVANCE 10 //обработка в канале KAN
RELEASE KAN //освобождение KAN
TERMINATE //уничтожение транзакта
GENERATE 480 //время работы конвейера
TERMINATE 1 //уничтожение транзакта
START 1
END
Описание текста программы.
Выделяем память под накопитель NN1 равную 10 и NN2 равную 10.
После этого в метке MET 1 начинается генерация транзактов с частотой 5±1. При помощи блока SPLIT создается 4 копии, а 5 транзактов идут далее через очередь в накопитель NN1. Блоком SAVEVALUE увеличиваем значение. При помощи блока TEST проверяем значение, если наличие деталей равно 10, то значение передается в метку MET 3. Далее идет освобождение в памяти NN1 10 единиц памяти уничтожение 9 транзактов.
В метке MET 2 начинается генерация транзактов с частотой 20±7. При помощи блок SPLIT создается 19 копии, а 20 транзактов идут далее через очередь в накопитель NN2. При помощи блок TEST проверяем значение, если наличие деталей равно 10, то значение передается в метку MET 3. Далее идет освобождение в памяти NN2 10 единиц памяти уничтожение 9 транзактов.
В метку MET 3 поступают детали с MET 1 и MET 2 в количестве 10 штук каждого типа и обрабатываются в течение 10 минут и удаляются из системы.
Один транзакт генерируется через интервал 480 минут времени.
Блок TERMINATE удаляет 1 транзакт из системы и вычитается 1 из счетчика числа завершенной карты START.
Результаты моделирования.
Получение и интерпретация результатов исследования – это третий этап моделирования, когда инструментальная ПЭВМ используется для проведения рабочих расчётов по составленной и отлаженной программе. Результаты этих расчётов позволяют провести анализ и сформулировать выводы о характеристиках процесса функционирования моделируемой системы. При реализации моделирующих алгоритмов на ПЭВМ вырабатывается информация о состояниях процесса функционирования исследуемой системы, которая является исходным материалом для приближённой оценки искомых характеристик, получаемых в результате имитационного эксперимента с моделью.
В результате прогона модели были получены следующие результаты:
REAL_TIME START END_TIME BLOCKS FACIL. STORAG. QUEUE
00:00 0 480 23 1 2 2
______________________________________________________
1 | N=96 ¦ W=0 | GENERATE ¦ 5 ¦ 1
2 | N=480 ¦ W=0 | SPLIT ¦ 4
3 | N=480 ¦ W=470 | QUEUE ¦ QUE1
4 | N=10 ¦ W=0 | ENTER ¦ NN1
5 | N=10 ¦ W=0 | DEPART ¦ QUE1
6 | N=10 ¦ W=0 | SAVEVALUE ¦ 1+ ¦ 1
7 | N=10 ¦ W=0 | TEST E ¦ Q1 ¦ 10 ¦ MET3
8 | N=0 ¦ W=0 | LEAVE ¦ NN1 ¦ 10
9 | N=0 ¦ W=0 | TERMINATE ¦ 9
10 | N=24 ¦ W=0 | GENERATE ¦ 20 ¦ 7
11 | N=480 ¦ W=0 | SPLIT ¦ 19
12 | N=480 ¦ W=470 | QUEUE ¦ QUE2
13 | N=10 ¦ W=0 | ENTER ¦ NN2
14 | N=10 ¦ W=0 | DEPART ¦ QUE2
15 | N=10 ¦ W=0 | TEST E ¦ Q2 ¦ 10 ¦ MET3
16 | N=0 ¦ W=0 | LEAVE ¦ NN2 ¦ 10
17 | N=0 ¦ W=0 | TERMINATE ¦ 9
18 | N=20 ¦ W=0 | SEIZE ¦ KAN
19 | N=20 ¦ W=0 | ADVANCE ¦ 10
20 | N=20 ¦ W=0 | RELEASE ¦ KAN
21 | N=20 ¦ W=0 | TERMINATE
22 | N=1 ¦ W=0 | GENERATE ¦ 480
23 | N=1 ¦ W=0 | TERMINATE ¦ 1
FACILITY ENTRIES UTIL. AVE.TIME
KAN 20 0,4167 10,0000
QUEUE MAX CONT. ENTRIES ENTRIES(0)AVE.CONT AVE.TIME
QUE1 470 470 480 10 231,4063 231,4063
QUE2 470 470 480 10 223,5000 223,5000
STORAGE CAP. REMAIN MIN MAX ENTRIES AVE.C. UTIL.
NN1 10 0 10 10 9,8646 0,9865
NN2 10 0 10 10 9,5000 0,9500
SAVEVALUE VALUE
1 10
Первый блок содержит общие сведения о модели и ее прогоне
Из него можно узнать следующее:
1. Модельное время начала (START_TIME) – 0;
2. Модельное время окончания (END_TIME) прогона – 480;
3. Количество блоков в модели (BLOCKS) – 23;
4. Количество устройств (FACILITIES) – 1;
5. Количество накопителей (STORAGES) – 2;
6. Количество многоканальных устройств или очередей (QUEUE) – 2;
Из второго блока можно получить сведения об устройствах модели.
По данному отчету можно сказать следующее:
1. В исследуемой системе использовано одно устройство с именем (FACILITIES)
KAN;
2. Устройства занимались (ENTRIES) 20 раз;
3. Коэффициенты использования (UTIL.) составили 0,4167;
4. Среднее время на одно занятие (AVE. TIME) – 10 минут;
Третий блок содержит сведения о всех очередях, используемых в системе.
Третий блок содержит сведения обо всех накопителях, используемых в системе.
NN1 10 5 5 5 4,9479 0,4948
NN2 10 0 10 10 9,5833 0,9583
По представленным сведениям можно сказать следующее:
1. Моделируемая система содержит два накопителя (STORAGES) с именами NN1 и NN2;
2. Емкость устройства (CAP.) памяти равна 10, 10 соответственно;
3. Количество свободных каналов в момент завершения моделирования (REMAIN.) - 5, 0 соответственно;
4. Наименьшее (MIN) количество занятых каналов в процессе моделирования – 5, 10 соответственно;
5. Наибольшее (MAX) количество занятых каналов в процессе моделирования – 5, 10 соответственно;
Страницы: 1, 2, 3