d9e5a92d

Практические советы по работе с отладчиком

В любом случае при введении запрета появляется сообщение и управление передаётся пользователю

  1. Условия запрета SYSTEM проявляются каждый раз, когда транзакт, по какой либо причине больше не может двигаться по модели. Среди этих причин можно назвать:

- транзакту запрещён вход в ОБ,
- транзакт попадает в СБС,
- транзакт размещается в списке пользователя ( ОБ LINK),
- транзакт уничтожен ( ОБ TERMINATE , ASSEMBLE ).
Эта форма запрета используется как барьер при изучении движения транзакта, представляющего большой интерес для исследователя. Если вдруг транзакт неожиданно исчезает из поля зрения, то эти условия позволяют определить его судьбу и принять решение о других командах.
2. Условия запрета NEXT возникают всякий раз, когда симулятор вводит Хакт после сканирования СТС. При введения этого запрета Хакт располагается перед его следующим ОБ и появляется сообщение "XACT i POISED at BLOCK j ", где i и j могут быть номерами или именами.
Эти два условия в материале не используются.
3. Условие запрета CLOCK проявляется, когда абсолютное время достигает или превышает заданное время, при этом процесс ИМ останавливается в это время. Если абсолютное время превысило заданное значение, то его величина фиксируется для продолжения процесса ИМ после снятия запрета со значения превысившего заданное время.
4. Условия запрета XACT налагаются на определённый транзакт и всякий раз, когда Хакт с этим номером снимается после сканирования из СТС, появляется сообщение и управление передаётся пользователю. Условия запрета налагаются заранее, и по умолчанию роль отмеченного Хакт прослеживается за весь жизненный цикл.
5. Условия запрета SCAN реализуются каждый раз, когда симулятор готов начать сканирование СТС, при этом появляется сообщение "SCAN TRAP TAKEN (SYSTEM POISED TO BEGIN CEC SCAN)" - запрет по сканированию введён (система готова начать сканирование СТС) и управление передаётся пользователю.
Формат команды TRAP для всех видов запретов имеет вид:
TRAP Y [ Y ] , Y = ( SYSTEM , NEXT , CLOCK , ), например :
TRAP SYSTEM NEXT - наложены запреты SYSTEM и NEXT,
TR XACT=1 XACT=5- наложены запреты на Хакт ИН1 и ИН5,
T CLOCK 1000 - наложено ограничение по времени 1000 дискрет МВ,
t SCAN - наложен запрет на сканирование СТС.
Для снятий условий запрета используется только команда UNTRAP, которая должна предварять любые команды продолжения процесса ИМ, так если будет применена одна из команд RUN, CONTINUE, STEP, то процесс ИМ при отсутствии команды UNTRAP будет продолжаться только до одной из ближайших точек прерывания или запрета. Формат команды UNTRAP аналогичен формату команды TRAP и поэтому приведём лишь примеры использования команды :
UNTRAP SYSTEM NEXT - снятие запретов SYSTEM и NEXT
UNT XAC=1 XACT=5 - снятие запретов с Хакт ИН1 и ИН5.
Программа GPSS/H предусматривает два вида запретов: глобальные и локальные. Команда TRAP налагает только глобальные запреты, которые могут быть сняты только командой UNTRAP.

Локальные же запреты, налагаемые командой CONTINUE, приводимой ниже, действуют только на протяжении одной команды отладчика.
BREAK и UNBREAK
Условия прерывания также могут быть глобальными и локальными и применяться к любому количеству ОБ одновременно. Глобальные условия прерывания действуют до тех пор, пока они не будут специально сняты, локальные условия, устанавливаемые командой CONTINUE, действуют на протяжении одной команды.

Имена или номера ОБ, на которые наложены условия прерывания могут быть отображены на дисплее после команды d BRE . Когда Хакт достигает ОБ, к которому применены условия прерывания, появляется сообщение, содержащее ИН Хакт, ОБ, текущее значение времени, после чего управление передаётся пользователю. Формат команд одинаков и имеет вид :
B[REAK] имя блока
UNB[REAK] имя блока , например
BREAK 5 - прерывание на ОБ 5
B 5 LINE - прерывание на ОБ 5 и LINE
UNBREAK 5 - снятие прерывания с ОБ 5
UNB 5 LINE - снятие прерывания с ОБ 5 и LINE
АТ
Команда АТ обеспечивает в каждый момент времени возможность автоматизации отображения списка команд, относящихся к ОБ, в который пытается войти Хакт. Формат команды АТ имеет вид:
AT имя или номер ОБ
команда 1 командH n
END
:
Когда достигается точка прерывания на заданном ОБ, то при наличии команды АТ, список команд, ассоциирующихся с этой командой автоматически выполняется программой. Таким образом, команда АТ может быть использована, как для задания условий прерывания, так и для запуска процесса выполнения списка команд. Обратите внимание на следующее обстоятельство: как только в командной строке появится команда АТ, так сразу форма приглашения с ( : ) меняется на ( ), которая предваряет каждую команду списка, после исполнения команды end , форма приглашения в командной строке снова принимает привычный вид ( : ). Следует помнить, что выполнение любой команды из списка осуществляется после нажатия пользователем клавиши Enter . Приведём пример использования команды:


: at block6
d blo
r
end
:
Команды, находящиеся в списке для лучшей читаемости специально сдвинуты вправо. В параграфе 6.7.2, будет рассмотрен пример сессии отладчика, где будут использованы многие из приведенных команд.
RUN, CONTINUE, STEP
Все вышеназванные команды используются для запуска или реализации процесса ИМ. Кроме того, эти команды могут использоваться для достижения точек запрета или прерывания.
1. В нормальных условиях (при отсутствии специальных условий) команда RUN обеспечивает проведение процесса ИМ в пакетном режиме с нормальной скоростью моделирования, что, естественно, исключает возможность диалога. При наличии условий запрета или прерывания, команда RUN сразу доводит процесс ИМ до первой специальной точки. Формат команды имеет вид :
R[UN] Y Y= (block ,SCAN,XACT, ) , например:
RUN - отсутствие специальных точек , процесс ИМ идёт до конца,
RUN SAM 17 - движение до глобальных прерываний в ОБ SAM и 17,
R CLOCK 400 запрет процесса ИМ после 400 дискрет МВ,
R XACT=5 3 - запрет на Хакт с ИН5, прерывание на Хакт с ИН3.
2. Команда CONTINUE аналогична команде RUN, т.е. доводит процесс ИМ до конца (при отсутствии специальных условий), а кроме того с её помощью можно установить локальные условия прерывания и локальные условия запрета только для запретов типа NEXT и SYSTEM. Локальность запрета, заключается в том, что его действие распространяется только на период исполнения команды CONTINUE, появление первой глобальной специальной точки прерывает исполнение команды, а, следовательно, отменяет локальные условия.

Формат этой команды имеет такой же вид, как у команды RUN. Приведём примеры:
CONTINUE - отсутствие ограничений, процесс ИМ идёт до конца
CONTINUE SAM 17 - локальные прерывания на ОБ SAM и 17
C NEXT - локальный запрет на типа NEXT
c 12 SYSTEM - прерывание на ОБ 12 и запрет типа SYSTEM
3. Команда STEP используется в, так называемом тактовом или пошаговом режиме, служит для продвижения процесса либо на один такт, что равносильно исполнению одного ОБ или нажатию функциональной клавиши F10, либо на то число тактов, которое задаётся после обязательного пробела за именем команды. Формат команды имеет вид:
S[TEP] n , по умолчанию число тактов равно 1, например:
STEP 5 исполнение 5-ти ОБ,
S - исполнение одного ОБ,
s 2 - исполнение двух ОБ.
Команда Step не налагает ограничений на отдельные транзакты, поэтому необходимо использовать ограничения типа NEXT или SYSTEM . Переход в пошаговый режим исключает возможность использования команды CONTINUE, которая применима только в нормальном режиме.
STOP, SET
1. Команда STOP используется для прерывания сеанса диалога, если в момент прерывания подготавливается итоговый отчёт, то об этом появляется сообщение и необходимо ещё раз написать ту же команду, тогда процесс останавливается . Формат команды имеет простой вид:
STO[P] , пример применения очевиден.

  1. Команда SET используется для установления предела времени исполнения программы. Когда процесс ИМ достигает предела МВ, заданного либо извне, либо с помощью операнда А ОБ SIMULATE, появляется сообщение, процесс останавливается и управление передаётся пользователю. Формат этой команды имеет вид:

SET TIME [ =] n [ S,M] , например :
SET TIME=1.5M установить предел МВ равный 1.5 минутам
SE TIME 90S - то же самое в секундах
se TIME 20 - появляется сообщение " Minutes assumed" .

Практические советы по работе с отладчиком

Прежде чем начинать работу в режиме отладки для практических целей, а не для тренировки навыков, необходимо чётко представлять специфику работы моделируемой системы. Особенно важно при разработке новой системы уяснить для себя проблемные части будущей системы, поведение которых не до конца очевидны исследователю. Именно для целей практического применения диалогового режима можно дать несколько практических советов:

  • Заранее определите количество и расположение критических точек модели.
  • Установите режим прерывания в этих точках (break b) и непременно пользуйтесь на каждом шаге процедурой отображения (display d). В непосредственной близости от точки прерывания используйте шаговый режим (step s), чтобы не пропустить каких либо особенностей поведения мVдели. Удаляйте точки прерывания сразу после того, как задача исследования достигнута. Подобное поведение позволяет выявить возможные ошибки и верифицировать логику модели.
  • Избегайте длительных диалоговых режимов, чтобы не утомляться и не наделать новых ошибок при длительной отладке. Выйдя из режима диалога, проанализируйте все ваши действия в процессе отладки и продумайте новые изменения, если они необходимы.
  • Помните, что выявленная ошибка порой даёт гораздо больше информации, позволяющей исключать подобные ошибки в дальнейшем. Появление второй аналогичной ошибки свидетельствует о том, что либо ваши усилия были не эффективны, либо заданы неверные начальные условия или режимы использования.
  • Для выявления влияния поведения транзактов на возможные ошибки, используйте условия запрета (trap- t) , чтобы уточнить логику МФ.
  • В случае невозможности определить причины ошибки, попробуйте применять стрессовые методы, например, увеличить размер шага, чтобы локализовать место происхождения ошибки. Порой помогает изменение стратегии контроля, но всё это приходит при накоплении опыта.

Примеры применения ЯИМ GPSS/H

В данном параграфе будут представлены два примера. Первый, моделирование процесса выходного контроля качества телевизионного производства, с использованием большого числа, описанных выше операторов.

Пример имеет логическую структуру, которой следует придерживаться при выполнении курсового проекта!
Второй пример иллюстрирует использование отладчика, в отчете данные об использовании отладчика следует приводить только в том случае, когда это оговорено в полученном задании.

Пример использования ЯИМ

Пример 3.1 моделирования системы контроля качества

  1. Постановка задачи.

Собранные телевизоры проходят через группу контрольных постов выходного контроля. Если телевизор не проходит выходной контроль , то он отправляется на участок подрегулировки , и после успешного завершения этой операции возвращается в очередь телевизоров , ждущих выходного контроля.

Прошедшие выходной контроль телевизоры поступают на склад готовой продукции. Эта схема представлена на рис. 6.6 . Телевизоры поступают на выходной контроль каждые 5.5

2 минуты , на котором находится два контрольных поста, время проверки 103 минуты . С вероятностью 12 % телевизоры не проходят выходной контроль и отправляются на подрегулировку. Время подрегулировки 3010 минут. Как перед постами выходного контроля , так и перед регулировщиком могут скапливаться телевизоры , необходимо определить число потребных стеллажей для хранения поступающих телевизоров. Процесс моделирования прекращается после проверки 100 телевизоров.

В качестве дополнительного условия рассмотрим возможность получения результатов нескольких последовательных реплик в одном цикле ИМ, что достигается размещением в модуле управления петли управления DO- ENDDO, включающей ОУ CLEAR.
2.Допущения, сделанные в модели.
После прохождения выходного контроля телевизоры разделяются на два потока, 88% годных отправляются на склад готовой продукции, 12 % дефектных на подрегулировку. Для исследования вопроса о числе стеллажей контроля создаются две очереди, одна перед постами выходного контроля, вторая на линии регулировки.
Для возвращения отрегулированных телевизоров, в общий поток проверяемых, используется ОБ TRANSFER безусловного вида. Для получения динамики производственного процесса, совместим 5 последовательных прогонов (реплик) в одном цикле ИМ, путём введения петли управления.

Эпюра движения транзактов представлена на рис.3.8 Рис.3.8 Эпюра движения транзактов.

  1. Таблица обозначений

Обозначения примера 3.1 сведены в таблице 3.6
Таблица 3.6 Временная дискрета: 1 минута.

Объекты GPSS/H Объекты системы
Транзакты
Фрагмент 1
Фрагмент 2
Готовые телевизоры
Телевизоры после подрегулировки
Устройства
ADJUSTER
Регулировщик
Очереди
ADJUSTQ
LASTTEST
Очередь на подрегулировку
Общая очередь на контроль
Памяти
TESTERS
Два контролёра


4.Модельный файл * Модуль описания
SIMULATE Пример 3.1 . Модель контроля качества
* Временная дискрета : 1 минута
TESTERS STORAGE 2 контролёры выходного контроля
INTEGER ^I индекс петли управления
* Модуль исполнения
* Фрагмент 1 общий выходной контроль
GENERATE 5.5,2 поступление готовых телевизоров,один за другим
RETEST QUEUE LASTTEST организация очереди контроля
ENTER TESTERS запрос контролёра
DEPART LASTTEST выход из очереди контроля
ADVANCE 10,3 время контроля
LEAVE TESTERS освобождение контролёра
TRANSFER .120,,ADJUSTIT 12% на подрегулировку
TERMINATE 1 оставшиеся 88% на упаковку
* Фрагмент 2 осуществление подрегулировки
ADJUSTIT QUEUE ADJUSTQ организация очереди подрегулировки
SEIZE ADJUSTER запрос регулировщика
DEPART ADJUSTQ выход из очереди подрегулировки
ADVANCE 30,10 время подрегулировки
RELEASE ADJUSTER освобождение регулировщика
TRANSFER ,RETEST возврат на общий контроль
* Модуль управления
START 100 СС=100, проведение первой реплики
DO ^I=1,5,1 петля управления для 5 прогонов
START 1 старт первой реплики
CLEAR очистка для следующего прогона
ENDDO окончание петли управления
END окончание процесса ИМ
5.Итоговый отчёт
Отчёт имеет стандартный вид, но в связи с тем, что в рамках одного процесса ИМ проводилось 5 прогонов, для каждого из них даётся свой вариант отчёта в рамках одного листинга. Основные результаты сведены в таблицу 3.7 , которая в столбцах содержит информацию по 5 проведенным прогонам. Для точного сбора информации проведите ИМ в пакетном режиме и оцените полученные результаты по файлу с вашим именем, имеющим расширение .lies .
Таблица 3.7 Перечень основных данных 5-ти реплик примера 3.1

 

Объекты Данные по пяти прогонам
  Прогон 1 Прогон 2 Прогон 3 Прогон 4 Прогон 5
Время 586.13 607.43 588.46 549.62 590.64
Устройство
Использование
Число входов
Среднее время
0.706
14
29.56
0.659
13
30.79
0.738
15
28.92
0.206
5
28.22
0.627
13
28.23
Память
Использование
Число входов
Среднее число
0.978
115
9.95
0.965
117
10.02
0.978
116
9.96
0.952
106
9.87
0.965
114
10.01
Очереди
LASTTEST
Максимум
Среднее
Число входов
Нульвходы
ADJUSTQ
Максимум
Среднее
Число входов нульвходы
6
2.24
120
10
3
0.603
14
5
6
1.335
123
14
4
1.28
16
5
6
2.676
120
8
3
0.587
15
5
3
0.644
107
24
1
0.033
5
4
4
1.388
117
13
2
0.421
13
4

 

Выводы и обсуждение


На основании примера 3.1 можно сделать несколько важных выводов:
А. Для проведения нескольких реплик в пакетном режиме необходимо внести изменения только в модуль управления. Комбинация ОУ DO ENDDO позволяет проводить столько независимых прогонов, сколько раз это задано ОО INTEGER с помощью целочисленного АМП.

При этом обнуляются все данные предыдущего прогона за исключением положения ГСЧ и ИН транзактов. Если обратиться к таблице 3.7 , то имеющийся разброс данных как раз и говорит о независимости реплик.
Б. Если при использовании ОБ TRANSFER в статистической форме, пересылка по пути с большей вероятностью осуществляется к следующему последовательному ОБ (ОБ TERMINATE ) , то операнд В у ОУ может отсутствовать, а ОБ, к которому идёт пересылка при этом не имеет ярлыка , что видно из МФ.
В. Показанная разбивка МФ на фрагменты не является обязательной, зависит только от предпочтений пользователя и может иметь и любой другой вид, при условии сохранения правил записи МФ. Более того сам порядок расположения фрагментов также не является обязательным, так Фрагмент 2 может предварять Фрагмент 1, не влияя на результаты ИМ ( проверьте это на практике, изменив порядок следования фрагментов ).
Г. Отвечая на вопрос примера относительно мест на стеллажах, очевидно, что при максимальном числе членов очереди для общей очереди необходимо 6 мест, а для подрегулировки достаточно 3. Однако если оценивать среднее содержание, то необходимо гораздо меньше мест. Поэтому этот вопрос должен решаться с учётом условий производства и является компетенцией менеджера, а результаты ИМ служат основанием для принятия решения.

Пример использования команд отладчика


Пример 3.2 Обработка деталей в механическом цеху
1. Постановка задачи . Заготовки в темпе 4-1 минуты поступают со склада на конвейерную линию, по которой они в течении 2 минут транспортируются до токарного станка, время обработки на станке составляет 3.75- 1 минута, после чего обработанные детали выходят из системы, поступая на промежуточный склад.
2. Допущения, сделанные в модели. Будем считать, что заготовки не ждут погрузки на конвейер. Система представляет собой одноканальную линию обслуживания.

Задача решается для обработки 100 заготовок.
3. Определения. Транзактами в этой модели являются заготовки, а устройством является токарный станок.
4. Модельный файл
* Модуль описания
SIMULATE модель токарного цеха
* Модуль исполнения
GENERATE 4,1 поступление деталей
ADVANCE 2 транспортировка по конвейеру
SEIZE SERVER занятие станка
ADVANCE 3.75,1 обработка детали
RELEASE SERVER освобождение станка
TERMINATE 1 уменьшение СС на единицу
* Модуль управления
START 100 обработка 100 деталей
END окончание процесса ИМ
А.Сеанс 1 . Произведём запуск отладчика командой
gpssh ex3-2.gps tv ,
после появления 3-х оконного отладчика в командной строке пишем
step 1, s или нажимаем функциональную клавишу F10.
Установим глобальное прерывание на ОБ 4 ( в примере этим ОБ является ОБ ADVANCE )
BREAK 4 или b 4,
для продолжения процесса ИМ используем одну из команд, печатаем в командной строке
RUN или r, либо аналогичную команду CONTINUE или c .
Моделирование продолжается до прихода Хакт в ОБ 4, после этого экран 3-х оконного отладчика приобретает вид , представленный на рис. 3.9 GPSS/H SOURCE-MODE INTERACTIVE DEBUGGER =====
BLOCK CURRENT TOTAL SOURCE FOR MODEL EX3-2.GPS
2 1 ADVANCE 2 транспортирование заготовки
3 1 SEIZE SERVER занятие сервера
4 0 ADVANCE 3.75,1 обслуживание на сервере
5 0 RELEASE SERVER освобождение сервера
6 0 TERMINATE 1 уменьшение СС на единицу
-==================================================
¦S/C: ON ABS CLOCK: 5.5406 REL CLOCK: 5.5406 TTG: 100
¦==================================================
¦XACT: 1 CURBLK: 3 NEXTBLK: 4 CHAINS: CEC PC:
¦MARK-TIME: 3.5406 MOVE-TIME: 5.5406 PRIORITY: 0
L==================================================
Ready!
: s 1
XACT 1 POISED AT BLOCK 2. RELATIVE CLOCK: 3.5406
: b 4
: r
XACT 1 HAS REACHED BREAKPOINT AT BLOCK 4. RELATIVE CLOCK: 5.5406
:
Рис. 3.9 Вид окна отладчика после исполнения первых команд В окне состояния видно, что Хакт1 достиг точки прерывания в ОБ 4 и располагается перед входом в ОБ, т.е. его текущим ОБ является SEIZE . Продолжим процесс ИМ, напечатав "c", в диалоговом окне появляется сообщение:
"XACT 2 HAS REACHED BREAKPOINT AT BLOCK 4" Хакт 2 достиг точки прерывания в ОБ 4.
Что за этот отрезок времени произошло с Хакт 1 , для выяснения напечатаем:
"d XACT=1" ,
после чего следует сообщение: "XACT 1 no longer exist" Хакт 1 больше не существует. Отсюда следует, что Хакт 1 уже терминирован.
Установим новую глобальную точку прерывания на ОБ 3 SEIZE командой "r 3", нажатием Enter процесс ИМ продвигается до одной из точек прерывания. Для того, чтобы выяснить какие заданы точки прерывания печатаем в командной строке "d BRE", что позволяет отобразить заданные точки прерывания.

Установим теперь локальную точку прерывания на ОБ 6 TERMINATE, для этого напечатаем "c 6", с помощью этой команды одновременно задаются локальные ограничения и запускается процесс ИМ. Процесс ИМ прерывается при достижении Хакт любого из ОБ с номерами 3,4,6 . Отобразим ОБ с наложенными ограничениями командой "d BRE".

Все команды проводите в сеансе работы с отладчиком, наблюдая за изменениями на экране. Отметьте , что в появившемся списке есть только ОБ 3 и 4 , ОБ 6 не включён, так как точка прерывания исполняется только при окончании действия команды "c 6".
Удалим действие прерывания на ОБ 3 командой " unb 3" и для проверки исполнения вызовем список ограничений командой "d bre" , в списке окажется только ограничение на ОБ 4, удалим также прерывание с ОБ 4 командой "unb 4".
Предположим, что мы хотим получать информацию об использовании устройства каждый раз, когда Хакт оканчивает процесс обслуживания, для этого введём точку прерывания на ОБ 5 RELEASE командой "r 5". Процесс ИМ останавливается в этом месте, получаем информацию об использовании устройства напечатав "d FAC(SERVER)" и запустив процесс ИМ командой "c", т.е. написав две последовательные команды.
Существует более компактный способ осуществить предыдущие операции:
Вначале снимем ограничение на ОБ 5 командой "unb 5" и установим глобальное ограничение на ОБ 5 командой "AT 5", после чего появится приглашение вида ( ), затем вводим команду "d FAC(SERVER)" и, дождавшись нового приглашения () либо печатаем команду "end", либо нажимаем клавишу Enter , после чего появляется обычное приглашение (:). После осуществления этих операций, программа каждый раз по достижении Хакт ОБ 5 будет в окне диалога выдавать информацию об использовании устройства.

Напечатав команду "c" окончим процесс ИМ, выходим из диалогового режима одним из возможных способов, в частности, наиболее часто применяемым путём подачи команды быстрого выхода "QQ или qq".
Проведите сеанс отладчика несколько раз, вводя свои точки прерывания, для того чтобы убедиться в эффективности отладчика и приобрести практические навыки.
Б. Сеанс 2. В целях приобретения дальнейших навыков в работе с отладчиком, ответим с его помощью на некоторые вопросы по примеру 3.2.
1. Чему равняется коэффициент использования устройства, оцениваемый по каждой заготовке из первой партии равной 10 заготовкам, в какой момент пройдёт 10-я заготовка?
2. Какова загрузка устройства в момент 100 дискрет МВ?
3. Когда 34-я заготовка покинет склад и когда она попадёт на устройство?
4. Когда 35-я заготовка попадёт в цех и остаётся ли в это время 34-я заготовка в модели?
5. Когда 50-я заготовка покинет устройство?
Очевидно, что можно задать любые вопросы, касающиеся моментов процесса ИМ, но и вышеприведенные должны продемонстрировать мощность и эффективность работы отладчика. Исходя из желания подвигнуть читателя на использование компьютера при отработке диалогового режима, видов окон отладчика больше отображаться не будет, а наиболее интересная информация, появляющаяся в диалоговом окне будет приводиться в тексте.
1. Запускаем сеанс отладчика, для ответа на первый вопрос введём прерывание на ОБ 6 TERMINATE командой "b 6" и запускаем процесс ИМ командой "c". Для получения информации об использовании устройства запишем команду
"d FAC(SERVER)". Точка прерывания сработала в 9.7701 дискрет МВ, коэффициент использования устройства равен 0.433.
Для запуска процесса ИМ вводим команду "c" при этом помним, что условия прерывания не сняты. При достижении точки прерывания следующим Хакт, снова получаем информацию об использовании устройства командой " d FAC(SERVER) " . Такие операции надо произвести ещё 8 раз. Очевидно, что это экономичней осуществить с помощью последовательности команд :
"AT d FAC(SERVER - end " и последующей команды "c" . Каждый раз при достижении ОБ 6 будет выдаваться информация о коэффициенте использования устройства. Данные о десяти проходах Хакт через точку прерывания приведены в таблице 3.8
Таблица 3.8 Коэффициент использования устройства

 

Хаст 1 2 3 4 5 6 7 8 9 10
Ки 0.433 0.566 0.655 0.696 0.720 0.746 0.778 0.793 0.812 0.829

Возрастание коэффициента использования объясняется тем, что первоначально предполагалось, что устройство свободно и заготовок в системе нет. Это переходное состояние, через какое то число заготовок перейдёт в установившееся состояние. Десятая заготовка выйдет из системы в 45.802 дискрет МВ.

Снимем прерывание командой "unb 6".
2. Для ответа на второй вопрос используем условия запрета. Введём команду
" t CLO=100 ", а затем команду "c", с помощью которой достигаем значения времени 100.5762 , коэффициент использования устройства в этот момент равен 0.922 .
3. Ответить на третий вопрос можно двумя путями : первый узнать, когда Хаст с ИН 34 появится на конвейере и для этого ввести точку прерывания на ОБ 2 и дождаться появление транзакта, второй более эффективный, наложить запрет на появление Хакт с ИН 34 командой " t XACT=34" после чего появляется сообщение
" XACT 34 HAS NOT YET BEEN CREATED " Хакт 34 пока ещё не определён . Введя одну из команд "c или s или нажав клавишу F10 " , запускаем процесс ИМ и узнаём время появления 34-ой заготовки на конвейере равное 133.7422 дискреты МВ. К устройству 34-я заготовка подъедет в 135.7422 (133.7422 + 2) дискрет МВ.
Обратите внимание, что простота рассматриваемого МФ, в частности, непосредственное поступление заготовки со склада на конвейер, позволяет получить одинаковые значения времени, как для непрерывного, так и для шагового режима. В более сложных случаях влияние этих команд будет различным !
4.Для ответа на четвёртый вопрос, необходимо отменить прежнее условие запрета командой " unt 34 " и наложить новый запрет командой " t 35 " и запустить процесс командой "c ". Исполнение остановится, когда Хакт 35 окажется перед входом в ОБ 1, это произойдёт в момент 137.1532 дискрет МВ. Для того чтобы узнать остался ли при этом Хакт 34 в модели, введём команду "d XACT=34 " в сообщении диалогового окна говорится, что Хакт 34 ещё находится в модели, так как ему запрещён вход в ОБ 3 , так как Хакт ожидает обслуживания .
5. Для ответа на пятый вопрос надо отменить предыдущий запрет командой
" unt XACT=35" и ввести запрет Хакт с ИН 50 командой " t XACT=50" и запустить процесс ИМ командой " c" . Процесс остановится, когда Хакт с ИН 50 окажется на входе в модель, так как в модели его ещё нет, то появится сообщение " REQUEST QUEUED " - запрашиваемый находится в очереди. Введя команду отмены запрета "unt XACT=50", получаем возможность оценить время, когда Хакт 50 покинет модель, для этого вводим команду прерывания на ОБ 6 TERMINATE " b 6 " и команду запуска ИМ "c", получим, что время выхода из модели равно 202.8926 дискрет МВ.

Таким образом, мы получили ответ на все поставленные вопросы и можно прерывать диалог командой "qq" и выходить в командную оболочку. Учитывая , что многие сейчас используют на своих компьютерах ОС Windows 2000 или XP можно все действия с программой проводить в рамках Windows Commander .

 

ЛИТЕРАТУРА

1. Варжапетян А.Г. , Глущенко В.В. Системы управления. Исследование и компьютерное проектирование. М. Вузовская книга, 2000 , 320с.

2. Варжапетян А.Г. Моделирование на GPSS/H.

СПб Политехника 2004, 390 с. 3.Т. Дж. Шрайбер. Моделирование на GPSS.

М.: Машиностроение, 1988. 595 с.
4. Thomas J. Schriber An Introduction to Simulation Using GPSS/H. John Willey Sons, NY, 1991, 437.
5. Getting started with GPSS/H. Руководство по применению системы GPSS/H.

Wolverine Software Corporation, 1998.



Содержание раздела