Модель черного ящика и порты входа и выхода

ЛАБОРАТОРНАЯ РАБОТА №2

Тема: Приемы работы с отладчиком AMZI Prolog

Цель работы: Освоить основные приемы управления отладчиком Amzi! Prolog.

Логические ошибки при выполнении программ могут быть неочевидными. Основным средством их отыскания является пошаговое прощупывание выполнения программы. Для этого инструментальные системы включают в себя средства отладки программ.

Пакет Amzi! Prolog включает отладчик, который позволяет проводить пошаговое выполнение всей или части программы (трассировку), причем программист может управлять уровнем контроля промежуточных действий.

Включение и выключение режима отладки выполняется с помощью команд меню Listener.

а) Переход в режим отладки

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

(1) выбрать пункт меню Listener|Debug on,

(2) использовать комбинацию клавиш Ctrl+D.,

(3) выполнить запрос ?-debug.

При этом откроется дополнительное окно для вывода отладочной информации, а приглашение в окне интерпретатора примет вид ??–.

б) Выход из режима интерпретации

Вернуться в режим обычной интерпретации можно

(1) либо нажав кнопку Stop в окне отладчика,

(2) либо выключить режим отладки с помощью пункта меню Listener|Debug off,

(3) либо выполнить запрос ??-nodebug.

Замечание.

Последовательное переключение между окнами редактора текстов, интерпретатора и отладчика удобно выполнять с помощью комбинации клавиш Ctrl+F6. Однако этот способ не работает, когда процесс процесса отладки начат, но еще не завершен.

ЗАДАНИЕ 1(переход в отладочный режим)

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

2. Ознакомится со структурой окна отладчика (назначение отдельных управляющих элементов этого окна будет рассмотрено далее).

Модель черного ящика и порты входа и выхода

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

Для наглядного представления процесса выполнения Пролог-программы используется модель черного ящика. Каждый рассматриваемый ящик соответствует определенной цели и имеет входы и выходы для потока вычислений, которые называются портами.

Каждый ящик имеет четыре порта, из которых два являются входными (call и redo), а два — выходными (exit и fail).

Модель черного ящика и порты входа и выхода

Порты имеют следующее назначение.

§ Порт вызова call — используется для входа в ящик, когда Прологом делается первая попытка доказать данную цель (трассировка в прямом направлении).

§ Порт выхода exit —используется для выхода из ящика, когда цель успешно согласована (доказана) (трассировка в прямом направлении);

§ Порт неудачи fail — используется для выхода из ящика, когда цель согласовать (доказать) не удалось (трассировка в обратном направлении).

§ Порт повторного входа redo — используется для входа в ящик, когда Пролог уже однажды согласовал цель, однако из-за неудачи при дальнейших вычислениях потребовалось вернуться к данной цели и поискать для нее другое доказательство.

Схема связи портов последовательно доказываемых целей выглядит примерно так:

Модель черного ящика и порты входа и выхода

Jackpotting an ATM with a black box


Похожие статьи.

Понравилась статья? Поделиться с друзьями: