Can you summarize the following document?
        
  演員模型推崇的哲學是“一切皆是演員”,這與物件導向程式設計的“一切皆是物件”類似。  演員是一個運算實體,響應接收到的訊息,相互間是併發的:  以上動作不含有順序執行的假設,因此可以並行進行。  傳送者與已傳送通訊的解耦,是演員模型的根本優勢,演員模型啟用了並將控制結構當作訊息傳遞的模式。  訊息接收者是通過地址區分的,有時也被稱作“郵件地址”。因此演員只能和它擁有地址的演員通訊。它可以通過接收到的資訊獲取地址,或者獲取它建立的演員的地址。  演員模型的特徵是,演員內部或相互之間的計算本質上是併發性的,演員可以動態建立,演員地址包含在訊息中,互動只有通過直接的非同步訊息傳遞通訊,不限制訊息到達的順序。

  演員模型受到了程式語言Lisp、Simula、早期版本的Smalltalk、和分組交換的影響。它的發展是“由幾十、幾百、甚至幾千獨立的微處理機構成的高度平行計算機器的前景所推動的,每個處理機都有自己區域性記憶體和通訊處理器,通過高效能網路進行通訊。”從那時起,隨著通過多核和計算機架構的大規模併發的到來,人們已經復興了對演員模型的興趣。  跟從Hewitt、Bishop和Steiger在1973年的出版物,Irene Greif為演員模型開發了一個操作語義作為他的博士論文研究的一部分。兩年以後,Henry Baker和Hewitt出版了針對演員系統的一組公理法則。其他的主要里程碑包括William Clinger的1981年學位論文,介入了基於的指稱語義,和Gul Agha的1985年學位論文,它進一步的發展了基於transition的語義模型,補充了Clinger的模型。這些工作導致了的全面發展。  主要的軟體實現工作是麻省理工學院(MIT)訊息傳遞語義小組的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完成的。分別由加州理工學院(Caltech)的Chuck Seitz和MIT的Bill Dally領導的研究組,致力於構造進一步發展在這個模型中的訊息傳遞的計算機架構。參見。  關於演員模型的研究已經在加州理工學院、京都大學、微電子及計算機技術公司(MCC), MIT人工智慧實驗室、SRI、斯坦福大學、伊利諾伊大學厄巴納-香檳分校、 皮埃爾和瑪麗·居里大學(巴黎第六大學)、比薩大學、東京大學研究室、荷蘭數學和電腦科學研究學會(CWI)和其他一些地方開展了。

  演員模型在理論發展和實踐軟體開發中都有影響。

  演員模型影響了π-演算和後續的程序演算的發展。在Robin Milner的圖靈獎獲獎演講中,他寫到: 現在,純粹的lambda-演算只使用兩種東西來建造:項(term)和變數。我們在程序演算上能實現如此的經濟節約嗎?Carl Hewitt,與他的演員模型一起,很久以前就響應了這個挑戰;他宣佈值、在值上的運算元(operator)和程序都應該是同一種東西:演員。 這個目標打動了我,因為它意味著表示式的同質性和完整性... 但是很久以前我就能領會到如何依據代數演算來達成這個目標... 所以,本著Hewitt的精神,我們的第一步是,要求由項指示的或由名字訪問的所有東西,值、暫存器、運算元、程序、物件,都是同一種東西;它們都應當是程序。

  演員模型在商業實踐中已經有了巨大的影響。例如,Twitter將演員用於可伸縮性應用。還有,Microsoft在開發的非同步代理庫中使用了演員模型。下面章節列出了很多其他的演員庫。

  一些程式語言使用了演員模型或變種。這些語言包括:

  演員模型庫及框架,允許使用者在沒有內建演員模型的語言中進行程式設計。這些框架包括:  注意這裡沒有列出全部框架和庫。

  儘管設計者並未如此表述,Erlang語言一般被引證為採用演員模型的典型代表之一。在Erlang中,程序間通訊是通過訊息傳遞系統運作的:所有程序都有一個自己的“郵箱”,它是從其他程序已經傳送過來而仍未被消費的訊息的佇列。程序使用codice_1原語來檢索匹配預期模式的訊息。一個訊息處理例程針對每個模式依次測試這些訊息,直到其中有一個匹配。在訊息被消費並從郵箱中移除之時程序恢復執行。訊息可以包含任何Erlang結構,包括原始型別(整數,浮點數、字元、原子)、元組、列表和函式。  下面例子展示了Erlang對分散式程序的內建支援:

  Hewitt在2006年發表了一個原型的演員程式語言,用意在於直接表達演員行為的重要方面。訊息採用如下表示法:  程式語言的語義是通過將每個程式構造確定為有自己行為的演員來定義的。執行是通過在執行期間讓Eval訊息在程式構造之間傳遞來建模的。

  每個Eval訊息都有一個充當環境的演員的地址,它能夠進行識別符號與值的繫結(binding)。Environment演員是不可變的(immutable),也就是不變更的。當一個Environment演員收到Request[Bind[identifier value] customer]的時候,建立一個新的環境演員,使得這個新環境演員收到Request[Lookup[identifier’] customer’]的時候,如果identifier同於identifier’,則傳送給customer’一個Returned[value],否則傳送Environment Request[Lookup[identifier’] customer’]。上述環境演員建造在EmptyEnvironment演員之上,它在接收到Request[Lookup[identifier] customer]的時候,傳送給customer一個Thrown[NotFound[identifier]]。當它收到Bind請求的時候,EmptyEnvironment表現的如同上述Environment。

  原型語言有如下種類的表示式:

  下面是簡單的儲存單元格(cell)的例子指令碼(script),它可以包含任何演員地址:  上述指令碼將建立一個儲存單元格,它採用的行為ReadWrite定義如下:  例如,下列表示式建立一個單元格x,具有初始內容5,並接著併發的向它寫值7和9。  上述表示式的值是5、7或9。
在電腦科學中,演員模型(英語:Actor model)是一種並行運算上的模型。「演員」是一種程式上的抽象概念,被視為並行運算的基本單元:當一個演員接收到一則訊息,它可以做出一些決策、建立更多的演員、傳送更多的訊息、決定要如何回答接下來的訊息。演員可以修改它們自己的私有狀態,但是隻能通過訊息間接的相互影響(避免了基於鎖的同步)。