2013-03-08 67 views

回答

15

我之前並不瞭解JADE,而我是阿卡科技的領導者,所以拿我的答案用一粒鹽。他們的網站(這可能應該是在一個更小的屏幕上查看)看起來像他們的代理做串行消息處理部分的演員,但他們缺乏監督,因此,容錯,他們似乎鼓勵阻攔或投票,而Akka的演員完全由事件驅動,因此消耗更少的資源(線程)。看看程序員指南,似乎這個概念主要是針對GUI開發的用例而開發的,而Akka actors並不是特定的,可以用來對任何類型的計算或交互進行建模。

我在表面搜索中偶然發現的一個非常大的區別是代理和參與者提供的接口的大小:它可能是阿卡的抽象更簡單,因此更強大。

在主機之間移動代理的能力看起來很有趣,我們仍然需要實現(請參閱roadmap)。

如果我在JADE方面沒有遺漏某些東西,那麼Akka就可以更好地支持反應式編程,它具有完全非阻塞參與者,問題模式與composable Futures(即不是來自java.util.concurrent的阻塞參與者)用異步合成的變換方法),STM support等等。

我不知道JADE是如何做到這一點的,但在Akka中,只需更改配置即可彈性擴展和縮小演員,請參見routing

最後但並非最不重要的是在Akka中有cluster的支持,我無法在JADE中找到相應的功能,但是我還沒有深入地挖掘過。

有一件事我只注意到:阿卡不需要登錄嘗試它;-)

+1

我的頭腦被炸成碎片。沒有期待第一手的見解。謝謝! – atok 2013-03-09 20:25:39

+0

我可能是錯的,但是我聽了JADE項目負責人之一關於AMUSE的演講(這是一個基於JADE的社交視頻遊戲更具體的框架)。他告訴我們的是,JADE代理對變化和失敗高度敏感,因此它具有容錯性。 – Pievis 2014-12-08 12:15:21

+0

另一件事,在我的大學裏,他們鼓勵代理人的意義是一個演員更發達的東西。他們告訴我們,演員只是封裝了他的控制線的東西,實際上我仍然不明白阿卡演員,因爲對於我所教導的觀點,他們更像是代理人。 – Pievis 2014-12-08 12:22:07

6

我知道這個問題是一對夫婦歲,但爲了完整起見(爲那些尋找信息關於這個話題,就像我一樣)我想在Ronald的另一個立場(知道比Aka更好的JADE)的立場上增加一個觀點。我不是JADE的貢獻者,但是與其合作(幾年前)並研究過很多關於移動軟件代理的內容。

軟件代理模式已經存在很多年了,這個主題的一個很好的介紹是the paper of Jeffrey M. Bradshaw。它比普通演員有更多的概念。

我不會介紹範例(如果您有興趣,可以參考論文),但比較沒有關於它的一些知識的框架似乎不公平。只需要提到JADE實現了範例概念的許多(不是所有的,自上次檢查以來),不僅是可以與演員比較的部分,而且還具有諸如BDI model,Ontologies等的概念。此外,JADE實施了有幾個部分的FIPA specification

就像我說的,自從我上次檢查JADE實現以來已經有幾年了,所以我不會逐點進行技術比較。就像羅納德所說的,JADE並沒有實現反應式或彈性規模的概念,但必須考慮到這些概念今天廣泛存在,但多年前(JADE開始時)並不太流行。我想澄清的是,JADE具有容錯性,可擴展性和無阻塞的工作方式(可能在網站中並不清楚)。書Developing Multi-Agent Systems with JADE是一個很好的介紹框架。總而言之,如果演員模型足夠滿足您的要求,我會選擇Akka,因爲它比JADE更乾淨(可能更苗條),更現代。如果您需要/需要某些與(移動)軟件代理相關的更高級/特定功能,則JADE是更廣泛使用的框架+平臺(或者至少在我研究時)。

只是我的兩分錢!

2

再一年後......我可以證實故障切換是Jade的關鍵,提及一些機制:備份平臺,虛擬複製代理的概念,無狀態中介容器(處理斷開連接和ip更改),持久的消息傳遞。韋德增加了更多的容錯能力:http://jade.tilab.com/wade/doc/WADE-User-Guide.pdf

Jade並不主要針對GUI開發。

Jade中另一個強大的功能我想提及的是,代理不需要通過網絡進行雙向通信的開放端口,只有平臺和備份需要開放端口。另外STM(有限狀態機)是Jade中的重要組成部分,FIPA會話模型是使用STM實現的。 Jade代理商不會發送和接收消息,而是在工作流程中執行對話。

集羣在Jade中不可用,但Wade提供了可配置的代理池,其中分佈式代理池負責處理特定任務。對於Elastic Sc​​aling和Jade已經做了一些研究,我不知道這個的狀態。也許最好在jvm級別解決彈性伸縮問題。

在Jade和Akka都需要注意的主題是基於分佈式消息的解決方案中的安全性(身份,身份驗證,授權)。

總結:Jade功能更強大,功能更豐富,然後第一眼就能看到。玉需要現代化。

研究Akka和Jade如何互惠,AkkaAgent是很有趣的。

相關問題