Модель акторів
Модель акторів — математична модель паралельних обчислень, побудована на основі поняття «актора» (англ. actor — актор, діючий суб'єкт), яке вважається універсальним примітивом паралельного виконання. Актор в даній моделі взаємодіє з іншими акторами шляхом надсилання та отримання повідомлень. Отримавши повідомлення актор може опрацювати його, створити нових акторів, надіслати власні повідомлення, змінити власний стан, в тому числі стратегію опрацювання наступних отриманих повідомлень чи завершити свою роботу.
Ця модель виступає як теоретична основа для ряду практичних реалізацій систем паралельних обчислень.
Мова програмування SmallTalk[1] побудована виключно на взаємодії об'єктів за допомогою відсилання повідомлень один одному. При цьому код кожного об'єкту виконується паралельно в ізольованому від сусідів середовищі.
Ранні мови програмування з підтримкою акторів — Act 1, 2 та 3[2][3],
Acttalk[4],
Ani[5],
Cantor[6],
Rosette[7]
Пізніше створені мови, орієнтовані на модель акторів: Actor-Based Concurrent Language (ABCL), ActorScript, AmbientTalk[8], Axum[9].
Мови загального призначення з моделлю акторів — E, Elixir[10], Erlang, Io, SALSA[11], Scala[12][13].
- ↑ Середовище виконання SmallTalk як сучасний приклад реалізації (сайт проекту Pharo). Архів оригіналу за 7 червня 2017. Процитовано 29 січня 2020.
- ↑ Генрі Ліберман. Розгляд Act 1. MIT AI, червень 1981(англ.)
- ↑ Генрі Ліберман. Мислення про багато що одночасно без плутанини: Паралелізм в Act 1. MIT AI, червень 1981(англ.)
- ↑ Jean-Pierre Briot. Acttalk: A framework for object-oriented concurrent programming-design and experience 2nd France-Japan workshop. 1999.
- ↑ Ken Kahn. A Computational Theory of Animation MIT EECS Doctoral Dissertation. August 1979.
- ↑ William Athas and Nanette Boden Cantor: An Actor Programming System for Scientific Computing in Proceedings of the NSF Workshop on Object-Based Concurrent Programming. 1988. Special Issue of SIGPLAN Notices.
- ↑ Darrell Woelk. Developing InfoSleuth Agents Using Rosette: An Actor Based Language Proceedings of the CIKM '95 Workshop on Intelligent Information Agents. 1995.
- ↑ Dedecker J., Van Cutsem T., Mostinckx S., D'Hondt T., De Meuter W. Ambient-oriented Programming in AmbientTalk. In «Proceedings of the 20th European Conference on Object-Oriented Programming (ECOOP), Dave Thomas (Ed.), Lecture Notes in Computer Science Vol. 4067, pp. 230—254, Springer-Verlag.», 2006
- ↑ Microsoft Cooking Up New Parallel Programming Language — Application Development — News & Reviews — eWeek.com. Архів оригіналу за 29 липня 2012. Процитовано 29 січня 2020.
{{cite web}}
: символ нерозривного пробілу в|title=
на позиції 55 (довідка) - ↑ Dave Thomas. Chapter 14. Working with Multiple Processes // Programming Elixir. — Pragmatic Bookshelf, 2014. — 280 p. — ISBN 978-1-937785-58-1.
- ↑ Carlos Varela and Gul Agha. Programming Dynamically Reconfigurable Open Systems with SALSA. ACM SIGPLAN Notices. OOPSLA'2001 Intriguing Technology Track Proceedings, 2001
- ↑ Philipp Haller and Martin Odersky, Event-Based Programming without Inversion of Control, Proc. JMLC, September, 2006 (PDF). Архів оригіналу (PDF) за 9 листопада 2020. Процитовано 29 січня 2020.
- ↑ Philipp Haller and Martin Odersky, Actors that Unify Threads and Events. Technical report LAMP, January, 2007 (PDF). Архів оригіналу (PDF) за 7 червня 2011. Процитовано 14 лютого 2011.
В іншому мовному розділі є повніша стаття Actor model(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою перекладу з англійської.
|
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |