stringtranslate.com

Теория модели актора

В теоретической информатике теория модели актора занимается теоретическими вопросами, касающимися модели актора .

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

События и их порядок

Из определения Субъекта видно, что происходит множество событий: локальные решения, создание Субъектов, отправка сообщений, получение сообщений и определение того, как реагировать на следующее полученное сообщение.

Однако в данной статье основное внимание уделяется только тем событиям, которые представляют собой получение сообщения, отправленного Субъекту.

В этой статье сообщается о результатах, опубликованных в работе Хьюитта [2006].

Закон исчисляемости : существует не более счетного числа событий.

Активация заказа

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

Прибытие заказов

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

Комбинированный заказ

Объединенный порядок (обозначаемый как ) определяется как транзитивное замыкание порядка активации и порядка прибытия всех Акторов.

Объединенный порядок, очевидно, транзитивен по определению.

В [Baker and Hewitt 197?] было высказано предположение, что вышеуказанные законы могут повлечь за собой следующий закон:

Закон конечных цепочек между событиями в комбинированном порядке : не существует бесконечных цепочек ( т.е. линейно упорядоченных множеств) событий между двумя событиями в комбинированном порядке →.

Независимость закона конечных цепей между событиями в комбинированном порядке

Однако [Клингер 1981] неожиданно доказал, что закон конечных цепей между событиями в комбинированном порядке не зависит от предыдущих законов, т. е .

Теорема. Закон конечных цепей между событиями в комбинированном порядке не следует из ранее сформулированных законов.

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

Рассмотрим вычисление, которое начинается, когда актору Initial отправляется Startсообщение, заставляющее его выполнить следующие действия:
  1. Создайте нового актера Greeter 1 , которому будет отправлено сообщение SayHelloToс адресом Greeter 1.
  2. Отправить сообщение сAgain адресом приветствующего 1
После этого поведение InitialAgain при получении сообщения с адресом Greeter i (которое мы будем называть событием ) будет следующим :Againi
  1. Создайте нового актера Greeter i+1 , которому будет отправлено сообщение SayHelloToс адресом Greeter i
  2. Отправить Initial сообщение Againс адресом приветствующего i+1
Очевидно, что вычисление первоначальной отправки себе Againсообщений никогда не заканчивается.
Поведение каждого актора- приветствующего i выглядит следующим образом:
  • Когда он получает сообщение SayHelloToс адресом Greeter i-1 (которое мы будем называть событием ), он отправляет сообщение Greeter i-1.SayHelloToiHello
  • Когда он получает Helloсообщение (которое мы будем называть событием ), он ничего не делает.Helloi
Теперь возможно, что каждый раз и поэтому .Helloi -GreeteriSayHelloToiHelloiSayHelloToi
Также каждый раз и поэтому .Againi -≈→ Againi+1AgainiAgaini+1
Более того, все законы, изложенные до Закона Строгой Причинности для Комбинированного Упорядочения, выполняются.
Однако в комбинированном порядке между и может быть бесконечное количество событий , как показано ниже:Again1SayHelloTo1
Again1→...→Againi→......→HelloiSayHelloToi→...→Hello1SayHelloTo1

Однако из физики мы знаем, что бесконечная энергия не может быть израсходована по конечной траектории. Поэтому, поскольку модель актора основана на физике, Закон конечных цепей между событиями в комбинированном порядке был принят в качестве аксиомы модели актора.

Закон дискретности

Закон конечных цепей между событиями в комбинированном порядке тесно связан со следующим законом:

Закон дискретности : Для всех событий и множество конечно.e1e2{e|e1→e→e2}

Фактически было показано, что предыдущие два закона эквивалентны:

Теорема [Клингер 1981]. Закон дискретности эквивалентен закону конечных цепей между событиями в комбинированном порядке (без использования аксиомы выбора).

Закон дискретности исключает машины Зенона и связан с результатами на сетях Петри [Best et al. 1984, 1987].

Закон дискретности подразумевает свойство неограниченного недетерминизма . Комбинированное упорядочение используется [Clinger 1981] при построении денотационной модели Актеров (см. денотационная семантика ).

Денотационная семантика

Клингер [1981] использовал описанную выше модель событий акторов для построения денотационной модели для акторов с использованием доменов мощности . Впоследствии Хьюитт [2006] дополнил диаграммы временем прибытия, чтобы построить технически более простую денотационную модель , которую легче понять.

Смотрите также

Ссылки