Смекни!
smekni.com

Методические указания по курсовому проектированию по курсу «Исследование систем управления» кафедра информационных технологий в экономике и бизнесе (стр. 16 из 20)

После исполнения команды вызова отладчика на экране дисплея появляется трёхоконный отладчик , который представлен на рис.3.7 А и В . Вариант А наблюдается на экране дисплея сразу после вызова отладчика. В качестве иллюстрации рассмотрен простейший пример поступления деталей со склада, их перемещения по ленте транспортёра, обработки на станке и ухода из системы. Процесс ИМ длится до получения данных о 100 обработанных деталях (см. 3.7, пример 3.1).

А. После вызова отладчика

ВLOCK CURRENT TOTAL SOURCE FOR MODEL xx.GPS ══════════════════════════════════════════════════

│S/C: OFF ABS CLOCK: 0. REL CLOCK: 0. TTG: 0

═══════════════════════════════════════════════════

│XACT: CURBLK: NEXTBLK: CHAINS: PC: │

│ │

│MARK-TIME: MOVE-TIME: PRIORITY: │

╘═══════════════════════════════════════════════════

Ready!

:

В.После инициализации отладчика

BLOCK CURRENT TOTAL SOURCE FOR MODEL xx.GPS

1 1 GENERATE 4,1 поступление заготовок

2 0 ADVANCE 2 транспортирование

3 0 SEIZE SERVER занятие сервера

4 0 ADVANCE 3.75,1 обслуживание на сервере

═══════════════════════════════════════════════════╕

│S/C: OFF ABS CLOCK: 3.5406 REL CLOCK:3.5406 TTG:100 ════════════════════════════════════════════════════════

ХACT: 1 CURBLK: 1 NEXTBLK: 2 CHAINS: CEC PC: │ MARK-TIME: 3.5406 MOVE-TIME: 3.5406 PRIORITY: 0 ════════════════════════════════════════════════════════

Ready!

: s

XACT 1 POISED AT BLOCK 2. RELATIVE CLOCK: 3.5406

:

Рис.3.7 Вид трёхоконного отладчика, А - в начальный момент вызова ; В - после инициализации отладчика ( первый шаг).

На рис.3.7 представлены оба варианта окон отладчика, вариант А - сразу после вызова окна пусты, первое окно исходного МФ (SOURCE FOR MODEL), следующее статусное окно и последнее диалоговое окно. На рис .3.4В представлены те же окна после инициализации МФ примера .

Инициализация вызванного трёхоконного отладчика производится двумя эквивалентными путями:

· Нажатием клавиши F10, что соответствует одному такту действия отладчика (каждое последующее последовательное нажатие клавиши продвигает процесс ИМ на один такт).

· Написанием в командной строке после приглашения ( : ) команды:

< s[tep]_ n > ,

где команда может быть написана в любом виде, начиная от четырёх букв до одной первой буквы и через обязательный пробел число тактов, на которые продвинется процесс ИМ (по умолчанию 1), т.е. s 1 =F10. При отсутствии пробела появится предупреждение об ошибке, после которого необходимо написать команду в правильном формате.

3.6.2 Содержание окон.

Рассмотрим теперь более подробно содержание окон, руководствуясь рис. 3.7В, поскольку все названия у окон обеих вариантов одинаковы, но в варианте В присутствует конкретное содержание.

Примечание: Окно диалога варианта А содержит запись - Simulation begins, которая исчезает после инициализации, кроме того, на рисунке не показаны всегда существующие надписи об авторе программы (см. реальное окно отладчика).

Окно исходного модельного файла (окно источника).

Занимает одну треть экрана дисплея и является верхней частью экрана отладчика

· Справа вверху первого окна отладчика следует общее название:

« Исходный файл интерактивного дебагера GPSS/H »

Далее в окне следуют названия колонок:

· BLOCK – обозначает номер ОБ,

· CURRENT – показывает ИН Хакт в ОБ,

· TOTAL- показывает общее количество транзактов в ОБ за время ИМ,

· SOURCE CODE (основан на примере ) - показывает 4 или 5 строк исходного МФ, а красная черта указывает на следующий ОБ, куда направится Хакт, если МФ длинный, то высекается только фрагмент, указывающий нахождение Хакт, следующий ОБ и 2-3 сопутствующих ОБ.

Окно текущего положения (статусное окно)

Занимает среднюю часть экрана и содержит информацию о состоянии модели, меняющуюся по мере продвижения Хакт по модели.

· S/C :OFF - положение флага изменения статуса: выключено,

· ABS CLOCK – значение абсолютного модельного времени,

· REAL CLOCK – значение относительного модельного времени. Оба этих значения в отсутствии ОУ CLEAR или RESET имеют одинаковую величину.

· TTG – (termination to go ) - значение счётчика завершений –СЗ, поскольку на первом такте терминирования не происходит, то оно равно значению операнда А ОБ START и уменьшается при каждом терминировании на величину операнда А ОБ TERMINATE.

· XACT - ИН транзакта, активного в данный момент.

· CURBLK- имя или номер ОБ, где находится Хакт.

· NEXTBLK - имя или номер ОБ, куда направляется транзакт.

· CHAINS:CEC – имя списка, в котором транзакт находится в настоящий момент, в данном примере список текущих событий – СТС.

· PC: - число захватов ( в материалах не используется ).

· MARK-TIME – время, отмечаемое при входе Хакт в модель.

· MOVE-TIME - время будущего начала движения, если Хакт находится на обслуживании.

· PRIORITY – уровень приоритета Хакт.

Окно диалога

Находится в нижней трети экрана и показывает команды, задаваемые пользователем, реакцию отладчика на эти команды, приглашения разного вида (см. далее по тексту). Информация окна автоматически прокручивается вверх, для освобождения пространства для новой информации.

· Ready! – сигнал, что отладчик готов к началу диалога.

· :s - приглашение в начале командной строки

· XACT1… запись после выполнения такта, гласящая, что «Хакт 1 располагается перед ОБ 2 », т.е. вышел со склада и готов начать движение на транспортёре. Выражение “ poised at … “ всегда обозначает, что Хакт пытается двигаться в ОБ, номер которого указан в сообщении.

3.6.3 Выход из сеанса отладчика.

Прерывание тестового режима и переход в командную оболочку можно осуществить двумя путями.

· Команда QUIT , написанная в командной строке прерывает сессию отладчика и возвращает управление DOS. Однако при этом, программа вначале проверяет, нет ли какой незавершённой операции, которая должна попасть в листинг отчёта и если такая операция существует и она незавершенна, то программа уточняет, действительно ли вы хотите прервать сессию. При этом у пользователя имеется три выбора: первый повторить запись quit и прервать сессию с потерей неоконченных операций, написать run или continue, позволяющих завершить все операции.

· Команда QQ или равноценная - qq (Quit Quickly ) сразу прерывает сессию отладчика и немедленно возвращается в командную оболочку без какой либо проверки незавершённых операций.

Обе эти команды не имеют никаких операндов.

3.6.4 Функциональные клавиши

После запуска отладчика функциональные клавиши F1 –F10 клавиши прокрутки выполняют специфические функции, которые указаны в таблице 3.4. Имеет смысл потренироваться с использованием всех клавиш, чтобы запомнить их назначение.

Таблица 3.4 Роль функциональных клавиш

Клавиша

Выполняемая функция

Стрелка вверх

Прокрутка окна диалога на 5 строк вверх

Стрелка вниз

Прокрутка окна диалога на 5 строк вниз

Стрелка влево

Прокрутка окна диалога влево на 20 символов

Стрелка вправо

Прокрутка окна диалога вправо на 10 символов

F1

Перемещение к началу окна диалога

F2

Удаление окон кроме окна диалога

F3

Перемещение к концу окна диалога

F4

Возвращение к з-м окнам

F5

Прокрутка окна диалога влево на 20 символов

F6

Прокрутка окна диалога вправо на 10 символов

F7

Прокрутка вверх на 1 линию окна МФ

F8

Не используется

F9

Прокрутка вниз на 1 линию окна МФ

F10

Продвижение процесса ИМ на один такт = step

3.6.5 Команды и коды объектов

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

«пояснение» приводится основное назначение команды, некоторые команды используются для разных целей, соответственно для них указаны разные операнды.

Таблица 3.5 Команды отладчика( в алфавитном порядке )

Команда

Операнды Пояснение

AT

Имя или номер одного или нескольких ОБ Предлагает список команд отладки, исполняемых каждый раз при достижении Хакт назначенного ОБ, прерывается командой END или для ранее установленных точек командой UNBREAK.

BREAK

Имя или номер одного или нескольких ОБ Вводит прерывание процесса для каждого установленного ОБ, глобальное прерывание снимается командой UNBREAK. локальное прерывание снимается командой CONTINUE

CONTINUE

Ноль или несколько имёнSCAN,NEXT, SYSTEM Служит для возобновления ИМ или для снятия локальных точек прерывания

DISPLAY

Статус или код объекта См. примечания 1,2 Выводит на экран дисплея статистики многих объектов и другую информацию, прерывается нажатием клавиш BREAK ,CTRL-C,CTRL-BREAK

QQ

Не имеет Немедленно прекращает процесс ИМ

QUIT

Не имеет Прекращает процесс ИМ при выполнении условий

RUN

Ноль или больше имён Исполняет процесс ИМ, снимает все условия остановки процесса ИМ
SCAN,SYSTEM, NEXT,CLOCK, ХACT Устанавливает глобальные условия запрета.

SET

TIME =n,nS,nM Устанавливает предел времени исполнения процесса в секундах или минутах
TLOG[=]ON,OFF Переключает логику действия терминала, при включении отображает на экране
TV[ = ] ON,OFF Управляет показом процесса отладки

STEP

Число тактов Задаёт темп продвижения по модели

STOP

Не имеет Прерывает на время процесс ИМ

TRAP

SYSTEM Определяет, что в каждый момент времени Хакт останавливается, контроль передаётся пользователю
NEXT Хакт снимается из СТС, появляется сообщение, контроль передаётся пользователю
SCAN Производит сканирование СТС, контроль передаётся пользователю
CLOCK Ставит ограничение на абсолютное время, когда оно достигает назначенной величины, контроль передаётся пользователю
XACT Ставит ограничение на Хакт с определённым ИН
UNBREAK Одно или несколько имён ОБ Снимает глобальные условия прерывания
UNTRAP SYSTEM, NEXT, CLOCK ,XACT Снимает условия запрета со всех точек модели

Приложение. В списке классов и кодов объектов, упомянутых в таблице 3.5, подчёркнуты допустимые сокращения