Термины и определения. Буква "П".

 

Пакет (package) - совокупность классов, связанных между собой по смыслу. В Акторном Прологе каждый пакет должен храниться в отдельном исходном файле, и каждый исходный файл программы считается отдельным пакетом. Каждый пакет обладает собственной областью видимости имен классов: имена классов, используемые внутри пакета, не видны из других пакетов до тех пор, пока не будут в них импортированы.

 

Параметр (parameter) - переменная или атрибут.

 

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

 

Переключающие сообщения (switching messages) - разновидность сообщений, характеризуемая тем, что: 1) В результате обработки такого сообщения процесс может перейти в состояние "доказанный", "неудачный" или (остаться в состоянии) "сформированный". 2) Обработка переключающих сообщений осуществляется процессом независимо от того, в каком состоянии - "доказанный", "неудачный" или "сформированный" - он перед этим находился.

 

Перекрытие инициализаторов (overriding of initializers) - осуществляется в ходе построения слотов экземпляра класса во время исполнения простого конструктора экземпляра класса - замена инициализаторов слотов в определении атрибутов класса другими инициализаторами, заданными в конструкторе или в классах, являющихся потомками рассматриваемого.

 

Перекрытие описателей портов (overriding of declarators of ports) - осуществляется в ходе построения слотов экземпляра класса во время исполнения простого конструктора экземпляра класса - замена описателей портов в определении атрибутов класса другими описателями портов, заданными в конструкторе или в классах, являющихся потомками рассматриваемого. Перекрытие описателей портов происходит независимо от перекрытия инициализаторов слотов.

 

Переменная (variable) - разновидность лексемы - имя, начинающееся с большой буквы или символа подчеркивания.

 

Пересмотр списка задержанных подцелей (revision of list of suspended values) - один из этапов исполнения предложения - включает следующие действия: 1) Элементы списка задержанных подцелей просматриваются в том порядке, в котором они были в него добавлены. 2) При обнаружении каждого элемента списка, значение целевого параметра которого не является задерживающим, найденная подцель исключается из рассматриваемого списка и исполняется.

 

Повторное доказательство актора (repeated proving of actor) - повторение доказательства актора с самого начала.

 

Поглощение сообщения (absorption of message) - отмена сообщения, произошедшая вследствие неудачного или аварийного завершения его обработки. В случае поглощения сообщения, состояние процесса, обрабатывающего это сообщение, восстанавливается на момент, предшествовавший обработке этого сообщения.

 

Подключение процесса (connection of process) - перевод процесса в состояние "используемый".

 

Подцель доказательства (subgoal of proving) - подцель копии предложения, построенной в ходе исполнения некоторого вызова предиката.

 

Подцель предложения (subgoal of clause) - составная часть предложения - вызов предиката, исполнение которого осуществляется в ходе исполнения предложения.

 

Порт (port) - переменная процесса, которая может принадлежать акторам других процессов. В ходе исполнения программы каждому порту процесса ставятся в соответствие сорт, состояние, актор-представитель, а также текущее значение, сорт текущего значения, производитель текущего значения.

 

Построение процесса (generation of process) - Построение процесса происходит в результате доказательства конструктора процесса, однако при этом доказательство конструктора процесса не приводит к построению пространства поиска созданного процесса. Построение соответствующего пространства поиска и слотов процесса осуществляется позже, в ходе формирования процесса.

 

Построение резидента (generation of resident) - Построение резидента происходит в результате доказательства конструктора резидента. Построение резидента включает следующие действия: 1) Переменная, созданная в качестве начального значения слота процесса-владельца, инициализатором которого является конструктор резидента, объявляется защищающим портом резидента. 2) Все остальные общие переменные, заданные в составе конструктора резидента, объявляются простыми портами резидента. 3) Новый резидент начинает функционировать.

 

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

 

Построение экземпляра класса (generation of class instance) - создание нового экземпляра класса; включает формирование экземпляра класса, а также доказательство предиката goal() во всех мирах, сформированных на этапе формирования экземпляра класса. В ходе построения экземпляра класса каждая автоматически исполняемая подцель goal объявляется новым актором.

 

Потоковое сообщение (flow message) - сообщение, реализующее передачу производных значений общих переменных из одного процесса в другие. Потоковые сообщения передаются и принимаются через порты процессов.

 

Правило (rule) - то же что "предложение".

 

Правило второго порядка (second order rule) - логическая формула, в которой переменными могут быть обозначены не только данные, но и предикаты. В Акторном Прологе правила второго порядка имитируются с помощью недоопределенных множеств и метапредложений.

 

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

 

Предикатный символ (predicate symbol) - функтор, используемый в качестве имени предиката.

 

Предикат с переменным числом аргументов (variable arity predicate) - то же что "предикат переменной арности" - предикат, последним аргументом которого является переменная, помеченная ограничителем "*". В общем случае, предикат с переменным числом аргументов обозначает некоторый набор подпрограмм, имеющих одинаковую структуру, но различную арность заголовков.

 

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

 

Предопределенный предикат (predefined predicate) - предикат, являющийся составной частью определения языка и обозначающий некоторую подпрограмму, не требующую определения в тексте программы, обладающую декларативной семантикой. Предопределенными предикатами называются (являются) предикаты '=='(V1,...,Vk), ':='(V1,...,Vk), true[(...)], fail.

 

Принадлежать актору (belong to actor) - см. "использование переменной актором".

 

Принадлежать процессу (belong to process) - Считается, что некоторый актор "принадлежит" процессу G, если этот актор доказывается, доказан или должен быть доказан в мире, входящем в состав процесса G.

 

Проверка вхождения (occurence check) - проверка, осуществляемая в ходе унификации, предотвращающая (запрещающая) связывание переменной с составными термами, содержащими эту переменную. В соответствии с семантикой Акторного Пролога, проверка вхождения не распространяется на переменные в составе миров, являющихся компонентами унифицируемых термов.

 

Программа (program) - множество определений классов и определение проекта.

 

Программная библиотека (program library) - файл, в котором хранятся оттранслированные программные модули.

 

Программный модуль (program unit) - то же что "исходный файл".

 

Проект (project) - целевое утверждение программы - некоторый конструктор процесса.

 

Производитель глобального значения (producer of global value) - процесс, построивший текущее глобальное значение общей переменной.

 

Производитель значения порта (producer of value of port) - процесс, построивший текущее значение порта.

 

Производитель потокового сообщения (producer of flow message) - процесс, из которого передано потоковое сообщение.

 

Производное значение общей переменной процесса (derived value of common variable of process) - значение, которое можно получить (если оно существует), унифицировав локальные значения общей переменной, соответствующие всем активным и доказанным акторам процесса. В случае если общая переменная процесса (например, некоторый порт процесса) не соответствует ни одному из активных или доказанных акторов, ее производным значением считается анонимная переменная "_".

 

Простой атом (simple atom) - простейшая разновидность атомарной формулы - функтор с соответствующим количеством аргументов, недоопределенное множество или метапеременная.

 

Простой вызов предиката (simple call of predicate) - Простыми вызовами предикатов называются (являются) все вызовы, про которые не сказано, что они являются акторными.

 

Простой конструктор (simple constructor) - элементарное логическое утверждение о существовании экземпляра класса.

 

Простой порт (plain port) - порт процесса, который не является ни отключающим, ни защищающим.

 

Простой терм (simple term) - элементарная синтаксическая конструкция, обозначающая данные и миры. Простыми термами являются константы (символ, целое число, вещественное число, строковый литерал, спейсер #, метапеременная, обозначающая терм в метапредложении), а также параметры.

 

Процедура (procedure) - набор предложений класса (не являющихся метапредложениями) с одинаковыми предикатными символами атомарных формул заголовков (совпадают как имя, так и арность функторов).

 

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

 

Прямое сообщение (direct message) - сообщение, реализующее исполнение дальнего вызова предиката из одного процесса в другом.

 

Пустое значение (empty value) - анонимная переменная "_" (используемая в качестве значения пустого сообщения).

 

Пустое сообщение (empty message) - специальная разновидность переключающих потоковых сообщений. Значение пустого сообщения равно анонимной переменной "_".


ПРИЛОЖЕНИЕ 3. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
КОРНЕВАЯ СТРАНИЦА
ОГЛАВЛЕНИЕ
СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС)