Перейти к содержанию

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

Материал из Викиучебника — открытых книг для открытого мира


Это незавершённый раздел учебника.
Вы можете помочь проекту, исправив и дополнив его.


Библиотеки и табличные структуры с акторами

[править]

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

Библиотеки и табличные структуры с акторами
Название Дата последнего релиза Лицензия Языки программирования
ActiveJava 2008 ? Java
Actor 2013-05-31 MIT Java
Actor-CPP 2012-03-10[1] GPL 2.0 C++
Actor Framework 2013-11-13 Apache 2.0 .NET
ActorKit 2011-09-13[2] BSD Objective-C
Akka (toolkit) 2015-04-23 Apache 2.0 Java and Scala
Akka.NET 2016-01-18 Apache 2.0 .NET
C++ Actor Framework (CAF) 2015-11-25[3] Boost Software License 1.0 and BSD 3-Clause C++11
Celluloid 2016-01-19[4] MIT Ruby
Cloud Haskell 2015-06-17[5] BSD Haskell
CloudI 2015-12-24[6] BSD C/C++, Elixir/Erlang/LFE, Java, Javascript, Perl, PHP, Python, Ruby
Functional Java 2016-02-15[7] BSD Java
GPars 2014-05-09[8] Apache 2.0 Groovy
Jetlang 2013-05-30[9] New BSD Java
Korus 2010-02-04 GPL 3 Java
Kilim[10] 2011-10-13[11] MIT Java
LabVIEW Actor Framework 2012-03-01[12] ? LabVIEW
libprocess 2013-06-19 Apache 2.0 C++
NAct 2012-02-28 LGPL 3.0 .NET
OOSMOS 2016-02-17[13] GPL 2.0 и коммерческая C, C++
Orbit 2016-02-16[14] New BSD Java
Orleans 2016-01-20[15] MIT .NET
Panini 2014-05-22 MPL 1.1 Собственный язык программирования
Peernetic 2007-06-29 LGPL 3.0 Java
PostSharp 2014-09-24 Коммерческая / Freemium .NET
Pulsar 2014-11-18[16] New BSD Python
Pulsar 2016-02-18[17] LGPL/Eclipse Clojure
Pykka 2015-07-20[18] Apache 2.0 Python
Remact.Net ? MIT .NET
Retlang 2011-05-18[19] New BSD .NET
rotor 2022-04-23[20] MIT C++17
S4 2012-07-31[21] Apache 2.0 Java
SObjectizer 2016-02-11 New BSD C++11
Termite Scheme 2009-05-21 LGPL Scheme
Theron 2014-01-18[22] MIT[23] C++
Thespian 2016-02-11 GoDaddy Public Release[24] Python
QP framework 2015-09-29[25] GPL 2.0 и коммерческая C и C++
Quasar 2016-01-18[26] LGPL/Eclipse Java

Литература для чтения

[править]
  • Stephen Kleene Recursive Predicates and Quantifiers American Mathematical Society Transactions. 1943.
  • Paul Baran. On Distributed Communications Networks IEEE Transactions on Communications Systems, March 1964.
  • Peter Landin. A Generalization of Jumps and Labels Report. UNIVAC Systems Programming Research. August 1965. Reprinted in Higher Order and Symbolic Computation. 1998.
  • Edsger Dijkstra Solution of a Problem in Concurrent Programming Control Communications of the ACM, 1965.
  • Jack Dennis and Earl Van Horn. Programming Semantics for Multiprogrammed Computations CACM. March 1966.
  • Ole-Johan Dahl and Kristen Nygaard. Class and subclass declarations IFIP TC2 Conference on Simulation Programming Languages. May 1967.
  • Carl Hewitt. PLANNER: A Language for Proving Theorems in Robots IJCAI 1969
  • William A. Woods. Transition network grammars for natural language analysis CACM. 1970.
  • Terry Winograd. Procedures as a Representation for Data in a Computer Program for Understanding Natural Language MIT AI TR-235. January 1971.
  • Carl Hewitt. Procedural Embedding of Knowledge In Planner IJCAI 1971.
  • G.M. Birtwistle, Ole-Johan Dahl, B. Myhrhaug and Kristen Nygaard. SIMULA Begin Auerbach Publishers Inc, 1973.
  • Daniel Bobrow: A Model for Control Structures for Artificial Intelligence Programming Languages IJCAI 1973.
  • Carl Hewitt, et al. Actor Induction and Meta-evaluation Conference Record of ACM Symposium on Principles of Programming Languages, January 1974.
  • Carl Hewitt, et al. Behavioral Semantics of Nonrecursive Control Structure Proceedings of Colloque sur la Programmation, April 1974.
  • Irene Greif and Carl Hewitt. Actor Semantics of PLANNER-73 Conference Record of ACM Symposium on Principles of Programming Languages. January 1975.
  • Carl Hewitt. How to Use What You Know IJCAI. September, 1975.
  • Alan Kay and Adele Goldberg. Smalltalk-72 Instruction Manual Xerox PARC Memo SSL-76-6. May 1976.
  • Edsger Dijkstra. A discipline of programming Prentice Hall. 1976. Рус. пер. Эдсгер Дейкстра Дисциплина программирования, М.: Мир, 1978
  • Carl Hewitt and Henry Baker Actors and Continuous Functionals Proceeding of IFIP Working Conference on Formal Description of Programming Concepts. August 1–5, 1977.
  • Henry Baker and Carl Hewitt The Incremental Garbage Collection of Processes Proceeding of the Symposium on Artificial Intelligence Programming Languages. SIGPLAN Notices 12, August 1977.
  • Gilles Kahn and David MacQueen. Coroutines and networks of parallel processes IFIP. 1977
  • Aki Yonezawa Specification and Verification Techniques for Parallel Programs Based on Message Passing Semantics MIT EECS Doctoral Dissertation. December 1977.
  • Henry Baker. Actor Systems for Real-Time Computation MIT EECS Doctoral Dissertation. January 1978.
  • Carl Hewitt and Russ Atkinson. Synchronization in Actor Systems Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. 1977
  • Carl Hewitt and Russ Atkinson. Specification and Proof Techniques for Serializers IEEE Journal on Software Engineering. January 1979.
  • Ken Kahn. A Computational Theory of Animation MIT EECS Doctoral Dissertation. August 1979.
  • Carl Hewitt, Beppe Attardi, and Henry Lieberman. Delegation in Message Passing Proceedings of First International Conference on Distributed Systems Huntsville, AL. October 1979.
  • Nissim Francez, C.A.R. Hoare, Daniel Lehmann, and Willem-Paul de Roever. Semantics of nondetermiism, concurrency, and communication Journal of Computer and System Sciences. December 1979.
  • George Milne and Robin Milner. Concurrent processes and their syntax JACM. April 1979.
  • Russ Atkinson. Automatic Verification of Serializers MIT Doctoral Dissertation. June, 1980.
  • Bill Kornfeld and Carl Hewitt. The Scientific Community Metaphor IEEE Transactions on Systems, Man, and Cybernetics. January 1981.
  • Bill Kornfeld. Parallelism in Problem Solving MIT EECS Doctoral Dissertation. August 1981.
  • Daniel Theriault. A Primer for the Act-1 Language MIT AI memo 672. April 1982.
  • Daniel Theriault. Issues in the Design and Implementation of Act 2 MIT AI technical report 728. June 1983.
  • Henry Lieberman. An Object-Oriented Simulator for the Apiary Conference of the American Association for Artificial Intelligence, Washington, D. C., August 1983
  • Carl Hewitt and Peter de Jong. Analyzing the Roles of Descriptions and Actions in Open Systems Proceedings of the National Conference on Artificial Intelligence. August 1983.
  • Carl Hewitt and Henry Lieberman. Design Issues in Parallel Architecture for Artificial Intelligence MIT AI memo 750. Nov. 1983.
  • Daniel Ingalls. The Evolution of the Smalltalk Virtual Machine in Smalltalk-80: Bits of History, Words of Advice. Addison Wesley. 1983.
  • Hal Abelson, Gerald Jay Sussman and Julie Sussman, Structure and Interpretation of Computer Programs MIT Press and McGraw-Hill, 1985.
  • C.A.R. Hoare. Communicating Sequential Processes Prentice Hall. 1985.
  • Carl Hewitt. The Challenge of Open Systems Byte Magazine. April 1985. Reprinted in The foundation of artificial intelligence---a sourcebook Cambridge University Press. 1990.
  • Carl Manning. Traveler: the actor observatory ECOOP 1987. Also appears in Lecture Notes in Computer Science, vol. 276.
  • William Athas and Charles Seitz Multicomputers: message-passing concurrent computers IEEE Computer August 1988.
  • 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.
  • Jean-Pierre Briot. From objects to actors: Study of a limited symbiosis in Smalltalk-80 Rapport de Recherche 88-58, RXF-LITP, Paris, France, September 1988
  • William Dally and Wills, D. Universal mechanisms for concurrency PARLE 1989.
  • W. Horwat, A. Chien, and W. Dally. Experience with CST: Programming and Implementation PLDI. 1989.
  • Carl Hewitt. Towards Open Information Systems Semantics Proceedings of 10th International Workshop on Distributed Artificial Intelligence. October 23–27, 1990. Bandera, Texas.
  • Akinori Yonezawa, Ed. ABCL: An Object-Oriented Concurrent System MIT Press. 1990.
  • K. Kahn and Vijay A. Saraswat, "Actors as a special case of concurrent constraint (logic) programming", in SIGPLAN Notices, October 1990. Describes Janus computer programming language.
  • Carl Hewitt. Open Information Systems Semantics Journal of Artificial Intelligence. January 1991.
  • Carl Hewitt and Jeff Inman. DAI Betwixt and Between: From "Intelligent Agents" to Open Systems Science IEEE Transactions on Systems, Man, and Cybernetics. Nov./Dec. 1991.
  • Carl Hewitt and Gul Agha. Guarded Horn clause languages: are they deductive and Logical? International Conference on Fifth Generation Computer Systems, Ohmsha 1988. Tokyo. Also in Artificial Intelligence at MIT, Vol. 2. MIT Press 1991.
  • William Dally, et al. The Message-Driven Processor: A Multicomputer Processing Node with Efficient Mechanisms IEEE Micro. April 1992.
  • S. Miriyala, G. Agha, and Y.Sami. Visulatizing actor programs using predicate transition nets Journal of Visual Programming. 1992.
  • Alan Kay. The Early History of Smalltalk The second ACM conference on history of programming languages. 1993.
  • Carl Hewitt and Carl Manning. Negotiation Architecture for Large-Scale Crisis Management AAAI-94 Workshop on Models of Conflict Management in Cooperative Problem Solving. Seattle, WA. Aug. 4, 1994.
  • Darrell Woelk. Developing InfoSleuth Agents Using Rosette: An Actor Based Language Proceedings of the CIKM '95 Workshop on Intelligent Information Agents. 1995.
  • Carl Hewitt and Carl Manning. Synthetic Infrastructures for Multi-Agency Systems Proceedings of ICMAS '96. Kyoto, Japan. December 8–13, 1996.
  • S. Frolund. Coordinating Distributed Objects: An Actor-Based Approach for Synchronization MIT Press. November 1996.
  • W. Kim. ThAL: An Actor System for Efficient and Scalable Concurrent Computing PhD thesis. University of Illinois at Urbana Champaign. 1997.
  • Jean-Pierre Briot. Acttalk: A framework for object-oriented concurrent programming-design and experience 2nd France-Japan workshop. 1999.
  • N. Jamali, P. Thati, and G. Agha. An actor based architecture for customizing and controlling agent ensembles IEEE Intelligent Systems. 14(2). 1999.
  • Don Box, David Ehnebuske, Gopal Kakivaya, Andrew Layman, Noah Mendelsohn, Henrik Nielsen, Satish Thatte, Dave Winer. Simple Object Access Protocol (SOAP) 1.1 W3C Note. May 2000.
  • M. Astley, D. Sturman, and G. Agha. Customizable middleware for modular distributed software CACM. 44(5) 2001.
  • Carlos Varela. Worldwide Computing with Universal Actors: Linguistic Abstractions for Naming, Migration, and Coordination PhD thesis. U. of Illinois at Urbana-Champaign. 2001.
  • N. Venkatasubramanian, C. Talcott, and G. Agha. A formal model for reasoning about adaptive QoS-enabled middleware Formal Methods Europe (FME). 2001.
  • Edward Lee, S. Neuendorffer, and M. Wirthlin. Actor-oriented design of embedded hardware and software systems Journal of circuits, systems, and computers. 2002.
  • P. Thati, R. Ziaei, and G. Agha. A Theory of May Testing for Actors Formal Methods for Open Object-based Distributed Systems. March 2002.
  • P. Thati, R. Ziaei, and G. Agha. A theory of may testing for asynchronous calculi with locality and no name matching Algebraic Methodology and Software Technology. Springer Verlag. September 2002. LNCS 2422.
  • Gul Agha and Carlos Varela. Worldwide Computing Middleware Practical Handbook on Internet Computing. CRC Press, 2004.
  • Stephen Neuendorffer. Actor-Oriented Metaprogramming PhD Thesis. University of California, Berkeley. December, 2004
  • Carl Hewitt (2006a) The repeated demise of logic programming and why it will be reincarnated What Went Wrong and Why: Lessons from AI Research and Applications. Technical Report SS-06-08. AAAI Press. March 2006.
  • Carl Hewitt (2006b) What is Commitment? Physical, Organizational, and Social COIN@AAMAS. April 27, 2006b.
  • Carl Hewitt (2007a) What is Commitment? Physical, Organizational, and Social (Revised) Pablo Noriega .et al. editors. LNAI 4386. Springer-Verlag. 2007.
  • Carl Hewitt (2007b) Large-scale Organizational Computing requires Unstratified Paraconsistency and Reflection COIN@AAMAS'07.

Примечания

[править]
  1. Changes - actor-cpp - An implementation of the actor model for C++ - Google Project Hosting. Code.google.com. Проверено 2016-02-25 г.
  2. Commit History · stevedekorte/ActorKit · GitHub. Github.com. Проверено 2016-02-25 г.
  3. Tags · actor-framework/actor-framework · GitHub. Github.com. Проверено 2016-02-25 г.
  4. celluloid | RubyGems.org | your community gem host. RubyGems.org. Проверено 2016-02-25 г.
  5. Cloud Haskell: Erlang-style concurrent and distributed programming in Haskell. Github.com. Проверено 2016-02-25 г.
  6. CloudI Dowanloads. sourceforge.net. Проверено 2016-02-25 г.
  7. Functional Java Releases. GitHub. Проверено 2016-02-25 г.
  8. GPars Releases. GitHub. Проверено 2016-02-25 г.
  9. jetlang downloads. Code.google.com. Проверено 2016-02-25 г.
  10. Шаблон:Cite conference
  11. Commit History · kilim/kilim · GitHub. Github.com. Проверено 2016-02-25 г.
  12. Community: Actor Framework, LV 2011 revision (version 3.0.7). Decibel.ni.com. Проверено 2016-02-25 г.
  13. OOSMOS Version History. OOSMOS. Проверено 2016-02-25 г.
  14. Orbit, GitHub, tag 0.7.1 release. GitHub. Проверено 2016-02-25 г.
  15. Orleans, GitHub, tag 1.1.2 release. GitHub. Проверено 2016-02-25 г.
  16. Pulsar oldchangelog
  17. Pulsar on GitHub
  18. Changes — Pykka 1.2.1 documentation. pykka.org. Проверено 2016-02-25 г.
  19. Changes - retlang - Message based concurrency in .NET - Google Project Hosting. Code.google.com. Проверено 2016-02-25 г.
  20. Changes - rotor - Event loop friendly C++ actor micro-framework, supervisable. github.com. Проверено 2022-05-12 г.
  21. Commit History · s4/s4 · Apache. apache.org. Проверено 2016-02-25 г.
  22. Theron - Version 6.00.02 released. Theron-library.com. Проверено 2016-02-25 г.
  23. Theron. Theron-library.com. Проверено 2016-02-25 г.
  24. Thespian Releases. godaddy.com. Проверено 2015-09-29 г.
  25. QP Active Object Frameworks - Browse Files at. Sourceforge.net. Проверено 2016-02-25 г.
  26. Quasar GitHub

Ссылки

[править]

Источник

[править]