В процессе моделирования можно также наблюдать одновременно до двух графиков зависимостей любых СЧА модели от модельного времени. Для этого необходимо до запуска модели ввести одну или две команды PLOT (начертить), имеющие следующий формат:
PLOT A,B,C,D ; комментарий
В поле A указывается аргумент зависимости - любой СЧА модели. Поле B должно содержать максимальное значение этого СЧА, определяющее масштаб изображения по оси Y. Операнд B задается константой, значение которой должно быть не менее 13. Поля C и D определяют начальное и конечное значения модельного времени, определяющие масштаб изображения по оси X. Эти операнды также задаются константами. В поле комментария может быть задан заголовок графика длиной до 34 символов.
График обновляется при каждом изменении модельного времени, если оно попадает в диапазон, заданный операндами C и D. Указанный в поле A СЧА-аргумент вычисляется относительно первого транзакта, обрабатываемого после изменения модельного времени.
Процесс моделирования можно прервать, нажав одну из клавиш Esc или Home. При этом в строке состояния командного окна появляется сообщение о номере активного транзакта, обрабатываемого симулятором в момент прерывания. Вы можете узнать значения интересующих вас стандартных числовых атрибутов модели в момент прерывания, введя команду SHOW (показать), операндом которой служат отдельные СЧА или выражения из них. Значение заданного в команде СЧА или выражения выводится в окно данных или другое активное окно. Введя команду EVENTS (события), можно увидеть в окне данных содержимое списков текущих и будущих событий. Команда USERCHAINS (списки пользователя) позволяет просматривать в окне данных содержимое списков пользователя. Обе последние команды не имеют операндов.
Инициировать прерывание моделирования можно также с помощью команды STOP (остановить), имеющей следующий формат:
STOP A,B,C
В поле A указывается номер транзакта, вызывающего прерывание, задаваемый константой. Если это поле пусто, то прерывание вызывается любым транзактом. В поле B задается имя или номер блока, при входе в который происходит прерывание. Если этот операнд опущен, то прерывание происходит при входе в любой блок. В поле C указывается ON для установки условия прерывания и OFF для снятия этого условия (по умолчанию ON).
Например, команда
STOP 100,MET1 устанавливает условие прерывания моделирования при входе транзакта с номером 100 в блок с именем MET1. Команда
STOP 2 будет вызывать прерывание при каждом продвижении транзакта с номером 2, а команда
STOP,CHAIR при каждом входе любого транзакта в блок с именем CHAIR. Наконец, команда
STOP без операндов будет вызывать прерывание при каждом продвижении любого транзакта, а команда
STOP,,OFF снимает все условия прерывания, установленные ранее другими командами STOP.
Прервав моделирование, можно также воспользоваться командой STEP (выполнить шаг) для пошагового выполнения модели с целью ее
отладки. Операнд в поле A команды задает количество входов активного транзакта в блоки, которое производится при каждом выполнении команды. Обычно этот операнд равен 1, и каждое выполнение команды STEP приводит к продвижению активного транзакта к следующему блоку. Отладку с использованием команды STEP удобно проводить, находясь в окне блоков.
Для продолжения моделирования после прерывания следует ввести в командную строку команду CONTINUE (продолжить).
Команды STEP и CONTINUE могут не только вводиться в командную строку с клавиатуры, но и выбираться из меню команд, появляющемся в командном окне при активизации любого графического окна. Выбор производится подводом крестообразного курсора в прямоугольную область нужной команды и нажатием клавиши Ins. В окне блоков меню команд предоставляет также некоторые дополнительные возможности [8].
Команды STEP, CONTINUE, а также любые другие часто используемые команды удобно загрузить на функциональные клавиши F1-F10. Для этого после ввода загружаемой команды с клавиатуры необходимо нажать клавиши Ctrl+Fn, где n - номер выбранной функциональной клавиши. После загрузки команды на функциональную клавишу для ее выполнения достаточно нажатия этой клавиши.
5.6. Получение и интерпретация стандартного отчета
По завершении прогона модели раздается звуковой сигнал, и в строке состояния появляются сообщения
Writing REPORT.GPS Simulation Complete Reporting..., сигнализирующие о том, что моделирование закончено и в данный момент производится создание отчета о прогоне модели. Затем система переходит в состояние ожидания дальнейших команд.
Отчет, создаваемый по завершении моделирования, записывается в файл со стандартным именем REPORT.GPS. Это имя может быть изменено командой REPORT (создать отчет), имеющей следующий формат:
REPORT A,B
В поле A указывается спецификация файла, в который должен быть выведен отчет. Если поле B содержит ключевое слово NOW, то отчет создается немедленно после ввода команды.
Необходимо иметь ввиду, что отчет, создаваемый автоматически по завершении прогона модели или командой REPORT, является неформа тированным, т.е. непригодным для непосредственного просмотра. Для форматирования и создания стандартного отчета GPSS/PC необходимо завершить сеанс и выполнить программу форматирования отчета. Выход из интегрированной среды (завершение сеанса) производится путем ввода управляющего оператора END (закончить). При этом производится выход в MS DOS или в программу-оболочку Norton Commander.
Для форматирования отчета необходимо загрузить модуль форматирования GPSSREPT.EXE. После его загрузки на экране появляется "заставка" с названием модуля, двумя окнами в нижней части экрана и сообщениями-подсказками. В левом окне выведено имя файла, в котором находится неформатированный отчет (по умолчанию это файл REPORT.GPS). В правом окне выведено обозначение устройства, куда должен быть выведен форматированный отчет (по умолчанию это экран дисплея SCRN: ). Форматированный отчет может быть также выведен на печать или на диск. Для этого в правое окно надо ввести обозначение
PRN: или имя файла на диске соответственно. Для переключения окон используется клавиша Enter. Для создания отчета на выбранном устройстве следует нажать клавишу Пробел, для выхода из программы клавишу Esc.
Если содержимое окон по умолчанию оставлено без изменения, то после нажатия клавиши Пробел на экране появляется отчет о последнем прогоне модели, выполненном перед завершением сеанса работы с модулем GPSSPC.EXE. Отчет содержит следующую информацию:
1) общие сведения о модели и ее прогоне, включающие модельное время начала ( START_TIME ) и конца ( END_TIME ) прогона, количество блоков в модели ( BLOCKS ), количество устройств ( FACILITIES), количество многоканальных устройств ( STORAGES ), объем памяти, остававшейся свободной при прогоне модели ( FREE_MEMORY );
2) сведения об именах объектов модели, включающие для каждого имени идентификатор ( NAME ), присвоенное ему числовое значение ( VALUE ) и тип имени: 0, если числовое значение имени присвоено пользователем с помощью оператора EQU; 1, если числовое значение имени присвоено системой; 2, если имя является именем блока;
3) сведения о блоках модели, включающие для каждого блока номер строки исходной программы ( LINE ), номер или имя блока ( LOC ), название блока ( BLOCK_TYPE ), количество транзактов, прошедших через блок ( ENTRY_COUNT ), текущее количество транзактов в блоке в момент завершения моделирования ( CURRENT_COUNT ), количество транзактов, заблокированных перед блоком в момент завершения моделирования ( RETRY );
4) сведения об устройствах модели, включающие для каждого устройства его имя или номер ( FACILITY ), количество занятий устройства ( ENTRIES ), коэффициент использования ( UTIL. ), среднее время на одно занятие ( AVE._TIME ) и ряд других данных;
5) сведения о многоканальных устройствах модели, включающие для каждого МКУ его имя или номер ( STORAGE ), емкость ( CAP. ), количество свободных каналов в момент завершения моделирования ( REMAIN. ), наименьшее ( MIN. ) и наибольшее ( MAX. ) количество занятых каналов в процессе моделирования, количество занятий МКУ ( ENTRIES ), среднее количество занятых каналов ( AVE.C.), коэффициент использования ( UTIL. ) и ряд других данных;
6) сведения об очередях модели, включающие для каждой очереди ее имя или номер ( QUEUE ), максимальную длину очереди в процессе моделирования ( MAX. ), текущую длину очереди в момент завершения моделирования ( CONT. ), общее количество транзактов, вошедших в очередь в процессе моделирования ( ENTRIES ), и количество "нулевых" входов в очередь ( ENTRIES(0) ), среднюю длину очереди ( AVE.CONT. ), среднее время ожидания в очереди с учетом всех транзактов ( AVE.TIME ) и без учета "нулевых" входов ( AVE.(-0) );
7) сведения о статистических таблицах модели, включающие для каждой таблицы ее имя или номер ( TABLE ), среднее значение ( MEAN ) и среднеквадратическое отклонение ( STD.DEV. ) табулируемой величины, границы частотных интервалов ( RANGE ), частоты ( FREQUENCY ) и накопленные частоты в процентах ( CUM.% ) попадания наблюдений в эти интервалы;
8) сведения о списках пользователя модели, включающие для каждого списка его имя или номер ( USER_CHAIN ), количество транзактов в списке в момент завершения моделирования ( CHAIN_SIZE ), среднее количество транзактов в списке ( AVE.CONT ), общее количество транзактов, вошедших в список в процессе моделирования ( ENTRIES ), максимальное количество транзактов, находившихся в списке ( MAX ), среднее время пребывания транзакта в списке ( AVE.TIME );
9) сведения о логических переключателях модели, включающие для каждого ЛП его имя или номер ( LOGICSWITCH ) и состояние ЛП в момент завершения моделирования: 1 - "включен", 0 - "выключен";
10) сведения о сохраняемых величинах модели, включающие для каждой сохраняемой величины ее имя или номер ( SAVEVALUE ) и значение в момент завершения моделирования ( VALUE );
11) сведения о матрицах модели, включающие для каждой матрицы ее имя или номер ( MATRIX ), а также список всех элементов матрицы в формате: "строка" ( ROW ), "столбец" ( COLUMN ), "значение" ( VALUE ).