- •Алфавит языка
- •Лексика
- •Лексемы
- •Переменные
- •Символы и ключевые слова
- •Числовые литералы
- •Сегменты строк
- •Ограничители
- •Комментарии
- •Определение данных
- •Простые термы
- •Составные термы
- •Структуры
- •Списки
- •Недоопределённые множества
- •Унификация термов
- •Структура программы
- •Классы
- •Атрибуты классов
- •Инициализаторы слотов
- •Конструкторы
- •Проект
- •Пакеты
- •Трансляция исходных файлов
- •Структура пространства поиска
- •Экземпляры классов
- •Процессы
- •Состояния процесса
- •Порты процессов
- •Резиденты
- •Построение пространства поиска
- •Исполнение конструкторов
- •Построение слотов
- •Предложения классов
- •Атомарные формулы
- •Простые атомы
- •Бинарные отношения
- •Объявления функций
- •Подцели предложений
- •Вызовы функций
- •Выражения
- •Стратегия управления
- •Исполнение вызова предиката
- •Исполнение предложения
- •Механизм задержки исполнения
- •Откат программы
- •Акторы и повторные доказательства
- •Акторы
- •Общие переменные
- •Построение общих переменных
- •Согласование акторов процесса
- •Сопоставление локальных значений
- •Исполнение повторных доказательств
- •Согласование процессов
- •Классификация сообщений
- •Прямые сообщения
- •Потоковые сообщения
- •Исключительные ситуации
- •Встроенные предикаты и операторы
- •Корректное разрушающее присваивание
- •Актуализация производных значений
- •Сводка синтаксиса
- •Свойства, зависящие от реализации
- •Термины и определения
- •Список понятий языка
6.3. СТРАТЕГИЯ УПРАВЛЕНИЯ |
65 |
Вызов предопределённых предикатов и встроенных управляющих операторов с помощью метаатомов невозможен и всегда заканчивается неудачей.
Примечание. Метаатом в заголовке метапредложения может быть только символом или только структурой, потому что, в соответствии с семантикой языка, количество аргументов структуры не может быть меньше единицы.
Ссылки: анонимная переменная 2.1.1, встроенный оператор 8, вызов предиката 6.2, вызов функции 6.2.1, заголовок предложения 6, значение переменной 3.1, значение терма 3, исполнение предиката 6.3.1, метаатом 6.1.1, метапеременная 3, метапредложение 6, метафунктор 3, механизм задержки 6.3.3, несвязанная переменная 3.1, объявление функции 6.1.3, переменная 2.1.1, пересмотр списка задержанных 6.3.3, подцель доказательства 6.3.1, подцель предложения 6.2, предложение 6, предопределённый предикат 8, символ 2.1.2, слот 5.1, спейсер 3.1, список 3.2.2, структура 3.2.1, терм 3, унификация 3.3, функтор 3, целевой параметр 4.1.3.
6.3.3Механизм задержки исполнения
Механизмом задержки исполнения подцелей называется вспомогательная стратегия управления, откладывающая исполнение выделенных подцелей до тех пор, пока не будет вычислена некоторая информация, необходимая для корректного исполнения этих подцелей.
Пересмотр списка задержанных подцелей осуществляется следующим образом:
1.Элементы списка просматриваются в том порядке, в котором они были в него добавлены.
2.При обнаружении каждого элемента списка, значение целевого параметра которого не является задерживающим, найденная подцель исключается из рассматриваемого списка и исполняется.
Считается, что на каждой фазе исполнения процесса используется новый список задержанных подцелей. В начале фазы список задержанных подцелей является пустым.
Ссылки: задерживающие значения 6.3.2, значение терма 3, исполнение предиката 6.3.1, подцель доказательства 6.3.1, процесс 5.2, список 3.2.2, список задержанных подцелей 6.3.2, фаза 5.2, целевой параметр 4.1.3.
66 |
Глава 6. ПРЕДЛОЖЕНИЯ КЛАССОВ |
6.3.4Откат программы
Откатом называется возобновление исполнения процесса, начиная с последней (неустранённой оператором отсечения) точки выбора. Откат выполняется автоматически в случае неудачи какой-либо операции, осуществляемой
входе исполнения предложения.
Врезультате отката программы осуществляется восстановление состояний акторов процесса, в котором произошёл откат, на момент прохождения последней (неустранённой оператором отсечения) точки выбора (в том числе отмена всех связываний и сцеплений переменных, произошедших в акторах с момента прохождения этой точки, отмена нейтрализации и повторных доказательств акторов, а также отмена всех изменений, внесённых в список задержанных подцелей).
Врезультате отката отменяются все прямые сообщения, подготовленные после прохождения последней неустранённой точки выбора для передачи из рассматриваемого процесса.
Ссылки: актор 7.1, исполнение предложения 6.3.2, исполнение процесса 5.2, нейтрализация актора 7.1, отсечение 8, передача прямого сообщения 7.4.2, переменная 2.1.1, повторные доказательства 7.1, предложение 6, программа 4, процесс 5.2, прямые сообщения 7.4.2, связывание 3.3, состояние актора 7.1, список задержанных подцелей 6.3.2, сцепление переменных 3.3.