热门搜索 :
考研考公
您的当前位置:首页正文

软件Agent的发展与展望

来源:伴沃教育


软件Agent的发展与展望

摘要科学合理的软件体系结构是开发一个成功应用系统的必要条件,对于提高系统的开发效率和质量具有非常重要的意义。软件Agent技术的提出为复杂问题的求解找到办法。对软件Agent技术发展历程、应用现状和所面临的挑战做全面的综述。

关键词软件;Agent技术;发展历程;应用现状;挑战

当前,如何针对复杂多变的环境下开发出令人满意的软件是一个棘手的问题。Agent技术的提出为这类问题的求解找到了办法,它是人工智能与计算机科学新的结合,用于解决复杂分布的现实问题,开发处于动态的、不确定环境中的、健壮的、大规模的软件系统。

1软件Agent技术的发展历程

1)20世纪70年代。Agent的研究最初是在上世纪70年代前期由马萨诸塞理工大学进行的一系列关于分布式人工智能的研究中展开的。主要研究Agent之间的通信、交互、协调合作、冲突解决等方面,以形成多个Agent协作的系统。

2)20世纪90年代。到了上世纪90年代随着计算机技术和网络技术的不断发展,整个计算环境发生了深刻变化,对软件系统也提出了如鲁棒性、可伸缩性、可扩展性以及智能化等更高的要求。软件Agent作为分布式人工智能的主要研究热点之一成为解决这些问题的主要途径。此时,软件Agent概念较之软件对象概念具备更多的知识性、主动性和协作性,具备更强的问题求解和自治能力。

3)当今。当前,软件Agent技术已被作为发展分布式智能系统的重要方法,但实际应用问题的复杂性决定了其不能由单个软件Agent来求解。此外,即使单个软件Agent能求解某个特定的问题,也可能会由于问题的复杂而造成处理速度、可靠性、灵活性和模块化等方面的问题,多Agent系统为这类问题提供了更理想的解决办法。许多独立的且大体上自主的Agent间相互作用形成了多Agent系统的框架。这些Agent通过交互解决了超出单个Agent能力或知识的问题。其中的Agent是自主的,它们可以是不同的个人,采用不同的设计方法和计算机语言开发而成的,因而可能是完全异质的。在多Agent系统中,每个Agent或者执行自己的职责,或者与其他Agent通信获取信息,或者互相协作完成整个问题的求解。

2应用现状综述

1)在电子商务中的应用。电子商务是当前信息技术发展的一个热点,作为一项复杂的社会工程,它步及政府、金融、电信、企业等各个领域的政策和基础设施的建立。同时,作为基于Internet的一项技术工程,客观上需要建立一个在分布式网络环境下应用程序相互合作的底层基础结构。设想一个常见的场景,某个旅游者希望通过Internet安排一次从长沙到北京的旅行。在这种情况下,他可以通过个

人旅行软件Agent与网络上的旅店Agent、铁路Agent、出租汽车公司Agent等取得在线联系。当然,可能有许多公司的Agent都在争取提供类似的服务,因此个人旅行软件Agent需要与这些公司的Agent进行交互和谈判以安排好旅行者在旅行中的各项事宜。类似的问题在电子商务活动中非常普遍。

2)在制造业中的应用。全球化竞争和客户对产品需求的快速变化,促使企业调整生产模式和组织结构,以便对快速的市场变化及时做出反应,并保证产品的创新度和质量。国内外许多研究项目正努力建立一个支持企业创新的分布式智能制造系统,多Agent系统是较为理想的选择方案。美国国家信息基础结构协议(NIIIP)中有关企业和研究机构正在进行多Agent系统在制造企业应用的研究工作。主要工作包括集成现有的异构CAD/CAM、PDM、ERP等软件,智能支持生产计划、调度,支持企业资源和信息的动态配置和管理,建立合理的企业供应链系统等。波音公司的Made Smart项目则利用多Agent封装传统软件,建立智能制造系统。

3)在网格中的应用。Agent具有自治性、社会性、主动性和适应性等智能特性,Agent是软件实体的高层抽象。基于Agent的方法将使得网格的管理更加智能和方便,将Agent融入网格是解决网格问题的有效途径。Agent技术和网格技术可在如下方面结合:①网格服务助理。Agent的一个重要的特点在于它的可移动及恢复执行的特性,所以它可以代表网格服务在网络中完成一定的任务,成为网格服务的助手。它可以在远程主机上独自运行,不论网络是否连通,而发送者可以关掉自己的计算机,免除线路持续的连接。在Agent运行完毕之后用户再建立网络连接进行回收。这不但避免了由于网络带宽低、费用高、不可靠带来的一系列问题,而且节省了资源。②信息发布。可以把Agent技术应用到当前的信息发布机制当中。信息的发布借鉴和采用了Webservices的信息发布机制,主要通过各个网格服务在注册服务中注册自身的信息来完成发布。Agent技术是一种主动助推模型,它可以用来发布各类网格服务的信息,甚至可以带着新的软件组件和安装过程流动到达网格服务节点,自动进行升级与软件管理。这一过程完全不再受到人为的干扰与控制,一旦建立起这样任务并运行,它便可以在网络中自由流动,不用人为管理,节省了大量的人力资源。③分布信息查询。在网络中,当信息资源分布于不同的计算机上时,查询信息的一般做法是将各个信息源的信息数据通过网络传递到本地机上,再在本地机上建立应用进行查询。这样网络信息的传递量将是巨大的,而且用户在进行查询时并不能关闭计算机。目前的网格中的信息查询主要是查询注册服务中的信息,而如果采用了Agent技术,可以创建一个这样的Agent任务,把它派遣到远程主机上,这样它就可以自动寻找信息资源进行访问,在用户想要接收信息时,将查询结果返回给用户。④并行处理。当计算需要大量的处理能力而必须分布到多个处理器上时,支持Agent的主机通过网格可以构成巨大的并行计算系统,这样的系统可以执行计算密集性的任务。可以在各个任务结点上建立负责通信交互功能的Agent,它们专门负责寻找特定的任务结点并与之交互。这样就把计算任务本身与任务间的通信两者独立开来,处理设备可以专心地负责本结点的计算工作,不再受到其他工作的干扰。同样,可以把这样功能的Agent作为一类网格服务,提供给其它网格服务使用。

3软件Agent面临的挑战

1)信息发掘技术。当前网上信息存取的主要标准是HTML,这就造成信息发现问题的复杂性。HTML标准可以使浏览器软件解释网上的页面信息。然而,HTML是为人类熟练表达信息所设计的,大量有价值的信息是和格式化的指令嵌在一起的,这就需要从“包”的指令中抽出有价值的信息。但是,现在的问题是在Agent程序掌握页面的指令结构后,一旦页面的指令结构发生变化,Agent又需要重新学习新的指令结构。

2)与传统应用程序的集成问题

在许多传统的计算与过程控制领域,大量的现有软件(尤其是信息处理系统)在系统中起着重要的作用。但是这些软件都是基于一些老的技术,开发设计时没有考虑与其它系统的交互问题。现有的Agent程序如果想从中取得自己所要的信息,就必须对这些系统进行改造。改造传统应用程序是件非常费力的事,目前全球在这方面鲜有突破性的成果出来。很明显,由于存在上百万个传统的应用程序信息源,与这些程序的集成问题是个相当紧迫的问题。

3)软件Agent的安全性问题。Agent系统在Internet上的大量应用,不可避免要与网上的信息源进行交互,由此也带来了Agent的安全性问题。如Agent占用大量资源、未经授权使用资源、用户窃取和篡改Agent中的数据、修改Agent的行为等等。Agent系统真正作到实用性,必须解决网络分布式环境下的安全性问题。目前绝大多数实验系统都未能提供完善有效的安全措施。

4)研究先进的Agent开发方法学。技术进步的速度与人们对技术本身理解的程度息息相关,软件技术的进步也促进了软件工程的发展。从结构化开发方法学到面向对象的开发方法学,提供了一整套软件系统分析和设计的科学理论。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top