日本航空公司清淡的介绍性常见问题
一般信息问题
背景和状态问题
日本航空公司清淡的顶级技术问题
日本航空公司清淡的详细的技术常见问题解答
一般信息问题
JAT是什么清淡的?
日本航空公司清淡的(Java Agent Template,Lite)是一个用Java语言编写的程序包,允许用户快速创建新的软件”代理人"通过互联网进行可靠通信的公司。日本航空公司清淡的也提供了一个基本的基础结构,如图1所示,其中代理向注册代理消息路由器(AMR)使用名称和密码、连接/断开互联网、发送和接收消息、使用FTP传输文件以及一般交换信息在不同的计算机上与其他代理正在运行。
图1:JAT清淡的代理消息路由器
- 什么是代理人?
在不同的代理定义中,JATLite是对于开发基础设施特别有用类型化消息代理,根据代理社区定义。社区必须为了完成任务而交换消息。他们必须使用共享消息协议,如KQML,其中一些消息语义是类型化的,并且独立于应用程序。以及消息协议的语义需要传输协议不仅仅是客户端/服务器,而不是对等协议。安如果可以的话,单个软件模块根本不是代理只使用客户端/服务器协议,不会降低集合任务执行情况[2].
实际上,这个定义意味着代理可以相互合作解决问题,并可以发起在中不等待客户端查询而相互发送消息这样做的顺序。这大致对应于的概念自治在中进行了更模糊的讨论各种论文。许多其他类型的软件也被称为代理,包括搜索信息或为用户进行比较购物。日本航空公司清淡的可以使用构建这样的软件,但不是这样的通用shell应用。
一些代理还描述为聪明的和/或可移动的.请参见是JAT清淡的智能代理?.
- 什么是KQML?
KQML,知识查询和操作语言,是一种用于交换信息和知识。这是DARPA更大努力的结果旨在发展的知识共享努力大规模知识构建的技术与方法可共享和可重用的基础。有关更多详细信息,请参见这个
日本航空公司清淡的详细的技术常见问题解答.
什么是JAT清淡的对吗?
代理系统很难构建从头开始调试。新的代理系统应该内置Java,以便代理可以在异构环境中运行平台并使用非常轻量级的小程序作为临时代理。日本航空公司清淡的提供了一组Java模板和无所不在的Java代理基础设施使构建公共系统变得容易方式,
日本航空公司清淡的提供了模板用于建筑使用通用高级语言和协议的代理。此模板为用户提供了许多预定义的Java促进代理构造的类。此外,这些类中提供了层,以便开发人员能够很容易决定给定系统需要什么类。例如,如果开发人员决定不使用KQML,则KQML层中的类被简单省略。然而,如果该层包括解析和其他特定于KQML的自动包含功能。
JAT的成因清淡的独一无二?
最独特的功能日本航空公司清淡的是代理基础结构包装好的传统代理系统使用代理名称服务器(ANS)用于在代理之间建立连接。代理使用ANS只是查找另一个代理的IP地址然后使用该地址建立TCP套接字连接直接发送给该代理人以进行交换信息。[3]
对于这样的ANS,如果其他代理的IP地址更改时,第一个代理会发现下一次尝试发送消息失败。如果第二个代理“崩溃”无论如何,这是每个其他代理人的责任与之通信以正确保存失败的消息,稍后以某种方式重新发送。确实如此很容易看出任何分布式计算都可以很容易地在这种情况下发生故障。
使用JAT清淡的基础架构,所有代理都可以AMR的单一连接。AMR转发所有代理消息依据名称到最后一个已知IP地址。此外,就像电子邮件系统一样,AMR系统缓冲所有消息并将其保存到接收代理用一个删除消息发送到AMR。
因此,代理可以同时发送connect和断开发送至AMR的消息及其首字母注册消息。分布式计算是始终由AMR保存.
- 什么是代理消息路由器(AMR)?
JAT公司清淡的代理消息路由器(AMR)是一种专门的从注册的代理并将消息路由到正确的接收方。这个收到的消息将排入文件系统队列。使用AMR有几个优点通过更传统的Agent NameServer(ANS):
- 小程序代理可以与中的其他代理通信不顾流行web浏览器中的小程序安全功能例如Netscape Navigator或Internet资源管理器
- 即使在接收方代理无法接收消息
- 代理不需要跟踪(可能会更改)其他代理的地址或担心临时消息传递问题。
AMR的技术细节如下可用。
是JAT吗清淡的智能代理?
“智能”wrt软件似乎通常意味着软件比大多数程序。建设没有“银弹”这样的功能。
日本航空公司清淡的独自一人不会赋予代理人特定的能力超越这些需要沟通和互动。特别地,日本航空公司清淡的本身并不构成寻求信息或自动化人工任务,如Artificial情报界。开发者可以自由使用任何理论和技术都最适合有针对性的应用或研究。一个很好的例子是
JESS公司.Jess专家系统已经包装好带JAT清淡的生产智能代理基于Java和规则。日本航空公司清淡的做不方便使用任何特定推理工具,但它不能阻止不使用它们。
然而,它确实提供了强大的构建这种智能代理的基础。这个日本航空公司清淡的打包的基础架构允许代理便携式的(例如,在笔记本电脑上),从一台将机器连接到另一台,并连接和断开具有自动排队和传入缓冲功能的Internet信息。发现这些功能对于强健软件代理偶尔出现的项目中的代理行为失败或迁移,由代理消息路由器提供(AMR)基础设施。
AMR也可用于可移动的代理人.而JAT清淡的基础设施提供没有用于自主代理迁移的框架,AMR非常适合在经常更改的代理之间传递消息位置。那就是,可移动的特工期待“对接”框架在允许代理决定访问它的每台计算机上并在没有用户。日本航空公司清淡的不采用任何此类框架,并且不关心用户是否移动代理但允许流动探员收集随意发送未完成的消息。
这个独特的设施也克服Netscape安全性小程序的限制允许他们成熟,但高度迁移的轻量级代理。Applet代理可以从任何浏览器运行:不需要任何要安装的专用“对接”软件。
标准是什么日本航空公司清淡的使用?
日本航空公司清淡的特别方便使用构造发送和接收消息的代理新兴的标准通信语言KQML公司(请参见网址:http://www.cs.umbc.edu/kqml/适用于当前的KQML标准)。通信已建立开放式Internet标准、TCP/IP、SMTP和FTP。然而,开发人员可以使用其他代理轻松构建代理系统语言,例如FIPA ACL公司使用JAT公司清淡的 层.
日本航空公司清淡的 不强加任何特殊要求自治主体理论-因此JAT中的“lite”清淡的.那里不承诺任何代理内部架构标准。
日本航空公司清淡的需要使用JDK 1.1版从Sun和执行JAT的浏览器清淡的小程序应使用JDK1.1插件。有关更多详细信息,请参见什么是日本航空公司清淡的假设?
潜在的应用是什么?
截至1997年8月,JAT清淡的正在使用或评估用于为各种应用程序(包括商业应用程序)创建代理接口CAD软件(AutoCad ARX14)、决策和依赖性跟踪程序(Redux),原型财务分析代理(山一信息系统Inc.)、快速原型服务(Cybercut、RPL)和信息搜索和检索代理(Tektronix)。
日本航空公司清淡的经过广泛测试在CDR内调查工程软件代理用于设计分析和优化,以及协调设计和开发过程,尤其是与东芝的合作合作。
为什么使用代理消息?
图2:JAT清淡的包装方法遗留软件
JAT的初步应用清淡的是通过提供现有程序来“包装”现有程序有一个前端,允许他们自动与其他程序通信,发送和接收消息、文件等。上面的图2说明了概念。
即使没有新的自主代理无论何时构建,代理技术都为编写提供了“粘合剂”传统软件。日本航空公司清淡的为提供标准软件代理通信。KQML和其他代理协议提供消息交换标准。各种工艺分析然后,系统可以为系统代理之间的特定消息。
关键思想是在软件模块之间进行通信使用最小公分母:ASCII字符串,它不是必须符合任何面向对象的语言。在事实上,CORBA等对象平台的使用并不是虽然可行,但也是必要的。所有软件模块都需要是传递和接收符合商定的协议,如KQML和一些任意的“内部”语言。一种常见的内部语言是KIF,但ProcessLink,例如,只需使用关键字和值的语法对。
它特别容易集成日本航空公司清淡的使用其他Java软件,但JAT清淡的代理人还与C、C++和Lisp代码集成。更多信息详细信息,请参见JAT是什么清淡的假设?
背景和状态问题
为什么是JAT清淡的建造?
JAT的根源清淡的日期至1993年,当时CDR开始为代理使用KQML语言通信。在开发了许多C、C++和Lisp之后KAPI的代理,很明显,标准方法是提供基本沟通和互动所需所有代理所需的功能。1996年初,CDR硕士生H.Robert Frost[1]在Mark Cutkosky教授和高级博士生Gregory Olsen,他开发了一些早期的特工。Java代理模板已提供给希望从CDR网站下载。哲学和指导Java Agent模板背后的思想在一篇论文中进行了概述Frost and Cutkosky于1996年9月发表[1]。三个越来越复杂的Java Agent版本模板由Frost先生在离开之前开发来自CDR。最终版本包括以下条款自动加载类库,混合使用程序性和声明性信息。
1996年,弗罗斯特和奥尔森离开CDR将加入名为Cross Route Systems的软件初创公司位于加利福尼亚州Redwood Shores的Inc.(正在开发的技术by Cross Route与Java代理无关。)使用弗罗斯特先生的离开是由卡特科斯基教授决定的他的学生和CDR研究助理Charles博士Petrie,Java代理模板也变得复杂的后续支持。此外,它还将代理的具体研究理论在通用代理基础结构中是必要的。最后,此原始系统不包括代理消息路由器,我们发现它是运行小程序所必需的代理人。
我们决定做些不同的事情。1996年,Heechol Jeon先生已经修改了1996年3月的JAT,包括AMR,以便我们可以运行小程序。去掉那些将构建器提交给特定的代理体系结构困难,所以我们基本上从我们的经验开始从第一次JAT中获益。
结果是JAT清淡的,一个新的软件包更小、更快、更健壮,并且只专注于提供连接和通信基础设施所有特工都需要。JAT的主要开发者清淡的有在CDR博士生Heechol Jeon先生的协助下来自其他一些CDR学生,并在Cutkosky教授和Petrie博士。
JAT的当前状态是什么清淡的?
的当前版本日本航空公司清淡的,版本0.4贝塔,已提供给下载它的研究人员来自此网站。要获取软件,用户填写一提供姓名、地址、电子邮件地址和公司的表格附属。您应该很熟悉JDK1.1.然后按照日本航空公司清淡的安装指南。
我们的意图是继续提供日本航空公司清淡的对希望进行评估的研究人员免费。迄今为止,来自世界各地的1000多名研究人员已经下载了JAT和JAT的各种版本清淡的.我们还鼓励用户发送技术问题和对的评论
<jat-develop@cdr.stanford.edu>。我们不正式支持软件,但我们尽力回答问题,修复错误并进行改进。有关更多信息,请参阅日本航空公司清淡的支持页面。
如何为JAT颁发许可证清淡的?
我们的长期目标是继续完善日本航空公司清淡的并将其用作基于代理的基础工程和商业应用。日本航空公司清淡的源代码在GNU公共许可证.你可以直接从下载源代码下载区域。
在这一点上,我们CDR没有JAT商业化的具体计划清淡的技术。我们很乐意与任何愿意合作的人合作所以。
日本航空公司清淡的技术问题
JAT是什么清淡的能力?
- 模块化结构由各层组成其中可以与其他技术交换而不影响包的其余部分的操作。
- 支持基于TCP/IP的低级别通信由常用操作系统(例如Unix、Windows、MAC OS等)执行。可以轻松添加其他协议(例如电子邮件)。
- 基于KQML语言和协议的代理消息,具有消息外层的内置解析功能。内部“内容”消息可以是任何语言(例如SQL、Express、KIF)。
- 多线程操作,具有多个服务器套接字和消息接收器套接字。套接字连接是持久的,并且具有超时规定。
- 为代理注册提供代理消息路由器(AMR),连接、名称和密码服务。
- AMR为手机提供消息存储和排队和散发性毒剂。
- 支持Java和C++中的独立代理,以及小程序代理通过流行的WWW浏览器(例如,Netscape、Internet Explorer)。
- 内置FTP文件传输功能。
JAT是什么清淡的假设?
日本航空公司清淡的可以在任何平台上运行支持Java开发工具包JDK1.1型来自Sun MicrosystemsInc.,包括Windows95、WindowsNT、Solaris、Mac OS8。修改其他Java环境可能需要。可以运行小程序代理使用WWW浏览器,如Netscape、Internet Explorer或Sun小程序查看器。日本航空公司清淡的代理还使用标准TCP/IP用于进程间通信的通信和套接字。全部假设通信通过代理消息路由器进行(AMR),这是在连接的主机上运行的独立Java程序连接到Internet。
为了成为JAT清淡的-符合,它是只需要代理发送符合通用KQML语法和make连接AMR使用日本航空公司清淡的
AMR连接协议. 我们有假如特殊的补丁方便使用KAPI公司中的代理特别是。
一般操作假设为:
- 基于TCP/IP的连接
- 通过消息传递进行代理通信
- 每个连接的代理有一个活动连接
- 一张单人床地址(名称、主机、端口、消息方法、描述)应为分配给每个代理。如果代理不能拥有ServerSocket,与Applets一样,主机可以是设置为“null”,端口可以设置为-1。
- 消息结束字符应设置/重置为默认值“\004”,最大空闲时间应为零。
什么是日本航空公司清淡的层?
JAT公司清淡的体系结构按层次结构组织越来越专业化的层,以便开发人员可以选择合适的从中开始构建系统的层。因此,开发人员希望利用TCP/IP通信但不想使用KQML可以仅使用抽象层和基础层,如下所述。
图2:JAT(日航)清淡的构建为一系列日益专业化的层
- 这个抽象层提供了JAT所需的抽象类清淡的实施。尽管JAT清淡的假设所有使用TCP/IP建立连接,可以实现通过扩展抽象图层。
- 这个基础层提供基于基本通信的在TCP/IP和抽象层上。对没有限制消息语言或协议。基本层可以是例如,扩展以允许来自套接字和输出到文件。基层也可以扩展到为代理提供多个消息端口等。
- 这个KQML层提供存储和分析KQML消息。KQML标准的扩展,由设计研究中心(参见http://cdr.stanford.edu/ProcessLink/kqml-proposed.html),是实现以提供用于注册的标准协议,连接、断开等。
- 这个路由器层提供姓名注册和代理的消息路由和排队。所有代理发送和通过路由器接收消息,路由器将其转发给指定的目的地。当代理故意断开连接时,或意外崩溃,路由器存储传入消息直到代理重新连接。路由器尤其对于只能启动套接字的applet代理来说很重要由于WWW和Java安全限制。
- 在路由器层的顶部,协议层将支持多种标准互联网服务,例如SMTP、FTP、POP3、HTTP等,用于独立应用程序和小程序。当前测试版支持SMTP和FTP,但其他协议可以很容易地从协议层扩展。如果你们的代理人希望不分先后、长时间地转移数据或您的代理需要通过电子邮件发送KQML消息,协议层将是一个很好的起点。
这些层是JAT公司清淡的应用程序编程接口。
未来的扩展计划是什么?
未来我们希望添加一封电子邮件通信层补充TCP/IP和FTP能力。这个电子邮件层使用SMTP(SMTP)将允许日本航空公司清淡的代理进行通信通过电子方式与其他代理(软件或人工)邮件。此功能将有助于与公司“防火墙”中的程序
我们和其他人继续积极致力于扩展,其中之一是允许AMR层次结构的方法使用方式与互联网域名基本相同工作。这将允许JAT清淡的基于系统规模在里面同样的方式。要获取最新消息,请务必加入jatlite-users列表.
尽管AMR目前经过了良好的测试体系结构肯定会出现单点故障。在实践中,我们注意到a)单个代理的崩溃可能会干扰使用ANS的分布式计算,以及b)大多数互联网系统,例如电子邮件服务器,工作原理相同。为了使AMR更多坚固耐用的,我们确实计划添加自检和AMR的自启动守护程序,以使AMR可能崩溃,也许是由于机器崩溃,问题较少。无论如何消息被保存到文件中。
在我们自己的工作中,我们将继续使用KQML语言能力,但我们认识到许多其他人将利用日本航空公司清淡的的模块化结构,以交换KQML层和使用自己的语言(如SQL)进行数据库事务,或FIPA ACL公司.
为什么不使用CORBA和Java RMI?
CORBA和RMI当然兼容日本航空公司清淡的和可以多种方式一起使用。如果您的代理的语言没有Java接口,例如,您可以希望将CORBA用作翻译器。
作为JAT的完全替代品清淡的,有两个缺点。一是要求所有软件模块发送CORBA对象。另一个是必须重写AMR公司。
是有一些示例应用程序吗?
在线演示
开发了几个示例应用程序JAT的CDR清淡的。最简单的是用户可以使用的小应用程序下载并连接到保持运行的路由器java.stanford.edu。参考JAT清淡的 在线演示第页。
示例
截至1998年7月,JAT清淡的正在使用或评估用于为各种应用程序(包括商业应用程序)创建代理接口CAD软件(AutoCad ARX14),设计决策和依赖性跟踪,约束管理,基于模型企业控制,代理人发展教育在Java中包含CLIPS的代理版本(JESS公司),快速原型服务(Cybercut,RPL),典型的财务分析代理,信息搜索和检索代理,以及船舶设计和建造等。
有关特定的技术提示和代码示例,请参阅这个日本航空公司清淡的示例和提示.
工具书类
[1]H.R.Frost和M.R.Cutkosky,“设计通过代理交互的可制造性”,论文编号96-DETC/DFM-1302,1996年ASME工程计算机会议记录,欧文,加利福尼亚州,1996年8月18日至22日,第1-8页。
[2]C.Petrie,”基于代理的工程、Web和智能,"IEEE专家1996年12月。
[3]H.Jeon、C.Petrie、M.R.Cutkosky”JATLite:带有消息路由的Java代理基础结构,",IEEE互联网计算2000年3月/4月。
©1996199719981999CDR,斯坦福大学。保留所有权利。
Heechol牛仔裤
上次修改时间:2000年2月15日星期二10:47:45 PST