在電腦科學中，演員模型是一種並行運算上的模型。「演員」是一種程式上的抽象概念，被視為並行運算的基本單元：當一個演員接收到一則訊息，它可以做出一些決策、建立更多的演員、傳送更多的訊息、決定要如何回答接下來的訊息。演員可以修改它們自己的私有狀態，但是隻能透過訊息間接的相互影響（避免了基於鎖的同步）。 演員模型在 1973 年於、Peter Bishop 及 Richard Steiger 的論文中提出。它已經被用作併發計算的框架和併發系統的基礎。演員模型和其他類似工作的關係討論可見於。 基本概念 演員模型推崇的哲學是 一切皆是演員，這與面向物件程式設計的 一切皆是物件 類似。 演員是一個運算實體，響應接收到的訊息，相互間是併發的： 傳送有限數量的訊息給其他演員； 建立有限數量的新演員； 指定接收到下一個訊息時要用到的行為。 以上動作不含有順序執行的假設，因此可以並行進行。 傳送者與已傳送通訊的解耦，是演員模型的根本優勢，演員模型啟用了非同步通訊並將控制結構當作訊息傳遞的模式 Carl Hewitt Viewing Control Structures as Patterns of Passing Messages Journal of Artificial Intelligence June 1977。 訊息接收者是透過地址區分的，有時也被稱作 郵件地址。因此演員只能和它擁有地址的演員通訊。它可以透過接收到的資訊獲取地址，或者獲取它建立的演員的地址。 演員模型的特徵是，演員內部或相互之間的計算本質上是併發性的，演員可以動態建立，演員地址包含在訊息中，互動只有透過直接的非同步訊息傳遞通訊，不限制訊息到達的順序。 歷史 演員模型受到了 Lisp、Simula、Smalltalk72、和分組交換的影響。其發展 受到由幾十、幾百、甚至幾千個獨立微處理機構成的高度平行計算機器的前景所推動，其中的每個處理機都有自己區域性記憶體和通訊處理器，它們透過高效能網路進行通訊。 此後隨著採用多核和計算機架構的大規模併發計算的出現，人們已經重新燃起了對演員模型的興趣。 在 Hewitt、Bishop 和 Steiger 的 1973 年刊物之後，在 1975 年博士論文中，為演員模型開發出了一種操作語義。和 Hewitt 在 1977 年發表了演員系統的公理法則。其他主要的里程碑包括：的 1981 年學位論文，它介入了基於的指稱語義；還有的 1985 年學位論文，它進一步發展出基於 transition 的語義模型，從而補充了 Clinger 的模型。這些工作促成了的全面發展。 主要的軟體實現工作，由麻省理工學院的訊息傳遞語義小組完成，其成員包括 Russ Atkinson、Giuseppe Attardi、Henry Baker、Gerry Barber、Peter Bishop、Peter de Jong、Ken Kahn、Henry Lieberman、Carl Manning、Tom Reinhardt、Richard Steiger 和 Dan Theriault。分別由加州理工學院的 Chuck Seitz 和麻省理工學院的 Bill Dally 領導的研究小組，致力於構造新的計算機架構，用以進一步發展演員模型中的訊息傳遞。有關工作詳見。 演員模型的研究，已經開展於加州理工學院、京都大學、、MIT 人工智慧實驗室、斯坦福國際研究所、斯坦福大學、伊利諾伊大學厄巴納 香檳分校、巴黎第六大學、比薩大學、東京大學研究室、荷蘭數學和計算機科學研究學會和其他一些地方。 使用演員模型程式設計 一些程式語言使用了演員模型或變種。這些語言包括： 早期的演員模型程式語言 Act 1，2，3 ActtalkJeanPierre Briot Acttalk A framework for objectoriented concurrent programmingdesign and experience 2nd FranceJapan workshop 1999 AniKen Kahn A Computational Theory of Animation MIT EECS Doctoral Dissertation August 1979 CantorWilliam Athas and Nanette Boden Cantor An Actor Programming System for Scientific Computing in Proceedings of the NSF Workshop on ObjectBased Concurrent Programming 1988 Special Issue of SIGPLAN Notices RosetteDarrell 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 DHondt T De Meuter W Ambientoriented Programming in AmbientTalk In Proceedings of the 20th European Conference on ObjectOriented Programming ECOOP Dave Thomas Ed Lecture Notes in Computer Science Vol 4067 pp 230254 SpringerVerlag 2006 D E Elixir Encore Erlang Humus Io Pony by Sylvan Clebsch Sophia Drossopoulou Sebastian Blessing Andy McNeil P Reia Rust SALSA Scala Scratch 演員模型庫及框架 演員模型庫及框架，允許使用者在沒有內建演員模型的語言中進行程式設計。這些框架包括： 名稱 狀態 最新發行 許可證 語言 ReActedReActed 20221130 Apache 20 Java ActeurActeur 20200416 Apache20 MIT Rust BastionBastion 20200812 Apache20 MIT Rust ActixActix 20190530 MIT Rust AojetAojet 20161017 MIT Swift ActorActor 20170309 MIT Java Actor4jActor4j 20200131 Apache 20 Java ActrActr 20190409 Apache 20 Java VertxVertx 20180213 Apache 20 Java Groovy Javascript Ruby Scala Kotlin Ceylon ActorFxActorFx 20131113 Apache 20 NET Akka 20220906 Apache 20 Java and Scala AkkaNETAkkaNET 20200820AkkaNET v1410 Stable Release Apache 20 NET Apache Pekko 20230726 Apache 20 Java and Scala RemactNetRemactNet 20160626 MIT NET Javascript Ateji PXAteji PX Java czmqczmq 20161110 MPL2 C F MailboxProcessor 同於 F 內建核心庫 Apache License F KorusKorus 20100204 GPL 3 Java KilimKilim 20181109 MIT Java ActorFoundry 基於 Kilim 20081228 Java ActorKitActorKit 20110913 BSD ObjectiveC Cloud HaskellCloud Haskell 20150617 BSD Haskell CloudICloudI 20231027 MIT ATS CC ElixirErlangLFE Go Haskell Java Javascript OCaml Perl PHP Python Ruby ClutterClutter 20170512 LGPL 21 C C cluttermm Python pyclutter Perl perlClutter NActNAct 20120228 LGPL 30 NET NactNact 20180606 Apache 20 JavaScriptReasonML RetlangRetlang 20110518 New BSD NET JActorJActor 20130122 LGPL Java JetlangJetlang 20130530 New BSD Java HaskellActorHaskellActor 2008 New BSD Haskell GParsGPars 20140509 Apache 20 Groovy OOSMOSOOSMOS 20190509 GPL 20 和商業 雙許可證 C C friendly PaniniPanini 20140522 MPL 11 自己的程式語言 PARLEYPARLEY 20072207 GPL 21 Python PeerneticPeernetic 20070629 LGPL 30 Java PostSharpPostSharp 20140924 商業 Freemium NET PulsarPulsar 20160709 New BSD Python PulsarPulsar 20160218 LGPLEclipse Clojure PykkaPykka 20190507 Apache 20 Python Termite SchemeTermite Scheme 20090521 LGPL Scheme Gambit 實現 TheronTheron 20140118 MIT C ThespianThespian 20200310 MIT Python QuasarQuasar 20181102 LGPLEclipse Java LibactorLibactor 2009 GPL 20 C ActorCPPActorCPP 20120310 GPL 20 C S4S4 20120731 Apache 20 Java C Actor Framework CAF C Actor Framework CAF 20200208 Boost Software License 10 and BSD 3Clause C11 CelluloidCelluloid 20181220 MIT Ruby LabVIEW Actor FrameworkLabVIEW Actor Framework 20120301 National Instruments SLANational Instruments SLA LabVIEW LabVIEW Messenger LibraryLabVIEW Messenger Library 20210524 BSD LabVIEW Otavia 20240102 Apache 20 Scala OrbitOrbit 20190528 New BSD Java QP 框架 20190525 GPL 20 和商業 雙許可證 C and C libprocesslibprocess 20130619 Apache 20 C SObjectizerSObjectizer 20211228 New BSD C11 rotorrotor 20220423 MIT License C17 OrleansOrleans 20230711 MIT License CNET SkynetSkynet 20160711 MIT License CLua ReactorsIOReactorsIO 20160614 BSD License JavaScala libagentslibagents 20200308 Free software license C11 ProtoActorProtoActor 20210105 Free software license Go C Python JavaScript Java Kotlin FunctionalJavaFunctionalJava 20180818 BSD 3Clause Java RikerRiker 20190104 MIT License Rust ComedyComedy 20190309 EPL 10 JavaScript VLINGO XOOM Actors 20230215 Mozilla Public License 20 Java Kotlin JVM languages C NET wasmCloud 20210323 Apache 20 WebAssembly Rust TinyGo Zig AssemblyScript rayray 20200827 Apache 20 Python DOTNETACTORS 20210614 MIT NET C Azure Service Bus goactor 20220816 GPL 30 Golang Sento 20221121 Apache 20 Common Lisp Xcraft Goblins 20220830 MIT JavaScript Tarant 20230417 MIT Typescript Javascript 注意這裡沒有列出全部框架和庫。 併發程式語言用例 儘管 Erlang 語言設計者並未如此表述，因其程序間通訊是透過訊息傳遞系統運作，它一般被引證為採用演員模型的典型代表之一。在 Erlang 中，所有程序都有一個自己的 郵箱，它是從其他程序已經發送過來而仍未被消費的訊息的佇列。程序使用 receive 原語來檢索匹配預期模式的訊息。一個訊息處理例程針對每個模式依次測試這些訊息，直到其中有一個匹配。在訊息被消費並從郵箱中移除之時程序恢復執行。訊息可以包含任何 Erlang 結構，包括原始型別（整數，浮點數、字元、原子）、元組、列表和函式。 下面例子展示了 Erlang 對分散式程序的內建支援： 建立一個程序並啟用函式 webstart_server Port MaxConnections ServerProcess spawn web start_server Port MaxConnections 在機器 RemoteNode 上建立一個遠端程序並啟用函式 webstart_server Port MaxConnections RemoteProcess spawn RemoteNode web start_server Port MaxConnections 非同步的 傳送訊息到 ServerProcess。訊息包含一個元組，它具有原子 pause 和數 10。 ServerProcess pause 10 接收發給這個程序的訊息 receive a_message do_something data DataContent handle DataContent hello Text ioformat Got hello message s Text goodbye Text ioformat Got goodbye message s Text end 原型的演員程式語言 Hewitt 在 2006 年發表了一個原型的演員程式語言，用意在於直接表達演員行為的重要方面 Carl Hewitt 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 SS0608 AAAI Press March 2006。訊息採用如下表示法： 標籤元素 1 元素 n 程式語言的語義是透過將每個程式構造確定為有自己行為的演員來定義的。執行是透過在執行期間讓 Eval 訊息在程式構造之間傳遞來建模的。 環境演員 每個 Eval 訊息都有一個充當環境的演員的地址，它能夠進行識別符號與值的繫結（binding）。environment 演員是不可變的（immutable），也就是不變更的。 當一個 environment 演員收到 Request Bind identifier value customer 的時候，建立一個新的環境演員 environment傳送給 customer，使得這個新環境演員收到 Request Lookup identifier customer 的時候，如果 identifier 同於 identifier，則傳送給 customer一個 Returned value，否則傳送給 environment 一個 Request Lookup identifier customer。 當一個 environment 演員收到 Request Bind 模式 String customer 的時候，如果此 模式 形如 Request msg paramerer customer，匹配於 String 形如 Request msg argument customer，則建立一個新的環境演員 environment傳送給 customer，使得這個新環境演員收到 Request Lookup parameter customer 的時候，如果 parameter同於 parameter，則傳送給 customer一個 Returned argument，否則傳送給 customer 一個 Thrown NotFound 模式。 當一個 environment 演員收到 Request Bind identifier parameter value customer 的時候，建立一個新的環境演員 environment傳送給 customer，使得這個新環境演員收到 Request Lookup identifierargument customer 的時候，如果 identifier 同於 identifier，則建立一個新的環境演員 environment，傳送給 customer一個 Returned value 和一個 Returned environment，否則傳送給 environment 一個 Request Lookup identifierargument customer。這個新環境演員 environment在收到 Request Lookup parameter customer 的時候，如果 parameter同於 parameter，則傳送給 customer一個 Returned argument，否則傳送給 environment一個 Request Lookup parameter customer。 上述環境演員建造在 EmptyEnvironment 演員之上，它在接收到 Request Lookup identifier customer 的時候，傳送給 customer 一個 Thrown NotFound identifier。當它收到 Bind 請求的時候，EmptyEnvironment 表現的如同上述環境演員。 表示式 原型語言有如下種類的表示式，這裡的通訊包括 Request 、Returned 和 Thrown ，這裡的訊息包括 Eval 、Bind 和 Lookup ： 識別符號 在收到 Request Eval environment customer 的時候，傳送給 environment 一個 Request Lookup 識別符號 customer。 send 接收者 通訊 在收到 Request Eval environment customer 的時候，建立一個新演員 evalCustomer1，傳送給 接收者 一個 Request Eval environment evalCustomer1，使得 在 evalCustomer1 收到通訊 Returned theRecipient 的時候，建立一個新演員 evalCustomer2，傳送給 通訊 一個 Request Eval environment evalCustomer2，使得 在 evalCustomer2 收到通訊 Returned theCommunication 的時候，傳送給 theRecipient 一個 theCommunication。 接收者訊息 在收到 Request Eval environment customer 的時候，建立一個新演員 evalCustomer1，傳送 接收者 一個 Request Eval environment evalCustomer1，使得 在 evalCustomer1 收到通訊 Returned theRecipient 的時候，建立一個新演員 evalCustomer2，傳送給 訊息 一個 Request Eval environment evalCustomer2，使得 在 evalCustomer2 收到通訊 Returned theMessage 的時候，傳送給 theRecipient 一個 Request theMessage customer。 receiver 模式 i 表示式 i 在收到 Request Eval environment customer 的時候，傳送給 customer 一個新演員 theReceiver，使得 在 theReceiver 收到通訊內容 com 的時候，建立一個新演員 bindingCustomer，併發送給 environment 一個 Request Bind 模式 i com bindingCustomer，而且 如果 bindingCustomer 收到 Returned environment，傳送給 表示式 i 一個 Request Eval environment 不然如果 bindingCustomer 收到 Thrown ，嘗試 模式 i1。 behavior 模式 i 表示式 i 在收到 Request Eval environment customer 的時候，傳送給 customer 一個新演員 theReceiver，使得 在 theReceiver 收到 Request message customer 的時候，建立一個新演員 bindingCustomer，併發送給 environment 一個 Request bind 模式 i message customer，而且 如果 bindingCustomer 收到 Returned environment，傳送給 表示式 i 一個 Request Eval environment customer 不然如果 bindingCustomer 收到 Thrown ，嘗試 模式 i1。 表示式 1 表示式 2 在收到 Request Eval environment customer 的時候，傳送給 表示式 1 一個 Request Eval environment，而且併發的傳送給 表示式 2 一個 Request Eval environment customer。 let 識別符號 表示式 值 in 表示式 體 在收到 message Eval environment customer 的時候，建立一個新演員 evalCustomer，併發送給 表示式 值一個 Request Eval environment evalCustomer。 在 evalCustomer 收到 Returned theValue 的時候，建立一個新演員 bindingCustomer，併發送給 environment 一個 Request bind 識別符號 theValue bindingCustomer。 在 bindingCustomer 收到 Returned environment 的時候，傳送給 expression 體一個 Request Eval environment customer。 serializer 表示式 在收到 Request Eval environment customer 的時候，傳送給 customer 一個 Returned theSerializer，這裡的 theSerializer 是新演員，使得傳送到 theSerializer 的通訊按 FIFO 次序由行為演員處理，行為演員初始是 表示式Eval environment，而且 在 theSerializer 收到通訊內容 com 的時候，建立一個新演員 customer，傳送給行為演員一個 Request com customer，使得 在 customer收到 Returned value 和 Returned theNextBehavior 的時候，Returned value 被髮送給 customer，而 theNextBehavior 被 theSerializer 用作下次通訊的行為演員。 例子程式 下面是簡單的儲存單元格（cell）的例子指令碼（script），它可以包含任何演員地址： Cell receiver Request Create initial customer send customer Returned serializer ReadWrite initial 上述指令碼將建立一個儲存單元格，它採用的行為 ReadWrite 定義如下： ReadWrite contents behavior Request read customer send customer Returned contents Returned ReadWrite contents Request write x customer send customer Returned Returned ReadWrite x 例如，下列表達式建立一個單元格 x，具有初始內容 5，並接著併發的向它寫值 7 和 9。 let x CellCreate 5 in xwrite 7 xwrite 9 xread 上述表示式的值是 5、7 或 9。 影響 演員模型在併發計算的理論發展和實踐軟體開發中都有影響。 理論 演員模型影響了 π 演算和隨後的程序演算的發展。在 Robin Milner 的圖靈獎獲獎演說中，他寫到： 純 lambda 演算現在只使用兩種東西來建造：項和變數。我們在程序演算上也能實現同樣的經濟性嗎？Carl Hewitt 憑藉其演員模型，很久以前就應對了這個挑戰；他宣告了值、在值上的運算元和程序，都應該是同一種東西：即演員。 這個目標打動了我，因為它蘊涵了表示式有著同質性和完整性 但是很久以後我才明白瞭如何依據代數演算來達成這個目標 因此本著 Hewitt 的精神，我們的第一步，就是要求由項指示或由名字訪問的所有東西，包括值、暫存器、運算元、程序、物件，都是同一種東西；它們都應當是程序。 實踐 演員模型在商業實踐中已經有了巨大的影響。例如，Twitter 將演員用於可伸縮性應用。還有，Microsoft 在其開發的非同步代理庫中使用了演員模型 ActorBased Programming with the Asynchronous Agents Library MSDN September 2010。 參見 資料流程程式設計 並行程式設計模型 引用 延伸閱讀 Gul Agha Actors A Model of Concurrent Computation in Distributed Systems MIT Press 1985 Paul Baran On Distributed Communications Networks IEEE Transactions on Communications Systems March 1964 William A Woods Transition network grammars for natural language analysis CACM 1970 Carl Hewitt Procedural Embedding of Knowledge In Planner IJCAI 1971 GM Birtwistle OleJohan Dahl B Myhrhaug and Kristen Nygaard SIMULA Begin Auerbach Publishers Inc 1973 Carl Hewitt et al Actor Induction and Metaevaluation Conference Record of ACM Symposium on Principles of Programming Languages January 1974 Carl Hewitt Behavioral Semantics of Nonrecursive Control Structure Proceedings of Colloque sur la Programmation April 1974 Irene Greif and Carl Hewitt Actor Semantics of PLANNER73 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 Smalltalk72 Instruction Manual Xerox PARC Memo SSL766 May 1976 Edsger Dijkstra A discipline of programming Prentice Hall 1976 Carl Hewitt and Henry Baker Actors and Continuous Functionals Proceeding of IFIP Working Conference on Formal Description of Programming Concepts August 15 1977 Carl Hewitt and Russ Atkinson Synchronization in Actor Systems Proceedings of the 4th ACM SIGACTSIGPLAN 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 CAR Hoare Daniel Lehmann and WillemPaul 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 Daniel Theriault A Primer for the Act1 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 ObjectOriented 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 CAR Hoare Communicating Sequential Processes Prentice Hall 1985 Carl Hewitt The Challenge of Open Systems Byte 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 messagepassing 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 ObjectBased Concurrent Programming 1988 Special Issue of SIGPLAN Notices JeanPierre Briot From objects to actors Study of a limited symbiosis in Smalltalk80 Rapport de Recherche 8858 RXFLITP 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 2327 1990 Bandera Texas Akinori Yonezawa Ed ABCL An ObjectOriented 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 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 NovDec 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 MessageDriven Processor A Multicomputer Processing Node with Efficient Mechanisms IEEE Micro April 1992 S Miriyala G Agha and YSami Visualizing actor programs using predicate transition nets Journal of Visual Programming 1992 Carl Hewitt and Carl Manning Negotiation Architecture for LargeScale Crisis Management AAAI94 Workshop on Models of Conflict Management in Cooperative Problem Solving Seattle WA Aug 4 1994 Carl Hewitt and Carl Manning Synthetic Infrastructures for MultiAgency Systems Proceedings of ICMAS 96 Kyoto Japan December 813 1996 S Frolund Coordinating Distributed Objects An ActorBased 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 JeanPierre Briot Acttalk A framework for objectoriented concurrent programmingdesign and experience 2nd FranceJapan 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 11 W3C Note May 2000 M Astley D Sturman and G Agha Customizable middleware for modular distributed software CACM 44 5 2001 Edward Lee S Neuendorffer and M Wirthlin Actororiented 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 Objectbased 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 Stephen Neuendorffer ActorOriented 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 SS0608 AAAI Press March 2006 Carl Hewitt 2006b What is Commitment Physical Organizational and Social COINAAMAS April 27 2006b Carl Hewitt 2007a What is Commitment Physical Organizational and Social Revised Pablo Noriega et al editors LNAI 4386 SpringerVerlag 2007 Carl Hewitt 2007b Largescale Organizational Computing requires Unstratified Paraconsistency and Reflection COINAAMAS07 D Charousset T C Schmidt R Hiesgen and M Wählisch Native actors a scalable software platform for distributed heterogeneous environments in AGERE 13 Proceedings of the 2013 workshop on Programming based on actors agents and decentralized control 外部連結 Category 併發計算 Category 計算模型 Category 演員模型