... Бинарное отношение , в состав которого входит такой знак операции , эквивалентно обозначению вида . функтор ( аргумент1 , аргумент2 ), где функтор - знак операции , заключенный в апострофы, аргумент1 и аргумент2 - операнды, стоящие соответственно слева и справа от знака операции . Ссылки: атом 6.1 , бинарное отношение 6.1.2 , встроенный предикат 8 , оператор отношения 6.1.2 , терм или выражение 3.2.1 , функтор 3 , ' := ' 8.1 , ' == ' 3.3 . ... 6.1. ...
Функциями называется разновидность предикатов , предназначенная для имитации подпрограмм - функций, возвращающих выходное значение . ... В ходе трансляции предложения , имитирующего объявление функции , . ... An) = E :- Конъюнкция. , оно преобразуется к виду . ... Ссылки: вызов функции 6.2.1 , заголовок предложения 6 , значение терма 3 , метапеременная 3 , объявление функции 6.1.3 , подцель предложения 6.2 , предложение 6 , простой атом 6.1.1 , терм 3 , терм или выражение 3.2.1 . Следующий: 6.2. ...
Подцелями предложения служат вызовы предикатов . Вызовом предиката " называется синтаксическая конструкция, определяющая экземпляр класса , в котором этот вызов должен быть исполнен , тип вызова ( ближний или дальний ), а также атомарную формулу вызова . Различаются ближние и дальние , а также простые и акторные вызовы предикатов . Вызов предиката называется " дальним ", если в подцели явным образом (с помощью переменной или атрибута ) указан мир , в котором он должен быть исполнен . ...
Вызовом функции " называется синтаксическая конструкция, имитирующая вызов подпрограммы - функции. В составе предложений разрешается использовать следующие вызовы функций : вызов_функции_в_предложении = [ целевой_параметр ] "?" простой_атом | ... В результате трансляции вызовы функций вида . ... Если вызов функции используется в заголовке предложения вида . ... Определение функции append, добавляющей элементы в конец списка , append([],L) = L. append([H|L1],L2) = [H | ... ПОДЦЕЛИ ПРЕДЛОЖЕНИЙ . ...
Выражение - это видоизмененный вызов функции : выражение = [ выражение аддитивный_оператор ] слагаемое | выражение аддитивный_оператор терм слагаемое = [ слагаемое мультипликативный_оператор ] множитель | ... Для построения выражений используется ограниченный набор знаков операций , в состав которого входят следующие математические символы : аддитивный_оператор = "+" | ... Выражение , построенное с помощью инфиксного знака операции , эквивалентно вызову функции вида . ... ВЫЗОВЫ ФУНКЦИЙ . ...
Стратегия управления Акторного Пролога (" акторный механизм ") является расширением стандартной стратегии управления ("поиск слева направо в глубину с возвратом"), соответствующей текстуальному упорядочению процедур и вызовов предикатов . ... Ссылки: актор 7.1 , акторный механизм 7 , вызов предиката 6.2 , исполнение предиката 6.3.1 , механизм задержки 6.3.3 , повторные доказательства 7.1 , процедура 6 . Следующий: 6.3.1. ИСПОЛНЕНИЕ ВЫЗОВА ПРЕДИКАТА . ... МЕХАНИЗМ ЗАДЕРЖКИ ИСПОЛНЕНИЯ . ...
Общая схема исполнения вызова предиката ( исполнения предиката ) включает следующие действия : . Выбор предложения , заголовок которого : . ... В случае исполнения вызова функции , запрещается выбирать предложения , заголовки которых не являются объявлениями функций . ... Если значением целевого параметра в дальнем вызове предиката является элемент данных , исполнение подцели осуществляется непосредственно в том мире , в котором исполняется рассматриваемое предложение . ...
... Задержанными подцелями называются подцели доказательства , исполнение которых было отложено механизмом задержки исполнения подцелей . ... Исполнение предложения включает : . Унификацию функтора и аргументов исполняемого вызова предиката с функтором и аргументами заголовка предложения или унификацию вызова предиката с метапеременной (если заголовком предложения является метапеременная ). ... Исполнение соответствующих подцелей доказательства . ... ИСПОЛНЕНИЕ ВЫЗОВА ПРЕДИКАТА . ...
... Пересмотр списка задержанных подцелей осуществляется следующим образом : . ... Считается, что на каждой фазе исполнения процесса используется новый список задержанных подцелей . В начале фазы список задержанных подцелей является пустым. Ссылки: задерживающие значения 6.3.2 , значение терма 3 , исполнение предиката 6.3.1 , подцель доказательства 6.3.1 , процесс 5.2 , список 3.2.2 , список задержанных подцелей 6.3.2 , фаза 5.2 , целевой параметр 4.1.3 . ... СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС) . ...
Откатом называется возобновление исполнения процесса , начиная с последней (неустраненной оператором отсечения ) точки выбора . ... Ссылки: актор 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 . ...
Повторное доказательство акторов в Акторном Прологе автоматически поддерживает корректность логического вывода при использовании разрушающего присваивания и параллельных процессов . Ссылки: актор 7.1 , повторные доказательства 7.1 , процесс 5.2 , разрушающее присваивание 8.1 . Следующий: 7.1. АКТОРЫ . ... 7.1. ... СОГЛАСОВАНИЕ АКТОРОВ ПРОЦЕССА . ... СОГЛАСОВАНИЕ ПРОЦЕССОВ . ...
Актором называется подцель доказательства , соответствующая акторному вызову предиката . Актор Q называется " вложенным " по отношению к актору P, если эти акторы принадлежат одному процессу , и доказательство актора Q, результаты которого в данный момент не отменены, происходит (произошло) в ходе доказательства актора P. Нейтрализацией актора называется отмена всех результатов его доказательства , за исключением результатов доказательства вложенных по отношению к нему акторов . ...
... Каждый актор хранит свои собственные (" локальные ") значения общих переменных . Актуальными значениями общих переменных некоторого процесса называются значения , которые можно получить, унифицировав локальные значения всех общих переменных , соответствующих активным акторам этого процесса . ... Таким образом, локальные значения общих переменных любого активного актора процесса всегда равны актуальным значениям общих переменных этого процесса . ... ПОСТРОЕНИЕ ОБЩИХ ПЕРЕМЕННЫХ . ...
Общие переменные создаются автоматически в составе значений слотов во время формирования экземпляров классов . При построении общих переменных выполняются следующие правила : . ... Ссылки: актор 7.1 , атрибут 4.1.1 , значение переменной 3.1 , значение слота 5.1 , инициализатор 4.1.2 , конструктор 4.1.3 , мир 5.1 , начальное значение слота 5.4.2 , общие переменные 7.2 , переменная 2.1.1 , построение слотов 5.4.2 , слот 5.1 , формирование миров 5.4.1 . ... ОБЩИЕ ПЕРЕМЕННЫЕ . ...
На первом этапе согласования акторов сопоставляются локальные значения общих переменных , соответствующие различным акторам процесса G. Сопоставление локальных значений общих переменных осуществляется следующим образом : . ... Ссылки: актор 7.1 , актуальные значения 7.2 , доказанный актор 7.1 , локальные значения 7.2 , нейтрализация актора 7.1 , общие переменные 7.2 , процесс 5.2 , согласование акторов 7.3 , унификация 3.3 , фиксированное значение 7.2 . ... СОГЛАСОВАНИЕ АКТОРОВ ПРОЦЕССА . ...
После сопоставления локальных значений общих переменных автоматически вызывается повторное доказательство всех нейтральных акторов процесса G, за исключением акторов - представителей портов процесса (см. свойства акторов - представителей в разделе 5.2.2 ). Порядок исполнения повторных доказательств акторов в языке не определен. Согласование акторов считается успешным в том и только в том случае, если завершаются успехом все повторные доказательства . ... СОГЛАСОВАНИЕ АКТОРОВ ПРОЦЕССА . ...
Согласованием процессов называются действия, осуществляемые для обеспечения согласованности процессов . Согласование процессов происходит с помощью обмена асинхронными сообщениями . Сообщением называется некоторое количество информации, передаваемое между процессами , представляющее для них единое целое. ... Обработка сообщения является отдельной фазой исполнения процесса . ... Ссылки: исполнение процесса 5.2 , процесс 5.2 , согласованность процессов 5.2 , фаза 5.2 . ... ПРЯМЫЕ СООБЩЕНИЯ . ...
В языке различаются прямые и потоковые , а также переключающие и информационные сообщения . ... Прямые сообщения передаются непосредственно от одного процесса к другому (в виде дальнего вызова предиката ), а потоковые сообщения - от одного процесса ко многим (в виде значения общей переменной ). Прямые сообщения никогда не теряются при передаче , в то время как потоковые сообщения , которые процесс еще не успел обработать , могут быть заменены более новой информацией. ... ПРЯМЫЕ СООБЩЕНИЯ . ...
Прямым сообщением называется сообщение , реализующее исполнение дальнего вызова предиката из одного процесса в другом. ... Осуществляется активизация всех портов S, текущее значение D которых не является пустым , а производитель текущего значения не равен H, таких что : . порт S относится к сорту " отключающий "; . ... Обработка прямых сообщений процессом допускается лишь в том случае, если он уже обработал все полученные им потоковые сообщения , и, следовательно, не имеет несогласованных портов . ...