ТЕМА (1086517), страница 13
Текст из файла (страница 13)
УПРАЖНЕНИЯ §13
"Первый пример использования цепей текущих и будущих событий"
-
Общие вопросы по теме параграфов 12 и 13.
а) Что такое "время движения" ?.
б) Какая информация записывается в пятой позиции пятипозиционной записи транзакта?
в) Сколько всего существует цепей текущих и будущих событий?
г) В каком порядке располагаются транзакты в цепи будущих событий?
д) В каком случае могут возникнуть временные узлы в цепи будущих событий? Если они возникают, то как они разрешаются?
е) В каком порядке располагаются транзакты в цепи текущих событий?
ж) В каком случае могут возникнуть временные узлы в цепи текущих событий? Если они возникают, то как они разрешаются?
з) Как интерпретатор GPSS в момент начала фазы коррекции таймера определяет время будущего события в модели?
и) После того, как таймер модельного времени продвинут, сколько транзактов выбирается из цепи будущих событий и помещается в цепь текущих событий?
к) При таких условиях транзакт выбирается из цепи текущих событий и помещается обратно в цепь будущих событий?
л) В чем разница между пассивным и активным буферами транзактов в модели?
м) В каком порядке располагаются транзакты в пассивном буфере?
н) Почему нет необходимости разрешать проблему временных узлов в пассивном буфере?
о) Каким образом транзакты могут "жить" несколько раз в течение периода моделирования?
п) Проанализируйте следующее утверждение: "После каждой коррекции таймера модельного времени интерпретатор GPSS просматривает цепь текущих событий ровно один раз, а затем снова осуществляет коррекцию времени".
р) Почему может случиться так, что цепь текущих событий не обязательно должна быть пустой, прежде чем интерпретатор перейдет к выполнению фазы коррекции времени?
с) Проанализируйте следующее утверждение: "После завершения фазы ввода модели в цепи будущих событий находится ровно один транзакт для каждого блока GENERATE в модели".
т) Проанализируйте следующее утверждение: "Наименьшим временем движения, которое когда-либо может иметь транзакт, является 1".
у) Правильно ли то, что цепь текущих событий всегда пуста сразу после завершения фазы ввода модели? -
Специальные вопросы по параграфу 13,пример использования цепей.
а). Каков уровень приоритетов у всех транзактов в модели. на рис. 2.26?
Почему этот уровень приоритетов только один?
| BLOCK NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS SIMULATE * * MODEL SEGMENT 1 * 1 GENERATE 18,6 CUSTOMERS ARRIVE 2 QUEUE JOEQ ENTERTHE LINE 3 SEIZE JOE CAPTURE THE BARBER 4 DEPERT JOEQ LEAVE THE LINE 5 ADVANCE 16,4 USE THE BARBER 6 RELEASE JOE FREE THE BARBER 7 TERMINATE LEAVE THE SHOP * * MODEL SEGMENT 1 * 8 GENERATE 480 TIME ARRIVES AT TIME 480 9 TERMINATE 1 SHUT OFF THE RUN * * CONTROL CARDS * START 1 SRART THE RUN END RETURN CONTROL TO OPERATING SYSTEM |
Рис.2.26
б). Может ли транзакт 2 когда-либо войти в модель, символизируя собой клиента? Почему да или почему нет?
в). Продолжите таблицу на рис. 2.27 так, чтобы она включала строки 11, 12, 13 и 14. При этом считайте, что следующим разыгранным значением интервала прихода в блок 1 является 16, а следующим временем обслуживания в блоке 5 является 17.
| Состояния цепей для первого примера испльзования цепей текущих и будущих событий: КМР - "как можно раньше" | |||
| Номер строки | Модельное время | Цепь текущих событий к началу цепи | Цепь будущих событий к началу цепи |
| 1 | До фазы ввода | Пусто | Пусто |
| 2 | После фазы ввода | Пусто | [1,14,НЕТ,0,1] [2,480,НЕТ,0,8] |
| 3 | 14 | [1,КМР,НЕТ,0,1] | [2,480,НЕТ,0,8] |
| 4 | 14 | Пусто | [3,27,НЕТ,0,1] [1,32,5,0,6] [2,480,НЕТ,0,8] |
| 5 | 27 | [3,KMP,НЕТ,0,1] | [1,32,5,0,6] [2,480,НЕТ,0,8] |
| 6 | 27 | [3,KMP,2,0,3] | [1,32,5,0,6] [4,44,НЕТ,0,1] [2,480,НЕТ,0,8] |
| 7 | 32 | [3,KMP,2,0,3] [1,KMP,5,0,6] | [4,44,НЕТ,0,1] [2,480,НЕТ,0,8] |
| 8 | 32 | Пусто | [4,44,НЕТ,0,1] [3,44,5,0,6] [2,480,НЕТ,0,8] |
| 9 | 44 | [4,KMP,НЕТ,0,1] [3,KMP,5,0,6] | [2,480,НЕТ,0,8] |
| 10 | 44 | Пусто | [4,58,5,0,6] [1,59,НЕТ,0,1] |
Рис.2.27
Oтветьте на вопросы:
1) какое значение таймера в строках 11 и 12?
2) какое значение таймера в строках 13 и 14?
3) каков номер транзакта, представляющего четвертого клиента?
4) сколько свободного времени было у парикмахера после обслуживания третьего клиента и до обслуживания четвертого?
5) каков номер транзакта, представляющего пятого клиентами
6) в какой момент времени пятый клиент войдет в парикмахерскую?
7) сколько времени придется ждать пятому клиенту в очереди, если вообще придется?
-
Будем рассматривать модель на рис. 2.26.
Предположим, что операнды блоков 1 и 5 равны <30, 28> и <18,6> соответственно и что первыми значениями интервалов прихода и времени задержки при конкретном моделировании будут следующие: интервалы времени: 7, 10, 3, 6, 49, ...; время обслуживания 19, 15, ...
Используя подход, описанный в параграфе 13, проследите за движением транзактов в модели в терминах их присутствия в цепях текущих и будущих событий.
Нарисуйте первые 10 строк состояний цепей.
Oтветьте на вопросы:
а). Какое время зарегистрировано таймером модельного времени в строке 10 в таблице состояний цепей?
б). Каков номер четвертого транзакта, попавшего на обслуживание к парикмахеру?
в). Точно ли два транзакта находятся в цепи текущих событий после завершения фазы просмотра? Каковы номера двух транзактов когда и если это условие возникает? -
а). Предположим, что пара QUEUE - DEPART извлечена из модели на рис. 2.26.
Используя интервалы и время обслуживания, показанные в табл. 2.7 и 2.8, установите времена, в которые приходят второй, третий и четвертый клиенты в парикмахерскую (<приход в парикмахерскую> определяется как переход транзакта-клиента из блока GENERATE в следующий блок).
Таблица 2.7.
| Разыгранные значения интервалов времени проихода в блоке 1 | |
| Номер по порядку | Разыгранное значение |
| 1 | 14 |
| 2 | 13 |
| 3 | 17 |
| 4 | 15 |
Таблица 2.8.
| Разыгранные значения интервалов времени проихода в блоке 5 | |
| Номер по порядку | Разыгранное значение |
| 1 | 18 |
| 2 | 12 |
| 3 | 14 |
б). Предположим, что разработчик не желает собирать данные об очереди для системы, представленной на рис. 2.26. Если поступить, как это сделано в п. а, т. е. просто убрать карты QUEUE и DEPART из модели, то это приведет к искажению в картине приходов.
Покажите, как можно избежать искажения введением блока ADVANCE между блоками GENERATE и SEIZE.
-
Посмотрите модель на рис. У6.
Рис.У6.
Предположим, что модель выполняется и что параметром А карты START является 4.
а). В какой момент времени первый транзакт войдет в блок GENERATE?
б). В какой момент времени в блок GENERATE войдет его последователь?
в). В какой момент времени последователь выйдет из блока GENERATE?
г). В какой момент третий транзакт войдет в блок GENERATE?
д). В какой момент устройство будет занято в третий раз?
е). Сколько времени проходит между последовательными выходами транзактов из блока GENERATE?
ж). В какой момент времени завершится моделирование?
§14 "Распечатка цепей текущих и будущих событий"
Разработчик может довольно долго заниматься моделированием на GPSS, не интересуясь состоянием цепей. Однако разработчик может сделать много неверных моделей, если он не понимает принципа функционирования цепей.
Даже если моделируемая система относится к системам средней сложности, разработчик обязательно задается вопросом: что далее должно произойти в модели? Поскольку одновременные события в GPSS выполняются последовательно, вопрос о том, что же происходит далее в модели, может иметь очень важные последствия. Ответ на этот вопрос должен быть всегда дан в терминах цепей событий. Разработчик, незнакомый с этими понятиями, должен либо удовлетвориться отсутствием ответа на вопрос о том, что же будет дальше, либо просто должен надеяться на то, что модель верна или почти что верна. Это, вообще говоря, недопустимо.
Разработчик, знакомый с понятиями цепей, всегда сумеет найти ответ на поставленный вопрос и будет лучше понимать поведение моделей. Время от времени ему может понадобиться получить распечатку цепей для того, чтобы сделать некоторые заключения относительно того, как работает конкретная модель.
§15 "Пример моделирования 2В.
Расширение системы обслуживания с одним прибором и очередью"
Постановка задачи. В парикмахерскую с одним креслом могут приходить клиенты двух типов. Клиенты первого типа желают только стричься. Распределение интервалов их прихода 35 ± 10 мин. Клиенты второго типа желают постричься и побриться. Распределение интервалов их прихода 60 ± 20 мин. Парикмахер обслуживает клиентов в порядке "первым пришел - первым обслужен".















