2013-03-08 31 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是很有趣的。

相关问题