~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ D656A4137AC8C69AA6C849EDB79E4F5D__1716998040 ✰
Заголовок документа оригинал.:
✰ Actor model - Wikipedia ✰
Заголовок документа перевод.:
✰ Модель актера — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Actor_model ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/d6/5d/d656a4137ac8c69aa6c849edb79e4f5d.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/d6/5d/d656a4137ac8c69aa6c849edb79e4f5d__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 09:42:44 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 29 May 2024, at 18:54 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Модель актера — Википедия Jump to content

Модель актера

Из Википедии, бесплатной энциклопедии

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

Актерская модель зародилась в 1973 году. [1] Он использовался как основа для теоретического понимания вычислений , так и как теоретическая основа для нескольких практических реализаций параллельных систем . Связь модели с другими работами обсуждается в исчислениях модели актеров и процессов .

История [ править ]

По словам Карла Хьюитта , в отличие от предыдущих моделей вычислений, модель актора была вдохновлена ​​физикой , включая общую теорию относительности и квантовую механику . [ нужна цитата ] На него также повлияли языки программирования Lisp , Simula , ранние версии Smalltalk , системы, основанные на возможностях , и коммутация пакетов . Его разработка была «мотивирована перспективой создания высокопараллельных вычислительных машин, состоящих из десятков, сотен или даже тысяч независимых микропроцессоров, каждый из которых имеет свою собственную локальную память и коммуникационный процессор, взаимодействующих через высокопроизводительную сеть связи». [2] С тех пор появление массового параллелизма посредством многоядерных и многоядерных компьютерных архитектур возродило интерес к модели акторов.

После публикации Хьюитта, Бишопа и Штайгера в 1973 году Ирен Грейф в рамках своего докторского исследования разработала операционную семантику модели актера. [3] Два года спустя Генри Бейкер и Хьюитт опубликовали набор аксиоматических законов для акторных систем. [4] [5] Среди других важных вех - Уильяма Клингера диссертация 1981 года, в которой представлена ​​денотационная семантика , основанная на доменах власти. [2] и диссертация Гуля Аги 1985 года, в которой была развита семантическая модель, основанная на переходах, дополняющая модель Клингера. [6] Это привело к полному развитию теории модели актора .

Основная работа по реализации программного обеспечения была проделана Рассом Аткинсоном, Джузеппе Аттарди, Генри Бейкером, Джерри Барбером, Питером Бишопом, Питером де Йонгом, Кеном Каном, Генри Либерманом, Карлом Мэннингом, Томом Рейнхардтом, Ричардом Штайгером и Дэном Терио в группе семантики передачи сообщений в Массачусетский технологический институт (MIT). Исследовательские группы под руководством Чака Зейтца из Калифорнийского технологического института (Калифорнийский технологический институт) и Билла Дэлли из Массачусетского технологического института создали компьютерные архитектуры, которые довели до совершенства передачу сообщений в модели. См. Реализация модели актера .

Исследования модели актора проводились в Калифорнийском технологическом институте , Киотского университета Лаборатории Токоро , Корпорации микроэлектроники и компьютерных технологий (MCC), Лаборатории искусственного интеллекта Массачусетского технологического института , SRI , Стэнфордском университете , Университете Иллинойса в Урбане-Шампейне , [7] Университет Пьера и Марии Кюри (Парижский университет 6), Пизанский университет , Лаборатория Йонезава Токийского университета , Центр Вискунде и информатики (CWI) и другие.

Фундаментальные понятия [ править ]

Модель актера принимает философию, согласно которой все является актером . Это похоже на философию «все — это объект», используемую в некоторых объектно-ориентированных языках программирования.

Актер — это вычислительная сущность, которая в ответ на полученное сообщение может одновременно:

  • отправить ограниченное количество сообщений другим участникам;
  • создать ограниченное число новых участников;
  • указать поведение, которое будет использоваться для следующего полученного сообщения.

Не существует предполагаемой последовательности вышеуказанных действий, и они могут выполняться параллельно.

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

Получатели сообщений идентифицируются по адресу, который иногда называют «почтовым адресом». Таким образом, актор может общаться только с акторами, адреса которых у него есть. Он может получить их из полученного сообщения или, если адрес предназначен для субъекта, которого он сам создал.

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

Формальные системы [ править ]

За прошедшие годы было разработано несколько различных формальных систем, которые позволяют рассуждать о системах в модели актора. К ним относятся:

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

Приложения [ править ]

Модель актора может использоваться в качестве основы для моделирования, понимания и рассуждений о широком спектре параллельных систем . [15] Например:

  • Электронную почту ( e-mail ) можно смоделировать как систему субъектов. Учетные записи моделируются как актеры, а адреса электронной почты — как адреса актеров.
  • Веб-сервисы можно моделировать как субъектов с конечными точками протокола простого доступа к объектам ( SOAP ), смоделированными как адреса субъектов.
  • Объекты с блокировками ( например , как в Java и C# ) можно моделировать как сериализаторы при условии, что их реализации таковы, что сообщения могут поступать постоянно (возможно, путем сохранения во внутренней очереди ). Сериализатор — это важный тип актера, определяемый тем свойством, что он постоянно доступен для поступления новых сообщений; каждое сообщение, отправленное сериализатору, гарантированно доставлено. [16]
  • Нотация тестирования и управления тестированием ( TTCN ), как TTCN-2, так и TTCN-3 , довольно близко соответствует модели актера. В TTCN актором является тестовый компонент: либо параллельный тестовый компонент (PTC), либо основной тестовый компонент (MTC). Компоненты тестирования могут отправлять и получать сообщения удаленным партнерам (компонентам однорангового тестирования или интерфейсу системы тестирования), причем последний идентифицируется по его адресу. К каждому тестовому компоненту привязано дерево поведения; тестовые компоненты выполняются параллельно и могут динамически создаваться родительскими тестовыми компонентами. Встроенные конструкции языка позволяют определять действия, которые необходимо предпринять при получении ожидаемого сообщения из внутренней очереди сообщений, например отправку сообщения другому одноранговому объекту или создание новых тестовых компонентов.

Семантика передачи сообщений [ править ]

Модель актера касается семантики передачи сообщений .

неограниченном недетерминизме Споры о

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

В начале 1960-х годов прерывания стали использовать для имитации одновременного выполнения нескольких программ на одном процессоре. [17] Наличие параллелизма с общей памятью привело к возникновению проблемы управления параллелизмом . Первоначально эта проблема задумывалась как проблема взаимного исключения на одном компьютере. Эдсгер Дейкстра разработал семафоры , а позже, между 1971 и 1973 годами, [18] Тони Хоар [19] и Пер Бринч Хансен [20] разработали мониторы для решения проблемы взаимного исключения. Однако ни одно из этих решений не предусматривало конструкцию языка программирования, инкапсулирующую доступ к общим ресурсам. Эта инкапсуляция была позже реализована с помощью конструкции сериализатора ([Hewitt and Atkinson 1977, 1979] и [Atkinson 1980]).

Первые модели вычислений ( например , машины Тьюринга , продукция Поста, лямбда-исчисление и т. д. ) были основаны на математике и использовали глобальное состояние для представления вычислительного шага (позже обобщенное в [McCarthy and Hayes 1969] и [Dijkstra 1976] см. Порядок событий и глобальное состояние ). Каждый вычислительный шаг осуществлялся от одного глобального состояния вычислений к следующему глобальному состоянию. Подход глобального состояния был продолжен в теории автоматов для конечных автоматов толкающим и машин с стеком , включая их недетерминированные версии. Такие недетерминированные автоматы обладают свойством ограниченного недетерминизма ; то есть, если машина всегда останавливается при запуске в исходном состоянии, то существует ограничение на количество состояний, в которых она останавливается.

Эдсгер Дейкстра развил недетерминированный подход глобального государства. Модель Дейкстры породила разногласия по поводу неограниченного недетерминизма (также называемого неограниченной неопределенностью ), свойства параллелизма, благодаря которому величина задержки в обслуживании запроса может стать неограниченной в результате арбитража разногласий за общие ресурсы, при этом гарантируя, что запрос в конечном итоге будет обслужен . Хьюитт утверждал, что модель актера должна обеспечивать гарантию обслуживания. В модели Дейкстры, хотя между выполнением последовательных инструкций на компьютере может пройти неограниченное количество времени, (параллельная) программа, которая стартовала в четко определенном состоянии, могла завершиться только в ограниченном числе состояний [Dijkstra 1976]. Следовательно, его модель не могла обеспечить гарантию обслуживания. Дейкстра утверждал, что невозможно реализовать неограниченный недетерминизм.

Хьюитт утверждал обратное: не существует предела тому, сколько времени потребуется вычислительной схеме, называемой арбитром , для стабилизации (см. «Метастабильность (электроника)» ). [21] Арбитры используются в компьютерах для обработки обстоятельств, когда компьютерные часы работают асинхронно по отношению к вводу извне, например , вводу с клавиатуры, доступу к диску, сетевому вводу и т. д. Таким образом, для сообщения, отправленного на компьютер, может потребоваться неограниченное время. быть получен, и тем временем компьютер может пересекать неограниченное количество состояний.

Модель актера отличается неограниченным недетерминизмом, который был отражен в математической модели Уилла Клингера с использованием теории предметной области . [2] В модели актора нет глобального состояния. [ сомнительно обсудить ]

Прямое общение и асинхронность [ править ]

Сообщения в модели актера не обязательно буферизуются. Это был резкий разрыв с предыдущими подходами к моделям параллельных вычислений. Отсутствие буферизации вызвало множество недоразумений во время разработки модели актора и до сих пор остается спорным вопросом. Некоторые исследователи утверждали, что сообщения буферизуются в «эфире» или «среде». Кроме того, сообщения в модели актера просто отправляются (как пакеты в IP ); нет необходимости в синхронном рукопожатии с получателем.

Создание актера плюс адреса в сообщениях топологию означают переменную

Естественным развитием модели актера было предоставление адресов в сообщениях. Под влиянием сетей с коммутацией пакетов [1961 и 1964] Хьюитт предложил разработать новую модель параллельных вычислений, в которой связь вообще не будет иметь обязательных полей: они могут быть пустыми. Конечно, если отправитель сообщения желает, чтобы получатель имел доступ к адресам, которых у получателя еще не было, адрес должен быть отправлен в сообщении.

Например, актеру может потребоваться отправить сообщение актеру-получателю, от которого он позже ожидает получить ответ, но на самом деле ответ будет обработан третьим компонентом актера, который настроен для получения и обработки ответа (например, , другой актер, реализующий шаблон наблюдателя ). Исходный субъект мог бы добиться этого, отправив сообщение, включающее сообщение, которое он желает отправить, а также адрес третьего субъекта, который будет обрабатывать ответ. Этот третий актер, который будет обрабатывать ответ, называется возобновлением ( иногда его также называют кадром продолжения или стека ). Когда субъект-получатель готов отправить ответ, он отправляет ответное сообщение на адрес субъекта возобновления , который был включен в исходное сообщение.

Таким образом, способность акторов создавать новых акторов, с которыми они могут обмениваться сообщениями, наряду со способностью включать в сообщения адреса других акторов, дает акторам возможность создавать и участвовать в произвольно изменяющихся топологических отношениях друг с другом, подобно тому, как объекты в Simula и других объектно-ориентированных языках также могут быть реляционно составлены в переменные топологии объектов обмена сообщениями.

По своей сути одновременно [ править ]

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

Нет требований к порядку прибытия сообщений [ править ]

Хьюитт выступал против добавления требования о том, что сообщения должны поступать в том порядке, в котором они отправляются субъекту. Если требуется упорядочение выходных сообщений, его можно смоделировать с помощью актера очереди, который обеспечивает эту функциональность. Такой актер очереди будет ставить в очередь поступившие сообщения, чтобы их можно было получить в порядке FIFO . Итак, если актер X отправил сообщение M1 актеру Y, и позже X отправил еще одно сообщение M2 к Y, нет никакого требования, чтобы M1 прибывает Y до M2.

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

Например, актерам разрешено конвейеризировать обработку сообщений. Это означает, что в процессе обработки сообщения M1, актор может определить поведение, которое будет использоваться для обработки следующего сообщения, а затем фактически начать обработку другого сообщения. M2 до завершения обработки M1. Тот факт, что актеру разрешено конвейеризировать обработку сообщений, не означает, что он должен конвейеризировать обработку. Будет ли сообщение конвейерным, это инженерный компромисс. Как внешний наблюдатель узнает, была ли обработка сообщения субъектом конвейерной? В определении актера, создаваемого возможностью конвейерной обработки, нет никакой двусмысленности. Конечно, в некоторых реализациях оптимизацию конвейера можно выполнить неправильно, и в этом случае может возникнуть непредвиденное поведение.

Местонахождение [ править ]

Еще одной важной характеристикой модели актора является локальность.

Локальность означает, что при обработке сообщения актор может отправлять сообщения только по адресам, которые он получает в сообщении, адресам, которые у него уже были до получения сообщения, и адресам акторов, которые он создает при обработке сообщения. (Но см. Синтез адресов акторов .)

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

Составление систем актеров [ править ]

Идея объединения акторных систем в более крупные является важным аспектом модульности , который был развит в докторской диссертации Гуль Аги: [6] позже разработанный Галом Агой, Яном Мэйсоном, Скоттом Смитом и Кэролин Талкотт . [9]

Поведение [ править ]

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

Поведения также освободили модель актора от деталей реализации, например , от интерпретатора потока токенов Smalltalk-72. Однако эффективная реализация систем, описываемых моделью акторов, требует обширной оптимизации. см . в разделе «Реализация модели актера» Подробности .

Моделирование параллелизма других систем

Другие системы параллелизма ( например , исчисление процессов ) могут быть смоделированы в модели актера с использованием протокола двухфазной фиксации . [22]

вычислительном о Теорема представлении

В модели актора существует теорема о вычислительном представлении для систем, которые закрыты в том смысле, что они не получают сообщений извне. Математическое обозначение, обозначаемое замкнутой системой строится на основе начального поведения и функция, аппроксимирующая поведение Они получают все более лучшие приближения и создают обозначение (смысл) для следующим образом [Hewitt 2008; Клингер 1981]:

Таким образом, может быть математически охарактеризовано с точки зрения всех возможных вариантов поведения (включая те, которые связаны с неограниченным недетерминизмом). Хотя не является реализацией , его можно использовать для доказательства обобщения тезиса Чёрча-Тьюринга-Россера-Клин [Kleene 1943]:

Следствием приведенной выше теоремы является то, что конечный актор может недетерминированно ответить несчетным числом . [ объяснить ] количество различных выходов.

логическим программированием Связь с

Одной из ключевых мотиваций для разработки модели актера было понимание и решение проблем структуры управления, которые возникли при разработке языка программирования Planner . [ нужна цитата ] После того, как модель актора была первоначально определена, важной задачей стало понять силу модели по сравнению с тезисом Роберта Ковальски о том, что «вычисления можно отнести к дедукции». Хьюитт утверждал, что тезис Ковальского оказался ложным для параллельных вычислений в модели актора (см. Неопределенность в параллельных вычислениях ).

Тем не менее, были предприняты попытки расширить логическое программирование до параллельных вычислений. Однако Хьюитт и Ага [1991] утверждали, что полученные системы не были дедуктивными в следующем смысле: вычислительные шаги систем параллельного логического программирования не следуют дедуктивно из предыдущих шагов (см. Неопределенность в параллельных вычислениях ). Недавно логическое программирование было интегрировано в модель актера таким образом, чтобы поддерживать логическую семантику. [21]

Миграция [ править ]

Миграция в модели актеров — это возможность актеров менять местоположение. Например , в своей диссертации Аки Ёнезава смоделировал почтовое отделение, в которое актеры-клиенты могли войти, изменить местоположение во время работы и выйти. Актера, который может мигрировать, можно смоделировать, имея актера местоположения, который изменяется при миграции актера. Однако достоверность этого моделирования является спорной и является предметом исследования. [ нужна цитата ]

Безопасность [ править ]

Безопасность субъектов может быть защищена следующими способами:

Синтезирование адресов акторов [ править ]

Тонким моментом в модели актора является возможность синтезировать адрес актора. В некоторых случаях безопасность может использоваться для предотвращения синтеза адресов (см. Безопасность ). Однако если адрес субъекта представляет собой просто битовую строку, то, очевидно, его можно синтезировать, хотя может быть сложно или даже невозможно угадать адрес актера, если битовые строки достаточно длинные. SOAP использует URL-адрес для адреса конечной точки, где можно связаться с актером. Поскольку URL-адрес представляет собой строку символов, его, очевидно, можно синтезировать, хотя шифрование делает угадывание практически невозможным.

Синтез адресов акторов обычно моделируется с помощью маппинга. Идея состоит в том, чтобы использовать систему актеров для сопоставления фактических адресов актеров. Например, на компьютере структуру памяти компьютера можно смоделировать как систему актеров, выполняющую отображение. В случае с адресами SOAP он моделирует DNS и остальную часть сопоставления URL-адресов .

сообщений параллельной передачи Контраст с другими моделями

Робина Милнера по параллелизму Первая опубликованная работа [23] был примечателен еще и тем, что не основывался на составлении последовательных процессов. Его работа отличалась от модели актера, поскольку она была основана на фиксированном количестве процессов фиксированной топологии, передающих числа и строки с использованием синхронной связи. Исходная модель взаимодействующих последовательных процессов (CSP) [24] опубликованная Тони Хоаром, отличалась от модели актера, поскольку она была основана на параллельной композиции фиксированного числа последовательных процессов, связанных в фиксированной топологии, и взаимодействии с использованием синхронной передачи сообщений на основе имен процессов (см. Модель актера и историю исчисления процессов ). . Более поздние версии CSP отказались от связи, основанной на именах процессов, в пользу анонимной связи через каналы - подход, который также использовался в работах Милнера по исчислению взаимодействующих систем и π-исчислению .

Обе эти ранние модели Милнера и Хоара обладали свойством ограниченного недетерминизма. Современная теоретическая CSP ([Hoare 1985] и [Roscoe 2005]) явно обеспечивает неограниченный недетерминизм.

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

Влияние [ править ]

Модель актера оказала влияние как на разработку теории, так и на практическую разработку программного обеспечения.

Теория [ править ]

Модель актора повлияла на развитие π-исчисления и последующих исчислений процессов . В своей лекции Тьюринга Робин Милнер написал: [25]

Теперь чистое лямбда-исчисление состоит всего из двух типов вещей: термов и переменных. Можем ли мы добиться такой же экономии при исчислении процессов? Карл Хьюитт со своей актерской моделью уже давно ответил на этот вызов; он заявил, что значение, оператор значений и процесс должны быть одним и тем же: актором.

Эта цель произвела на меня впечатление, потому что она предполагает однородность и полноту выражения... Но прошло много времени, прежде чем я смог увидеть, как достичь этой цели с помощью алгебраического исчисления...

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

Практика [ править ]

Модель актера оказала большое влияние на коммерческую практику. Например, Twitter использовал актеров для масштабируемости. [26] Кроме того, Microsoft использовала модель актера при разработке своей библиотеки асинхронных агентов. [27] Существует множество других библиотек актеров, перечисленных в разделе «Библиотеки актеров и платформы» ниже.

Решенные проблемы [ править ]

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

  • Масштабируемость : проблема увеличения параллелизма как локально, так и нелокально.
  • Прозрачность : преодоление пропасти между локальным и нелокальным параллелизмом. Прозрачность в настоящее время является спорным вопросом. Некоторые исследователи [ ВОЗ? ] выступают за строгое разделение между локальным параллелизмом с использованием параллельных языков программирования (например, Java и C# ) и нелокальным параллелизмом с использованием SOAP для веб-сервисов . Строгое разделение приводит к отсутствию прозрачности, что вызывает проблемы, когда желательно/необходимо переключаться между локальным и нелокальным доступом к веб-сервисам (см. Распределенные вычисления ).
  • Непоследовательность : несогласованность является нормой, поскольку все очень большие системы знаний о взаимодействии человека с информационными системами противоречивы. Это несоответствие распространяется на документацию и спецификации очень больших систем (например, программного обеспечения Microsoft Windows и т. д.), которые внутренне противоречивы.

Многие идеи, представленные в модели акторов, теперь также находят применение в мультиагентных системах по тем же причинам [Hewitt 2006b 2007b]. Ключевое отличие состоит в том, что агентные системы (в большинстве определений) накладывают дополнительные ограничения на участников, обычно требуя, чтобы они использовали обязательства и цели.

Программирование с актерами [ править ]

В ряде различных языков программирования используется модель актера или некоторые ее варианты. К этим языкам относятся:

актеров Ранние языки программирования

программирования актеров Более поздние языки

Библиотеки и фреймворки актеров [ править ]

Также были реализованы библиотеки или платформы актеров, позволяющие программировать в стиле актеров на языках, в которых нет встроенных актеров. Некоторые из этих рамок:

Имя Положение дел Последний релиз Лицензия Языки
Октавия Активный 2024-01-02 Апач 2.0 Скала
Абстракционатор Активный 2024-03-04 Апач 2.0 Джава
Xcraft Гоблины Активный 2022-08-30 С JavaScript
Реактед Активный 2022-11-30 Апач 2.0 Джава
Актер Активный 2020-04-16 [47] Апач 2.0 / Массачусетский технологический институт Ржавчина
Бастион Активный 2020-08-12 [48] Апач 2.0 / Массачусетский технологический институт Ржавчина
Актикс Активный 2020-09-11 [49] С Ржавчина
Аойет Активный 2016-10-17 С Быстрый
Актер Активный 2017-03-09 С Джава
Актер4j Активный 2020-01-31 Апач 2.0 Джава
Актер Активный 2019-04-09 [50] Апач 2.0 Джава
Верт.x Активный 2018-02-13 Апач 2.0 Java, Groovy, Javascript, Ruby, Scala, Kotlin, Ceylon
АктерFX Неактивный 2013-11-13 Апач 2.0 .СЕТЬ
Нравится (инструментарий) Активный 2022-09-06 [51] Коммерческий [52] (с версии 2.7.0, Apache 2.0 до 2.6.20) Ява и Скала
Akka.NET Активный 2020-08-20 [53] Апач 2.0 .СЕТЬ
Апач Пекко Активный 2023-07-26 [54] Апач 2.0 Ява и Скала
в соответствии с Активный 2019-10-16 Апач 2.0 Java, .NET Core, Go, Javascript, Python, Rust и C++
ДОТНЕАКТОРЫ Активный 2021-06-14 С .NET, C#, служебная шина Azure
Remact.Net Неактивный 2016-06-26 С .NET, Javascript
Атеджи ПХ Неактивный ? ? Джава
czmq Активный 2016-11-10 МПЛ-2 С
F# процессор почтового ящика Активный то же, что и F# (встроенная базовая библиотека) Лицензия Апач Ф#
Припев Активный 2010-02-04 Лицензия GPL 3 Джава
Коврик [55] Активный 2018-11-09 [56] С Джава
ActorFoundry (по мотивам Килима) Неактивный 2008-12-28 ? Джава
АктерКит Активный 2011-09-13 [57] БСД Цель-C
Облачный Хаскелл Активный 2024-04-30 [58] БСД Хаскелл
ОблакоI Активный 2023-10-27 [59] С ATS, C/C++, Elixir/Erlang/LFE, Go, Haskell, Java, Javascript, OCaml, Perl, PHP, Python, Ruby, Rust
беспорядок Активный 2017-05-12 [60] LGPL 2.1 C, C++ (cluttermm), Python (pyclutter), Perl (perl-Clutter)
NAct Неактивный 2012-02-28 LGPL 3.0 .СЕТЬ
Nact. Архивировано 5 февраля 2021 г. в Wayback Machine. Активный 2018-06-06 [61] Апач 2.0 JavaScript/ReasonML
Ретланг Неактивный 2011-05-18 [62] Новый БСД .СЕТЬ
JАктер Неактивный 2013-01-22 LGPL Джава
Джетланг Активный 2013-05-30 [63] Новый БСД Джава
Хаскелл-Актер Активный? 2008 Новый БСД Хаскелл
ГПарс Активный 2014-05-09 [64] Апач 2.0 классный
ООСМОС Активный 2019-05-09 [65] GPL 2.0 и коммерческая (двойное лицензирование) C. Совместимость с C++
Панини Активный 2014-05-22 МПЛ 1.1 Язык программирования сам по себе
ПАРЛИ Активный? 2007-22-07 Лицензионная лицензия 2.1 Питон
Пернетик Активный 2007-06-29 LGPL 3.0 Джава
Пики Активный 2020-02-04 С КРЛ
ПостШарп Активный 2014-09-24 Коммерческий/ бесплатный .СЕТЬ
Пульсар Активный 2016-07-09 [66] Новый БСД Питон
Пульсар Активный 2016-02-18 [67] LGPL / Затмение Кложур
Пикка Активный 2019-05-07 [68] Апач 2.0 Питон
Схема термитов Активный? 2009-05-21 LGPL Схема (реализация Гамбита)
Терон Неактивный [69] 2014-01-18 [70] С [71] С++
Театрализованный Активный 2020-03-10 С Питон
Квазар Активный 2018-11-02 [72] LGPL / Затмение Джава
Либактор Активный? 2009 Лицензионная лицензия 2.0 С
Актер-КПФ Активный 2012-03-10 [73] Лицензионная лицензия 2.0 С++
С4 Неактивный 2012-07-31 [74] Апач 2.0 Джава
C++ Actor Framework (CAF) Активный 2020-02-08 [75] Лицензия на программное обеспечение Boost 1.0 и пункт BSD 3 С++11
Целлулоид Активный 2018-12-20 [76] С Рубин
Структура актеров LabVIEW Активный 2012-03-01 [77] Соглашение об уровне обслуживания National Instruments ЛабВЬЮ
Библиотека сообщений LabVIEW Активный 2021-05-24 БСД ЛабВЬЮ
Орбита Активный 2019-05-28 [78] Новый БСД Джава
Платформы QP для встроенных систем реального времени Активный 2019-05-25 [79] GPL 2.0 и коммерческая (двойное лицензирование) С и С++
libпроцесс Активный 2013-06-19 Апач 2.0 С++
SObjectizer. Архивировано 10 августа 2020 г. на Wayback Machine. Активный 2021-12-28 [80] Новый БСД С++17
ротор Активный 2022-04-23 [81] МОЯ лицензия С++17
Орлеан Активный 2023-07-11 [82] МОЯ лицензия C#/.NET
Скайнет Активный 2020-12-10 МОЯ лицензия С/Взять
Reactors.IO Активный 2016-06-14 Лицензия БСД Java/Скала
либагенты Активный 2020-03-08 Лицензия на бесплатное программное обеспечение С++11
Proto.Actor Активный 2021-01-05 Лицензия на бесплатное программное обеспечение Go, C#, Python, JavaScript, Котлин
FunctionalJava. Архивировано 22 апреля 2021 г. на Wayback Machine. Активный 2018-08-18 [83] BSD 3-пункт Джава
Райкер Активный 2019-01-04 МОЯ лицензия Ржавчина
комедия Активный 2019-03-09 АПЛ 1.0 JavaScript
Актеры VLINGO XOOM Активный 2023-02-15 Публичная лицензия Mozilla 2.0 Java, Kotlin, языки JVM, C# .NET
ВасмОблако Активный 2021-03-23 Апач 2.0 WebAssembly (Rust, TinyGo, Zig, AssemblyScript)
луч Активный 2020-08-27 Апач 2.0 Питон
клетка Активный 2012-08-02 Новая лицензия BSD Питон
актер Активный 2022-08-16 Лицензионная лицензия 3.0 Идти
я чувствую Активный 2022-11-21 Апач 2.0 Общий Лисп
Тарант Активный 2023-04-17 С Машинописный текст, Javascript

См. также [ править ]

Ссылки [ править ]

  1. ^ Хьюитт, Карл ; Епископ Питер; Штайгер, Ричард (1973). «Универсальный модульный формализм актеров для искусственного интеллекта». IJCAI. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  2. ^ Перейти обратно: а б с д Уильям Клингер (июнь 1981 г.). «Основы семантики актеров». Докторская диссертация по математике. Массачусетский технологический институт. hdl : 1721.1/6935 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  3. ^ Перейти обратно: а б Ирен Грейф (август 1975 г.). «Семантика взаимодействия параллельных процессов». Докторская диссертация ЭЭКС. Массачусетский технологический институт. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  4. ^ Перейти обратно: а б Генри Бейкер ; Карл Хьюитт (август 1977 г.). «Законы связи параллельных процессов». ИФИП. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  5. ^ «Законы взаимодействия параллельных процессов» (PDF) . 10 мая 1977 года. Архивировано (PDF) из оригинала 24 июня 2016 года . Проверено 11 июня 2014 г.
  6. ^ Перейти обратно: а б с Гуль Ага (1986). «Актеры: модель параллельных вычислений в распределенных системах». Докторская диссертация. МТИ Пресс. hdl : 1721.1/6952 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  7. ^ "Дом" . Osl.cs.uiuc.edu. Архивировано из оригинала 22 февраля 2013 г. Проверено 2 декабря 2012 г.
  8. ^ Карл Хьюитт. Рассмотрение структур управления как шаблонов передачи сообщений Журнал искусственного интеллекта. Июнь 1977 года.
  9. ^ Перейти обратно: а б Гуль Ага; Ян Мейсон; Скотт Смит; Кэролайн Талкотт (январь 1993 г.). «Фонд актерских вычислений». Журнал функционального программирования .
  10. ^ Карл Хьюитт (27 апреля 2006 г.). «Что такое обязательства? Физические, организационные и социальные» (PDF) . Архивировано (PDF) из оригинала 11 февраля 2021 г. Проверено 26 мая 2006 г. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  11. ^ Мауро Гаспари; Джанлуиджи Заваттаро (май 1997 г.). «Алгебра актеров» (PDF) . Формальные методы для открытых объектно-ориентированных распределенных систем . Технический отчет UBLCS-97-4. Болонский университет. стр. 3–18. дои : 10.1007/978-0-387-35562-7_2 . ISBN  978-1-4757-5266-3 . Архивировано (PDF) из оригинала 26 июля 2018 г. Проверено 08 апреля 2019 г.
  12. ^ М. Гаспари; Г. Заваттаро (1999). «Алгебра актеров». Формальные методы для открытых объектно-ориентированных систем. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  13. ^ Гуль Ага ; Прасанна Тати (2004). «Алгебраическая теория действующих лиц и ее применение к простому объектно-ориентированному языку» (PDF) . От OO до FM (Dahl Festschrift) LNCS 2635. Архивировано из оригинала (PDF) 20 апреля 2004 г. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  14. ^ Джон Дарлингтон; ЮК Го (1994). «Формализация действующих лиц в линейной логике». Международная конференция по объектно-ориентированным информационным системам. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  15. ^ «Что такое модель актера и когда ее следует использовать?» . Мэтт Фердерер . Архивировано из оригинала 25 августа 2021 г. Проверено 25 августа 2021 г.
  16. ^ Чунг, Лео (25 июля 2017 г.). «Почему Akka и модель актера подходят для приложений Интернета вещей» . Инфомир . Архивировано из оригинала 25 августа 2021 г. Проверено 25 августа 2021 г.
  17. ^ Хансен, Пер Бринч (2002). Истоки параллельного программирования: от семафоров к удаленным вызовам процедур . Спрингер. ISBN  978-0-387-95401-1 .
  18. ^ Хансен, Пер Бринч (1996). «Мониторы и параллельный Паскаль: личная история». Сообщения ACM : 121–172.
  19. ^ Хоар, Тони (октябрь 1974 г.). «Мониторы: концепция структурирования операционной системы» . Коммуникации АКМ . 17 (10): 549–557. дои : 10.1145/355620.361161 . S2CID   1005769 .
  20. ^ Хансен, Пер Бринч (июль 1973 г.). Принципы операционной системы . Прентис-Холл.
  21. ^ Перейти обратно: а б Хьюитт, Карл (2012). «Что такое вычисления? Модель актера против модели Тьюринга». В Зениле, Гектор (ред.). Вычислимая Вселенная: понимание вычислений и исследование природы как вычислений. Посвящается памяти Алана М. Тьюринга к 100-летию со дня его рождения . Мировое научное издательство.
  22. ^ Фредерик Кнабе. Распределенный протокол для коммуникации на основе каналов с выбором PARLE 1992. Архивировано 31 августа 2017 г. в Wayback Machine .
  23. ^ Робин Милнер. Процессы: математическая модель вычислительных агентов на логическом коллоквиуме 1973.
  24. ^ АВТОМОБИЛЬ Хоара. Обмен последовательными процессами CACM. Август 1978 года.
  25. ^ Милнер, Робин (1993). «Элементы взаимодействия» . Коммуникации АКМ . 36 : 78–89. дои : 10.1145/151233.151240 .
  26. ^ «Как Twitter масштабируется «Блог Вайминга Мока» . Waimingmok.wordpress.com. 27 июня 2009 г. Архивировано из оригинала 5 февраля 2021 г. Проверено 2 декабря 2012 г.
  27. ^ « Акторное программирование с использованием библиотеки асинхронных агентов. Архивировано 31 августа 2017 г. в Wayback Machine », MSDN, сентябрь 2010 г.
  28. ^ Генри Либерман (июнь 1981 г.). «Предварительный просмотр акта 1». Памятка MIT AI 625. hdl : 1721.1/6350 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  29. ^ Генри Либерман (июнь 1981 г.). «Думать о множестве вещей одновременно, не запутываясь: параллелизм в акте 1». Памятка MIT AI 626. hdl : 1721.1/6351 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  30. ^ Жан-Пьер Брио. Acttalk: Структура объектно-ориентированного параллельного программирования, проектирование и опыт. 2-й франко-японский семинар. 1999. Архивировано 28 июня 2018 г. в Wayback Machine.
  31. ^ Кен Кан. Вычислительная теория анимации. Архивировано 18 августа 2017 г. в Wayback Machine . Докторская диссертация MIT EECS. Август 1979 года.
  32. ^ Уильям Атас и Нанетт Боден Кантор: Система актерского программирования для научных вычислений. Архивировано 8 апреля 2019 г. в Wayback Machine в материалах семинара NSF по объектно-ориентированному параллельному программированию. 1988. Специальный выпуск уведомлений SIGPLAN.
  33. ^ Даррелл Вулк. Разработка агентов InfoSleuth с использованием Rosette: акторно-ориентированный язык. Материалы семинара CIKM '95 по интеллектуальным информационным агентам. 1995.
  34. ^ Дедекер Дж., Ван Катсем Т., Мостинкс С., Д'Хондт Т., Де Мойтер В. Эмбиент-ориентированное программирование в AmbientTalk. В «Материалах 20-й Европейской конференции по объектно-ориентированному программированию (ECOOP), Дэйв Томас (ред.), Конспекты лекций по информатике, том 4067, стр. 230–254, Springer-Verlag.», 2006 г.
  35. ^ Дэррил К. Тафт (17 апреля 2009 г.). «Microsoft готовит новый язык параллельного программирования» . Eweek.com. Архивировано из оригинала 29 июля 2012 года . Проверено 2 декабря 2012 г.
  36. ^ «Гумус» . Дальнефр.com. Архивировано из оригинала 07 февраля 2021 г. Проверено 2 декабря 2012 г.
  37. ^ Брандауэр, Стефан; и другие. (2015). «Параллельные объекты для многоядерных процессоров: взгляд на параллельный язык на бис». Формальные методы многоядерного программирования . Springer International Publishing: 1–56.
  38. ^ «Язык пони» . Архивировано из оригинала 04 сентября 2018 г. Проверено 21 марта 2016 г.
  39. ^ Клебш, Сильван; Дроссопулу, София; Благословение, Себастьян; Макнил, Энди (2015). «Лишение возможностей для безопасных и быстрых актеров». Материалы 5-го Международного семинара по программированию на основе акторов, агентов и децентрализованного управления - AGERE! 2015 . стр. 1–12. дои : 10.1145/2824815.2824816 . ISBN  9781450339018 . S2CID   415745 . Сильван Клебш, София Дроссопулу, Себастьян Блессинг, Энди МакНил
  40. ^ «Язык П» . Гитхаб . 08.03.2019. Архивировано из оригинала 15 января 2021 г. Проверено 1 февраля 2017 г.
  41. ^ «Язык P#» . Гитхаб . 2019-03-12. Архивировано из оригинала 23 марта 2021 г. Проверено 1 февраля 2017 г.
  42. ^ «класс Рактор» . Ruby-lang.org. Архивировано из оригинала 02 марта 2022 г. Проверено 02 марта 2022 г.
  43. ^ Карлос Варела и Гул Ага (2001). «Программирование динамически реконфигурируемых открытых систем с помощью SALSA». Уведомления ACM SIGPLAN. OOPSLA'2001: Интригующие технологии . 36 .
  44. ^ Филипп Халлер и Мартин Одерски (сентябрь 2006 г.). «Событийное программирование без инверсии управления» (PDF) . Учеб. JMLC 2006. Архивировано (PDF) из оригинала 09.11.2020 . Проверено 5 апреля 2007 г. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  45. ^ Филипп Халлер и Мартин Одерски (январь 2007 г.). «Акторы, объединяющие потоки и события» (PDF) . Технический отчет LAMP 2007. Архивировано из оригинала (PDF) 7 июня 2011 г. Проверено 10 декабря 2007 г. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  46. ^ «Руководство по языку Swift — параллелизм» . Архивировано из оригинала 1 марта 2022 года . Проверено 11 марта 2022 г.
  47. ^ "актёр - 0.9.1· Дэвид Боне · Crates.io" . crates.io. Архивировано из оригинала 5 февраля 2021 г. Проверено 16 апреля 2020 г.
  48. ^ Булут, Махмут (15 декабря 2019 г.). «Бастион на Crates.io» . Crates.io . Архивировано из оригинала 5 февраля 2021 г. Проверено 15 декабря 2019 г.
  49. ^ «actix - 0.10.0 · Роб Эде · Crates.io» . crates.io. Архивировано из оригинала 14 мая 2021 г. Проверено 28 февраля 2021 г.
  50. ^ «Релизы · zakgof/actr · GitHub» . Гитхаб.com. Архивировано из оригинала 26 октября 2020 г. Проверено 16 апреля 2019 г.
  51. ^ «По состоянию на 2.6.20 Выпущено · По состоянию на» . Как. 2022-09-0 Архивировано из оригинала 2 сентября 2022 г. Получено 2 сентября 2022 г.
  52. ^ «Часто задаваемые вопросы по лицензии Akka | @lightbend» . Архивировано из оригинала 22 сентября 2022 г. Проверено 24 сентября 2022 г.
  53. ^ Стабильная версия Akka.NET v1.4.10 GitHub — akkadotnet/akka.net: порт акторов Akka для .NET. , Akka.NET, 01 октября 2020 г., заархивировано из оригинала 24 февраля 2021 г. , получено 1 октября 2020 г.
  54. ^ Апач Пекко (Окончил) , Apache Software Foundation
  55. ^ Шринивасан, Шрирам; Алан Майкрофт (2008). «Килим: актеры изолированного типа для Java» (PDF) . Европейская конференция по объектно-ориентированному программированию ECOOP 2008 . Кипр. Архивировано (PDF) из оригинала 28 октября 2020 г. Проверено 25 февраля 2016 г.
  56. ^ «Релизы · килим/килим · GitHub» . Гитхаб.com. Архивировано из оригинала 16 октября 2020 г. Проверено 3 июня 2019 г.
  57. ^ «История коммитов · stevedekorte/ActorKit · GitHub» . Гитхаб.com . Проверено 25 февраля 2016 г.
  58. ^ «Взлом: репозиторий пакетов Haskell» . Хакадж . Проверено 1 мая 2024 г.
  59. ^ «CloudI: Облако на самом низком уровне · Активность» . sourceforge.net . Проверено 03 января 2024 г.
  60. ^ «Теги · GNOME/беспорядок · GitLab» . gitlab.gnome.org. Архивировано из оригинала 3 июня 2019 г. Проверено 3 июня 2019 г.
  61. ^ «Релизы · ncthbrt/nact · GitHub» . Гитхаб . Архивировано из оригинала 27 ноября 2020 г. Проверено 3 июня 2019 г.
  62. ^ «Изменения — retlang — параллелизм на основе сообщений в .NET — хостинг проектов Google» . Архивировано из оригинала 24 ноября 2015 г. Проверено 25 февраля 2016 г.
  63. ^ "jetlang-0.2.9-bin.zip - jetlang - jetlang-0.2.9-bin.zip - Параллелизм на основе сообщений для Java - Хостинг проектов Google" . 14 февраля 2012 г. Архивировано из оригинала 14 января 2016 г. Проверено 25 февраля 2016 г.
  64. ^ «Релизы GPars» . Гитхаб. Архивировано из оригинала 04 сентября 2020 г. Проверено 25 февраля 2016 г.
  65. ^ «Релизы · oosmos/oosmos · GitHub» . Гитхаб. Архивировано из оригинала 13 ноября 2020 г. Проверено 3 июня 2019 г.
  66. ^ «Дизайн Пульсара и действующие лица» . Архивировано из оригинала 4 июля 2015 г.
  67. ^ «Документация Пульсара» . Архивировано из оригинала 26 июля 2013 г.
  68. ^ «Изменения – документация Pykka 2.0.0» . pykka.org. Архивировано из оригинала 5 февраля 2021 г. Проверено 3 июня 2019 г.
  69. ^ «Терон – Эштон Мейсон» . Архивировано из оригинала 31 марта 2019 г. Проверено 29 августа 2018 г.
  70. ^ «Терон — выпущена версия 6.00.02» . Theron-library.com. Архивировано из оригинала 16 марта 2016 г. Проверено 25 февраля 2016 г.
  71. ^ «Терон» . Theron-library.com. Архивировано из оригинала 4 марта 2016 г. Проверено 25 февраля 2016 г.
  72. ^ «Релизы · puniverse/quasar · GitHub» . Гитхаб . Архивировано из оригинала 15 декабря 2020 г. Проверено 3 июня 2019 г.
  73. ^ «Изменения — актер-cpp — реализация модели актера для C++ — хостинг проектов Google» . Архивировано из оригинала 18 ноября 2015 г. Проверено 2 декабря 2012 г.
  74. ^ «История коммитов · s4/s4 · Apache» . apache.org. Архивировано из оригинала 06 марта 2016 г. Проверено 16 января 2016 г.
  75. ^ «Релизы · фреймворк актера/фреймворк актера · GitHub» . Гитхаб.com. Архивировано из оригинала 26 марта 2021 г. Проверено 7 марта 2020 г.
  76. ^ «целлулоид | RubyGems.org | хостинг драгоценных камней вашего сообщества» . RubyGems.org. Архивировано из оригинала 29 сентября 2020 г. Проверено 3 июня 2019 г.
  77. ^ «Сообщество: Actor Framework, версия LV 2011 (версия 3.0.7)» . Децибел.ni.com. 2011-09-23. Архивировано из оригинала 13 октября 2016 г. Проверено 25 февраля 2016 г.
  78. ^ «Релизы · орбита/орбита · GitHub» . Гитхаб . Проверено 3 июня 2019 г.
  79. ^ «Встроенные платформы и инструменты QP реального времени — просмотр файлов на» . Sourceforge.net. Архивировано из оригинала 24 февраля 2021 г. Проверено 3 июня 2019 г.
  80. ^ «Релизы · Stiffstream/sobjectizer · GitHub» . Гитхаб. Архивировано из оригинала 19 октября 2020 г. Проверено 11 мая 2022 г.
  81. ^ «Релизы · basiliscos/cpp-rotor · GitHub» . Гитхаб. Архивировано из оригинала 15 сентября 2020 г. Проверено 17 мая 2022 г.
  82. ^ «Релизы · dotnet/orleans · GitHub» . Гитхаб. Архивировано из оригинала 04 декабря 2020 г. Проверено 21 сентября 2022 г.
  83. ^ «Выпуски функциональной Java» . Гитхаб. Архивировано из оригинала 15 января 2021 г. Проверено 23 августа 2018 г.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: D656A4137AC8C69AA6C849EDB79E4F5D__1716998040
URL1:https://en.wikipedia.org/wiki/Actor_model
Заголовок, (Title) документа по адресу, URL1:
Actor model - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)