一、eXAT概况
Erlang家族中,有个几乎没人提及的好东西,eXAT。
eXAT的全称是:erlang eXperimental Agent Tool(Erlang实验性Agent工具)。
eXAT是意大利卡塔尼亚(Catania)大学开发的,他们介绍说:
eXAT 是用Erlang写的开发“多头代理系统”(multi-agent systems)的实验性工具。
与其他说明式语言Prolog、Lisp相比,Erlang具有更强的灵活性。Erlang函数编程,像Prolog那样的使用多子句。函数子句内还可用guard。这种编程模式便于轻松实现基于有限状态机的运算,和规则产生式系统,由此进一步实现代理系统。
eXAT利用这些先进特性,构成了多头代理编程平台。程序员使用eXAT的代码模块,开发代理的行为(behavior)机制。具体地说,即通过专家系统引擎、协同代理,定义出有限状态机和智能代理机制。
eXAT主要由以下模块组成:
●Object 模块。其中的一些函数让Erlang程序,可以像Java、C++那样使用面向对象编程方法;
●ERES 模块。. 是个规则处理引擎,以专家系统的方式实现智能代理;(注:ERES就是以前介绍过的Eresye的原身)
●ACL 模块。用于编写、分析、处理FIPA-ACL规格的消息;
●Agent Execution 模块。用于确定代理的行为,实现执行引擎。
以上内容中,涉及许多陌生概念。通过网上搜索,已经找到不少解释,以后会逐一贴出。
eXAT的下载在:
http://www.diit.unict.it/users/csanto/exat/eXAT-1.3.tar.gz