"Третий пример использования цепей текущих и будущих событий"
В примере моделирования 2С делается различие между уровнями приоритетои транзактов в двух сегментах модели. Это приводит к реализации в модели дисциплины обслуживания "первым пришел - первым обслужен внутри приоритетного класса". Некоторые сомнения, которые могли остаться относительно того, почему эта дисциплина обслуживаия является результатом управления уровнями приоритетов транзактов, могут быть сняты при рассмотрении численного примера, показывающего метод использования интерпретатором GPSS цепей будущих и текущих событий при моделировании системы, изображенной на рис.2С.4. Начальные условия такого примера мы сейчас рассмотрим.
Рис.2С.4. Распечатка программы из примера моделирования 2С (с приоритетами).
BLOCK CARD NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS SIMULATE * * MODEL SEGMENT 1 * 1 GENERATE 420,360,,,1 CATEGORY 1 MECHANICS ARRIVE 2 QUEUE LINE ENTER "CATEGORY I SEGMENT" OF LINE 3 SEIZE CLERK CAPTURE ТHЕ CLERK 4 DEPART LINE LEAVE THE LINE 5 ADVANCE 300,90 USE THE CLERK 6 RELEASE CLERK FREE THE CLERK 7 TERMINATE LEAVE THE TOOL CRIB AREA * * MODEL SEGMENT 2 * 8 GENERATE 360,240,,,2 CATEGORY 2 MECHANICS ARRIVE 9 QUEUE LINE ENTER "CATEGORY 2 SEGMENT" OF LINE 10 SEIZE CLERK CAPTURE THE CLERK 11 DEPART LINE LEAVE THE LINE 12 ADVANCE 100,30 USE THE CLERK 13 RELEASE CLERK FREE THE CLERK 14 TERMINATE LEAVE THE TOOL CRIB AREA * MODEL SEGMENT 3 * 15 GENERATE 28800 TIMER AHRIVES AFTER 8 HOURS 16 TERMINATE 1 SHUT OFF THE RUN * * CONTROL CARDS * START 1 START THE RUN END RETURN CONTROL TO OPERATING SYSTEM |
Рис.2.34 является повторением распечатки программы модели примера 2С. В табл.2.19 с использованием номеров блоков рис. 2.34 представлены интервалы времени прихода и времени обслуживания, которые возникают в различных блоках GENERATE и ADVANCE модели. И, наконец, на рис.2.35 представлены состояния транзактов, находящихся в цепях текущих и будущих событий.
Рис. 2.34. Повторение рис. 2С.4.
BLOCK NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS SIMULATE * * MODEL SEGMENT 1 * 1 GENERATE 420,360,,,1 CATEGORY I MECHANICS ARRIVE 2 QUEUE LINE ENTER "CATEGORY I SEGMENT" OF LINE 3 SEIZE CLERK CAPTURE THE CLERK 4 DEPART LINE LEAVE THE LINE 5 ADVANCE 300,90 USE THE CLERK 6 RELEASE CLERK FREE THE CLERK 7 TERMINATE LEAVE THE TOOL CRIB AREA * * MODEL SEGMENT 2 * 8 GENERATE 36O,240,,,2 CATEGORY 2 MECHANICS ARRIVE 9 QUEUE LINE ENTER "CATEGORY 2 SEGMENT" OF LINE 10 SEIZE CLERK CAPTURE THE CLERK 11 DEPART LINE LEAVE THE LINE 12 ADVANCE 100,30 USE THE CLERK 13 RELEASE CLERK FREE THE CLERK 14 TERMINATE LEAVE THE TOOL CRIB AREA * * MODEL SEGMENT 3 * 15 GENERATE 28800 TIMER ARRIVES AFTER 8 HOURS 16 TERMINATE 1 SHUT OFF THE RUN * * CONTROL CARDS * START 1 START THE RUN END RETURN CONTROL TO OPERATING SYSTEM |
Таблица 2.19.
Номер блока | Тип блока | Моделируемое событие | Последовательность интервалов |
1 | GENERATE | Приход механиков, делающих запросы категории 1 | 392, 223, 426, ... |
5 | ADVANCE | Обслуживание запросов категории 1 | 309, ... |
8 | GENERATE | Приход механиков, делающих запросы категории 2 | 403, 279, 352, ... |
12 | ADVANCE | Обслуживание запросов категории 2 | В примере не используется |
15 | GENERATE | Таймер | 28800 |
Номер строки | Модельное время | Цепь текущих событий к началу цепи | Цепь будущих событий к началу цепи |
1 | ДФВ | Пусто | Пусто |
2 | ПФВ | Пусто | [1,392,HET,1,1] [2,403,HET,2,8] [3,28800,HET,0,15] |
3 | 392 | [1,KMP,HET,1,1] | [2,403,HET,2,8] [3,28800,HET,0,15] |
4 | 392 | Пусто | [2,403,HET,2,8] [4,615,HET,1,1] [1,701,5,1,6] [3,28800,HET,0,15] |
5 | 403 | [2,KMP,НЕТ,2,8] | [4,615,HET,1,1] [1,701,5,1,6] [3,28800,HET,0,15] |
6 | 403 | [2,KMP,9,2,10] | [4,615,HET,1,1] [5,682,HET,2,8] [1,701,5,1,6] [3,28800,HET,0,15] |
7 | 615 | [2,KMP,9,2,10] [4,KMP,HET,1,1] | [5,682,HET,2,8] [1,701,5,1,6] [3,28800,HET,0,15] |
8 | 615 | [2,KMP,9,2,10] [4,KMP,2,1,3] | [5,682,HET,2,8] [1,701,5,1,6] [6,1041,HET,1,1] [3,28800,HET,0,15] |
9 | 682 | [2,KMP,9,2,10] [5,KMP,HET,2,8] [4,KMP,2,1,3] | [1,701,5,1,6] [6,1041,HET,1,1] [3,28800,HET,0,15] |
10 | 682 | [2,KMP,9,2,10] [5,KMP,9,2,10] [4,KMP,2,1,3] | [1,701,5,1,6] [7,1034,HET,2,8] [6,1041,HET,1,1] [3,28800,HET,0,15] |
Мы не будем тщательно пояснять каждую запись на рис. 2.35. Те, кому это интересно, могут сами построить состояния цепей в соответствии с процедурой, тщательно описанной в первом и втором примерах использования цепей. Для нас интересным являются лишь строки 6, 8 и 10, показывающие состояния цепей в конце фазы просмотра в моменты времени 403, 615 и 682 соответственно.
Главная Содержание главы 1