软件Agent技术读后感

软件Agent技术读后感

伴随着网络技术和信息技术的发展,软件Agent技术引起了人们的热切关注,有着广泛的应用前景。Agent这个词就是“代理”的意思。比如,我们想到某地旅游,最简单快捷的办法就是找一个旅游代理。为什么呢?因为旅游社掌握着大量关于旅游的知识和执行的能力。这些事如果要我们自己办,会费时费力。视点再高一点看这个问题,那就是社会化问题。随着人类社会的文明进步,社会分工越来越细。同样,计算机应用系统也面临着这样的问题。众所周知,计算机网络起源于20世纪70年代,经过30年的进步,网络技术以惊人的速度在进步和发展,今天的计算机系统已不是单击系统了,而是跨州连郡。那么这样的系统给我们带来什么负担呢?信息量巨大,系统复杂,异构平台,地理分布,多组织协作等。这样大系统的开发和维护绝对是对人智慧的挑战,这意味着我们不能用原始的技术来解决这个问题,必须寻找新的方法。软件技术也提出一些新的方法,如分布对象和接口技术,典型的如CORBA和COM/DCOM,这些技术解决了分布处理的一些问题,但我们面临的更大困难是网络在动态变化,不论是是从它的规程、拓扑,还是资源,谁也不能说出Internet上有些什么?动态变化带来大量的不确定问题。CORBA和DCOM技术是基于静态的接口知识,很难解决这个问题。这个问题需要一个具有智能的灵活的可以移动的软件实

体来解决,这就是软件Agent,简称SA,这就是SA在今天兴起和发展的原因。

SA的发展来源于两个分支技术,一个是70-80年代的人工智能技术,另一个是后来的移动代码技术。正是由于这两种技术,才使SA得出现成为可能。

对于SA的定义,众说纷纭。但基本上认为SA是一种具有自治性,社会性,反应性和目标驱动的软件实体。自治性是Agent最基本的特性,指行动上的独立性。Agent鸭蛋被初始化后,独立执行,无需用户直接干预。Agent控制着自己的外部行为和内部状态,它可以被授权去做某种决定,完成一些重要的事情。社会性是指Agent不是孤立的,而是存在于一个群体中,可以与其他Agent通讯交流合作。反应性是指Agent清醒地对待所处的环境,感知和作用其所处的环境(环境可能是物理的世界,使用图形接口的客户,其他Agent集合或者所有这些的集合),能对环境变化发生的改变及时做出响应。当Agent遇到例外情况时,可以及时采取措施。目标驱动之Agent具有自己的目标,而且事先有计划。Agent能探测到适合客户目标的有利场景,通知客户这个场景出现的时机。也就是说,Agent不仅能对所处环境做出响应,也能主动地展现面向目标的行为。

除以上基本特性外,还可能拥有以下性质(1)移动能力:Agent有能力在一个网络上随时、随地,自主地从一台主机

迁移到另一台主机。正在运行中的Agent状态可以被存储且传送到新的主机上,在那里Agent程序被恢复且继续从暂停的地方开始执行。(2)学习能力:基于历史活动的执行情况(经验)指导未来的行为,Agent这种对时间上的适应性成为学习性。(3)推理能力:基于当前的知识和一定的规则进行判断推理,从而决定自身的动作。(4)协作能力:和其他Agent协作完成任务。有些任务不是单个Agent能完成的,比如遇到复杂的任务,一些Agent可以形成Agent群共同完成。

由于Agent技术有上述的点,使得他与目前其他的分布计算方法相比有很多优点。Agent技术使得分布计算更简单,灵活,可以将复杂的计算任务分解成子任务,让Agent去完成;由于Agent是将代码送到信息资源处运行,而不是将信息资源远程下载,因此大大节省了网络宽带资源;Agent因为有智能型和移动性,所以对网络的动态适应性很好,能自主的寻找可用资源,充分利用网络资源;Agent还有磋商协作能力。

从Agent的特性就可以看出,Agent与对象既有相同之处,又有很大的不同。但Agent可以看做是一类特殊的对象,既具有心智状态和智能的对象,Agent本身可以通过对象技术进行构造,而且大多数Agent都采用了面向对象的技术,Agent本身具有的特性又弥补了对象技术本身存在的不足,

成为继对象技术后,计算机领域的又一次飞跃。全球范围内的Agent研究浪潮正在兴起,包括计算机、人工智能、系统集成以及其他行业的研究人员正在对该技术进行更深入的研究,并将其引入到各自的研究领域,为更将有效的解决生产实际问题提供了新的工具。

软件Agent技术的这些特性,使他在目前的网络迅速发展的形势下有着广泛的应用。例如电子商务,信息挖掘,智能工作流,以及个人智能助理等方面。

基于Agent技术方法不仅能提高软件的智能性,而且更加适合于解决复杂系统问题,其解决问题的方法,具体可由下述4步来完成:

1.分解:将复杂系统分解成为多个灵活运行并交互作用的Agent子系统,按照其功能和它们之间的关系进行划分,并尽力做到每一个子系统尽可能的在功能和目标上相互独立,保持只处理一种问题,并自成一完整的系统。这将有助于对子系统的设计、开发,并在组合上减少复杂的对应关系。

2.提取:对分解后的每个子系统进行分析。定义要实现的功能,找出合适的解决该问题的模型。定义相应的内外接口。

3.软件实现:针对每一个子问题进行编码,应做到内部算法自我完善性,即周围环境的变化只影响输入输出的结果,而不影响其内部的算法。

4.组合:组合的过程就是根据复杂系统问题解决的要求,将各种子问题的解决方法通过关联关系将他们组织起来。由各种最基本问题的解决部件组合成更高级复杂问题的解决系统,并且每个子系统根据需求可重复的被使用。 可以说Agent技术可以像以前的面向对象技术一样可 预示着软件开发的一次新的变革。

Agent的设计

Agent是一种特殊的软件系统。传统语言中是过程调用模型,面向对象设计是对象模型。这些前有的模型的一个共同基本特性是静态关系。Agent技术为什么要出现,前面已经论述了。因为要解决网络环境中的分布计算,它面对的是动态的不确定的环境,各种关系千变万化,不可预测。因此原有的模型不能被用来描述和设计Agent,必须有新的模型出现。BDI模型是一种被广泛认同的Agent设计模型。

信念描述了Agent对他自身和周围环境的认识,Agent有一个总的任务目标,可以分解成多个小的目标,即有多个不同的愿望。愿望可以有多种实现的途径和选择,具体实施不是静态固定的执行路线(像传统程序那样),而是随着对环境的感知和自己的知识判断,选择当前的动作,这就是意图。

SA系统的设计必须有一个总体框架,这就是SA系统(Software Agent Framework,简称SAF).一般来说,它至

少包括3部分:SA,SA的运行环境以及SA需要使用的资源。运行环境负责Agent的运行和管理,没有了它,Agent就不会存在。

在SAF中,以下问题是需要考虑和解决的:

(1)Agent必须有一个存在的地方,我们称为Agent Host.它管理Agent,为Agent提供资源,帮助Agent和周围环境交互,和其他主机通讯,负责Agent的安全运行。

(2)通讯。通讯是Agent的重要能力,否则Agent将一事无成。Agent的通讯有2个方面。其一是Agent之间的通讯,其二是Agent与Agent平台之间的通讯。通讯方式是以消息为主。KQML和ACL是这方面典型的通讯语言。当然上述通讯都是建立在操作系统的基础网络通讯支持之上的。

通讯分为同步和异步2种模式。同步通讯就是发送消息一直等待直到收到回答消息,异步通讯则是发送消息后,继续做其他工作,当回答消息到来时以中断的方世继续通知。

(3)代理人proxy.Agent并不是直接获取资源,也不是直接和其他Agent通讯,而是通过proxy作为媒介和借口。Proxy和我们生活中的邮递员很相似。当我们想给甲发一封信时,很少有人会直接投递到甲的邮箱,而是投到邮局,有邮局负责安全的送到目的地。而且邮局只需知道信件的目的地,对它的内容一无所知。Proxy和邮局的功能很相似。

(4)命名服务。没有这项服务,将无法找到任何Agent,

尤其是寻找一个在网络上四处移动的Agent.

(5)Agent的移动。Agent应该是可以移动的,这样才可以迁移到异地,获取合适的资源。当Agent要移动时,它首先告诉本地主机,然后主机和目的地的主机取得联系,最终将Agent发送出去。Agent移动过去后,在那里继续运行,并获取那里的资源。Agent移动技术可以有2种方式。其一是基于面向对象的对象序列化技术,这在Java环境中有支持;另一种是基于XML的文本。

(6)Agent的安全问题。Agent的安全问题包括Agent自身安全和Agent运行环境的安全。后者指Agent运行平台和其操作系统免受恶意Agent的攻击。从某种意义上讲,Agent是一种Agent系统侵入体,与病毒一样。区别是一个是善意活动,一个是恶意活动。这方面一般借助于身份认证和加密保护,以及严格的资源管理策略;而前者是指Agent自身要免受各种攻击。这在目前仍然是一个关键的技术难题。

Agent系统

目前有许多SA系统,比如IBM开发的Aglets,一个非常有名和流行的系统。它支持Agent间的远程通讯,但是Agent移走后,主机就不能再给它发消息了、安全方面不理想。还有Voyager,适合开发企业应用。Voyager中的Agent是遵从一些规则的Java对象,可以很容易地进行移动。Ajanta是

由Minnesota大学开发的、是一个比较全面的SA系统。有强大的安全性支持,灵活的编程模式,支持移动,也提供了全局的命名服务,缺点就是没有提供强大的接口和现存的非SA系统交互。下面介绍一下Bond系统。e大学计算机系研制的一个

Bond系统是由美国purdue大学计算机系研制的一个SA系统。它是一种基于Java的分布对象系统和Agent框架。注重灵活性和性能。和其他Agent系统相比,它的最大不同是它注重软件的重用和Agent的快速开发。应用Bond系统,用户使用现成的组件写一个Agent的描述结构就可以创建多个Agent.而且它还实现了智能,协作,Agent重用和移动,它由3部分组成:核心层包括对象模型和面向消息的中间件,服务层包括目录等分布式服务,Agent框架提供了创建异地网络Agent的基本工具。

Bond中的Agent是由Agent描述语言blueprint或XML描述的一种数据结构,而不是一段代码。Agent是由4部分组成的:1.多平面状态机;2.策略库;3.模型;4.目标。Model就是信念,它是Agent对自身和周围环境的认识,这种认识可以以一种数据结构或只是库方式表示,它提供查询匹配和更新的能力;多平面状态机是Agent意图的表现,每个平面执行一个任务,代表Agent的不同的愿望。平面上有一个或

多个状态,包括初态,中间态和终态。Agent在某一时刻总是处于一个特定的状态。当外界环境变化时,Agent根据Model和目前的愿望选择策略,进行状态转移,Agent总是从平面的初态经过一系列的中间态,执行一系列的策略,到达终态,完成任务;策略库是一行一系列的策略,到达终态,完成任务;策略库是一个执行具体行为的函数库。当Agent执行状态转移时,总是要根据Model中的状态选择一个或几个策略函数执行。结果是一方面作用外部世界,另一方面是改变内部,更新Model中的状态和造成新的状态转移;目标是Agent的总目标完成(或完成程度)的度量判断。它决定Agent何时进入终态,以示完成了自己的使命。从这种结构可以看到在Bond系统中是如何其体的实现BDI模型的。它的突出优点是采用了一种面向对象的现实方法,将Agent的几个组成变成了可重用组件。

针对第3部分所提出的关于SA系统的一些技术问题,Bond系统是这样解决的:

(1)在每台主机上都有一个resident,resident的中文意思是居住场所的意思。Agent生活在resident里,resident中有一个AgentFactory负责管理Agent.

(2)通讯是通过Agent通讯语言KQML(Knowledge Query and Manipulation Language)进行的。使用KQML,Agent to Agent,Agent to Agent,Agent to Host,Host to Host,Host

to Agent可以互相发送消息进行通讯。

(3)shadow在Bond中充当proxy的作用。当Agent间进行通讯时,实际上通讯的是它们各自的shadow.

(4)每个resident上都有一个bondDirectory提供目录服务。每创建一个Agent,bondDirectory就要为它生成一个唯一的标示符作为名字,并在目录中注册,它保存所有在本地主机上的Agent。这样,寻找Agent就是就是查找bondDirectory。

(5)在Bond中,Agent的移动不是代码的迁移,而是Agent的描述文件,一个文本文件的迁移,迁移到目的地后,根据此文件重新生成Agent。Agent移动时,首先向本地一的AgentFactory发送一条migrate_from_here的消息,由AgentFactory向远程的AgentFactory发送一条migrate_agent的消息告诉它有Agent要移动过去,在移动完成后,远程的AgentFactory返回一条Agentmigrate消息确认移动已经完成。本地AgentFactory收到消息后从本地目录中注销此Agent。

(6)Agent的安全问题。Bond提出一个安全框架Bond Security Framework.BSF允许用户在性能和安全两方面作出折衷,并提出在给定环境中的特定应用一个最适合的安全模型,它包含一个可扩展的核心层和已定义的安全借口集合。任何Bond对象只需扩展一个动态属性就会成为安全的。

我们再看一下在Bond中Agent是如何运行的。首先在微机上运行启动resident,resident同时提供一个简单的用户界面。对于既定的任务,我们必须先准备好策略函数,新开发或重用已有的,借助于工具描述Agent,既注明其平面状态机,以及状态与策略函数的映射关系。至此,Agent设计好了,可以派遣出去了。可以简单地先指定一个IP目标地址。这种迁移中的Agent实际上是一种文本描述,当它到达目标host时,将由Agent平台中的AgentFactory组件来解释重新生成Agent的组成并启动其运行,即启动其平面状态机。其后的行为就由多平面状态机、策略库、模型和目标决定了。 Agent的体系结构描述了组成Agent的基本成分及其作用、各成分的联系与交互机制、如何通过感知到的内外部状态确定Agent应采取的不同行动的算法,以及Agent的行为对其内部状态和外部状态的影响等。目前,人们提出的Agent的体系结构大致可以分为三类,根据这三类不同的体系结构,Agent也可以分为以下三类:

(1)审慎式Agent

审慎式Agent的最大特点就是将Agent看作是一种意识系统。人们设计的基于Agent系统的目的之一是把它们作为人类个体或社会行为的智能代理,那么Agent就应该(或必须)能模拟或表现出被代理者具有的所谓意识态度,如信念、愿望、意图、目标、承诺、责任等。

(2)反应式Agent

在实际中,审慎式Agent带来了很多尚未解决、甚至根本无法解决的问题,这就导致了反应式Agent的出现。Agent的智能取决于感知和行动,从而提出Agent智能行为的“感知动作”模型。反应式Agent中,Agent不需要知识,不需要表示,也不需要推理,Agent

可以像人类一样逐步进化,Agent的行为只能在现实世界与周围环境的交互作用中表现出来。

(3)混合式Agent

反应式Agent能及时而快速地响应外来信息和环境的变化,但其智能程度较低,也缺乏足够的灵活性。审慎式Agent具有较高的智能,但无法对环境的变化做出快速响应,而且执行效率相对较低。混合式Agent综合了二者的优点,具有较强的灵活性和快速响应性。

Agent的主要应用

1.Agent在Internet中的应用

Agent技术的提出.为解决Internet存在的一些问题提供了有力的保证。Agent是一个具有一定程度的自主性的软件实体,这样一来,Agent技术与Internet的结合是用户能更方便、快捷地存取Internet上的资源,其主要的应用体现在以下 几个方面:

(1)智能交易代理

随着Internet的迅速发展,电子商务方兴未艾,网上购物已成为时尚。但是在网上提供商品的商家往往很多,用户不可能遍访每个网站,智能交易代理的概念由此产生。智能交易代理是智能化的Agent,它能够在网上一次访问多个站点.自己获取并分析商品信息来决定是否为它的主人买卖商品。智能交易代理能够为用户节省大量的时间和精力.这一点对于在激烈的市场竞争当中能够的企业尤为重要。

(2)信息Agent

WWW提供了难以计数的WEB页面.是Internet上最重要,最大的信息来源。也正是因为WEB页面数量庞大.内容繁杂.给用户的直接使用造成了困难。信息Agent能够根据用户的需求先对www上的WEB信息进行抽取.分析,鉴别挖掘,再将结果提供给用户。如何在从WEB中抽取有用的信息是页面挖掘的关键问题。WEB页面包含的是半结构化的信息.它们是以HTML的格式出现的。目前这方面的研究已经取得了很大的成果

A.Ashish采用启发式方法.按照各个部分字体的大小和缩进距离推导出页面上的层次结构。JHammar采用用户输入页面描述文件对层次结构进行抽取。NKushmeriek提出WRAPPER算法,能够抽取页面中的关系型数据。这些都为实现信息Agent奠定了技术上的基础。

2.Agent技术在网络教育中的应用研究

目前的网络教育课程很大程度上是把传统的教育课程搬到了网上,教学方式单一,教学内容缺乏很好的针对性,对于学生的关心程度几乎为零。智能Agent可以作为虚拟的教师、 虚拟的学习伙伴.虚拟的实验室设备,虚拟的图书管理员 等出现在远程教育系统中,增加教学内容的趣味性和人性化色彩,改善教学效果,有望较好地解决这些存在的问题。智能Agent教学系统由于具有教学决策“模块(相当于推理机),学生模型”模块(用于记录学生的认知结构和认知能力)和自然语言接口,因而基于Agent的网络教学体系比起以往的体系来说, 具有个性化教育、人性化教学、资源利用、智能化协作学习等优点。另外,在协作学习的环境中嵌入Agent模块,可以更好地实现各部分功能,如学习者登录注册、任务分配、协作学习的实施评价等。

虽然Agent具有自主性、交互性、反应性、主动性、学习型和移动性等智能特性,但是单靠Agent很难完成动态分布、网络和异构环境下的大型、复杂问题。所以,Agent的研究最终要融入多Agent系统Multi-Agent System系MAS),决大型、复杂的问题。

MAS是由多个Agent组成的Agent社会,是一种分布式自主系统.MAS的现通过Agent的交互来实现,主要研究多个Agent为了联合采取行动或求解问题,如何协调各自的知识、 目标、策略和规划,在表达实际系统时,MAS通过各Agent

间的通讯、合作、互解、协调、调度、管理及控制来表达系统的结构、功能及行为特性.由于在同一个MAS中各Agent可以异构,因此多Agent技术对于复杂系统具有无可比拟的表达力,它为各种实际系统提供了一种统一的模型,从而为各种实际系统的研究提供了一种统一的框架,其应用领域十分广阔,具有潜在的巨大市场.MAS的各Agent成员除了具有单个Agent的特点以外还具有以下特点:

(1)Agent成员之间的活动是自治独立的,其自身的目标行为不受其他Agent的限制,它们通过竞争和磋商等手段协商和解决各Agent成员的目标和行为之间的矛盾和冲突。

(2)Agent成员可以接受另外一个实体(即主体可以是用户、计算机程序、系统或机器等)的委托并为之提供帮助和服务, 能够在该目标的驱动下主动采取包括社交和学习在内的各种必要的行为以感知、适应并对动态环境的变化进行适当的反应,它与其服务主体之间具有较为松散和相对独立的关系。

(3)Agent成员对于所要完成的任务拥有不全面的信息或能力,只能与其它Agent合作、交互且通过自身的不断学习才能完成总体任务。

MAS的相关技术

分布式人工智能(Distributed Artificial Intelligence, DAI)的发展为MAS的研究提供了技术基础.在研究早期提出的这

些经典结构,包括合同网、Actor系统、黑板结构以及一些有名的测试床等,这些都对当前MAS研究都有很大影响。除此之外,以下的一些技术也为MAS的研究和发展做出了巨大的贡献。

(1)CSCW技术

计算机支持的协同工作(Computer Support Cooperative Work,CSCW)是在20世纪80年代中期发展起来的,并由麻省理工学院的Irene Grief和美国数字设备公司的Paul Cashman等人于1984年在描述他们所组织的有关如何利用计算机来支持不同领域和学科的人们共同工作的研究课题时提出的。CSCW最早出现于工艺专家从经济学家、社会心理学家、人类学家、组织理论家、教育家那里学习的时候。CSCW系统的实质需求表现在模拟自然合作的工作环境,对共享工作对象进行的符合习惯和逻辑的多用户操纵,和群体行为的组织这3个方面。

(2)CORBA技术

公共对象请求代理体系(CORBA)是对象管理组织发起和制定的分布式对象计算标准,其目的是在分布异构环境下实现信息和资源的共享,以使不同的开发者可以通过网络进行互操作。互操作的关键是软件总线对象请求代理(ORB),它允许用户动态或静态地向服务提供者发出请求并接受应答,而用户不必介入底层机制.为了支持

Agent,OMG定义了Agent公共设施,并把Agent分为静态 Agent和移动Agent两类,其中移动Agent代表与邮件消息相似的“智能消息”;静态Agent通过移动Agent进行交互,可独立完成一些工作,也可用于封装现有的应用以提供新的功能。

MAS的主要应用

1.MAS技术应用于工业控制

绝大部分工业控制设备都要求用户明确所有任务,并监视所有事件,或者说用户必须直接操作这些活动,但未受到训练的用户需要有效地使用该设备时用户会有一种明显不适应的感觉。MAS可以用来补充“直接操纵”的人机交互模式,在称为“间接管理”的人机交互方式中,用户从事于与MAS的协作完成任务的过程,在这一过程中:

(1)Agent隐藏了任务的复杂性;

(2)Agent了解用户的兴趣、习惯、偏好后,能逐渐替用户有效地执行任务;

(3)当Agent熟悉了处理某类任务的一般方法和过程后,能培训并施教于初学者;

(4)当不同用户合作时,Agent可以充当协调员或通讯员的角色;

(5)Agent能像用户一样监视事件和过程。

2.MAS技术应用于CAD

当前CAD技术正向着协同设计环境发展,是一个开放的、分布的、集成的协同工作环境,这时CAD表现的如下问题需要 MAS技术:

(1)设计需要不同学科的知识,一部分为显式的(如手册、图纸等),另一 部分为隐式的(设计的经验等),隐式知识是非结构化的。

(2)设计技能是在特定的设计环境下表现的,如何在设计系统中反映设计技能是传统CAD面临的另一个难题。

(3)许多研究人员认为,设计在经过初始的一段时间后会由单一良定义的概念模型演化成最终设计,但在大的项目中,情况并非如此。事实上,是许多设计队伍同时进行设计,完成设计产品的, 不同方面的要求,往往会产生不同设计,由人工协商重新变为一致,影响设计效率。

多Agent协作系统建立一个实现网络化、智能化、集成化的人机协调的专家系统成为现实。在网络环境下,基于MAS的专家系统能够使处于异地的决策者通过系统的人机智能协调机制,共同参与决策,实现快速、灵活、有效的决策。 Agent技术提供了一种概念清晰、条理清楚地分布式系统建设思想,提高了软件系统的能力。应用Agent技术一方面为解决一些采用其他方法无法解决的问题提供了思路;另一方面也为更自然、更容易、速度更快、效率更高地解决一些现有问题提供了实现的手段。MAS放松了对集中式、规划和顺序控制的限制,提供了分散控制、应急和并行处理等功能,采

用MAS可以降低软件或硬件的费用,提供更快捷的问题求解。移动 Agent本身目前还没有一个严格的规范,但是移动Agent能够更好地利用有限的带宽,能够和现有的技术相集成,尤其在分布式的体系结构中,能够充分展示它的优越性,在分布式智能信息提取,智能信息过滤,在移动通讯等方面有广泛的应用前景。随着人工智能相关技术的不断发展,Agent技术的不断完善和进步,Agent必定会为当前的计算机应用带来全新的、更优的、更好的发展前景。

软件1202 贺晓荣

[1**********]

软件Agent技术读后感

伴随着网络技术和信息技术的发展,软件Agent技术引起了人们的热切关注,有着广泛的应用前景。Agent这个词就是“代理”的意思。比如,我们想到某地旅游,最简单快捷的办法就是找一个旅游代理。为什么呢?因为旅游社掌握着大量关于旅游的知识和执行的能力。这些事如果要我们自己办,会费时费力。视点再高一点看这个问题,那就是社会化问题。随着人类社会的文明进步,社会分工越来越细。同样,计算机应用系统也面临着这样的问题。众所周知,计算机网络起源于20世纪70年代,经过30年的进步,网络技术以惊人的速度在进步和发展,今天的计算机系统已不是单击系统了,而是跨州连郡。那么这样的系统给我们带来什么负担呢?信息量巨大,系统复杂,异构平台,地理分布,多组织协作等。这样大系统的开发和维护绝对是对人智慧的挑战,这意味着我们不能用原始的技术来解决这个问题,必须寻找新的方法。软件技术也提出一些新的方法,如分布对象和接口技术,典型的如CORBA和COM/DCOM,这些技术解决了分布处理的一些问题,但我们面临的更大困难是网络在动态变化,不论是是从它的规程、拓扑,还是资源,谁也不能说出Internet上有些什么?动态变化带来大量的不确定问题。CORBA和DCOM技术是基于静态的接口知识,很难解决这个问题。这个问题需要一个具有智能的灵活的可以移动的软件实

体来解决,这就是软件Agent,简称SA,这就是SA在今天兴起和发展的原因。

SA的发展来源于两个分支技术,一个是70-80年代的人工智能技术,另一个是后来的移动代码技术。正是由于这两种技术,才使SA得出现成为可能。

对于SA的定义,众说纷纭。但基本上认为SA是一种具有自治性,社会性,反应性和目标驱动的软件实体。自治性是Agent最基本的特性,指行动上的独立性。Agent鸭蛋被初始化后,独立执行,无需用户直接干预。Agent控制着自己的外部行为和内部状态,它可以被授权去做某种决定,完成一些重要的事情。社会性是指Agent不是孤立的,而是存在于一个群体中,可以与其他Agent通讯交流合作。反应性是指Agent清醒地对待所处的环境,感知和作用其所处的环境(环境可能是物理的世界,使用图形接口的客户,其他Agent集合或者所有这些的集合),能对环境变化发生的改变及时做出响应。当Agent遇到例外情况时,可以及时采取措施。目标驱动之Agent具有自己的目标,而且事先有计划。Agent能探测到适合客户目标的有利场景,通知客户这个场景出现的时机。也就是说,Agent不仅能对所处环境做出响应,也能主动地展现面向目标的行为。

除以上基本特性外,还可能拥有以下性质(1)移动能力:Agent有能力在一个网络上随时、随地,自主地从一台主机

迁移到另一台主机。正在运行中的Agent状态可以被存储且传送到新的主机上,在那里Agent程序被恢复且继续从暂停的地方开始执行。(2)学习能力:基于历史活动的执行情况(经验)指导未来的行为,Agent这种对时间上的适应性成为学习性。(3)推理能力:基于当前的知识和一定的规则进行判断推理,从而决定自身的动作。(4)协作能力:和其他Agent协作完成任务。有些任务不是单个Agent能完成的,比如遇到复杂的任务,一些Agent可以形成Agent群共同完成。

由于Agent技术有上述的点,使得他与目前其他的分布计算方法相比有很多优点。Agent技术使得分布计算更简单,灵活,可以将复杂的计算任务分解成子任务,让Agent去完成;由于Agent是将代码送到信息资源处运行,而不是将信息资源远程下载,因此大大节省了网络宽带资源;Agent因为有智能型和移动性,所以对网络的动态适应性很好,能自主的寻找可用资源,充分利用网络资源;Agent还有磋商协作能力。

从Agent的特性就可以看出,Agent与对象既有相同之处,又有很大的不同。但Agent可以看做是一类特殊的对象,既具有心智状态和智能的对象,Agent本身可以通过对象技术进行构造,而且大多数Agent都采用了面向对象的技术,Agent本身具有的特性又弥补了对象技术本身存在的不足,

成为继对象技术后,计算机领域的又一次飞跃。全球范围内的Agent研究浪潮正在兴起,包括计算机、人工智能、系统集成以及其他行业的研究人员正在对该技术进行更深入的研究,并将其引入到各自的研究领域,为更将有效的解决生产实际问题提供了新的工具。

软件Agent技术的这些特性,使他在目前的网络迅速发展的形势下有着广泛的应用。例如电子商务,信息挖掘,智能工作流,以及个人智能助理等方面。

基于Agent技术方法不仅能提高软件的智能性,而且更加适合于解决复杂系统问题,其解决问题的方法,具体可由下述4步来完成:

1.分解:将复杂系统分解成为多个灵活运行并交互作用的Agent子系统,按照其功能和它们之间的关系进行划分,并尽力做到每一个子系统尽可能的在功能和目标上相互独立,保持只处理一种问题,并自成一完整的系统。这将有助于对子系统的设计、开发,并在组合上减少复杂的对应关系。

2.提取:对分解后的每个子系统进行分析。定义要实现的功能,找出合适的解决该问题的模型。定义相应的内外接口。

3.软件实现:针对每一个子问题进行编码,应做到内部算法自我完善性,即周围环境的变化只影响输入输出的结果,而不影响其内部的算法。

4.组合:组合的过程就是根据复杂系统问题解决的要求,将各种子问题的解决方法通过关联关系将他们组织起来。由各种最基本问题的解决部件组合成更高级复杂问题的解决系统,并且每个子系统根据需求可重复的被使用。 可以说Agent技术可以像以前的面向对象技术一样可 预示着软件开发的一次新的变革。

Agent的设计

Agent是一种特殊的软件系统。传统语言中是过程调用模型,面向对象设计是对象模型。这些前有的模型的一个共同基本特性是静态关系。Agent技术为什么要出现,前面已经论述了。因为要解决网络环境中的分布计算,它面对的是动态的不确定的环境,各种关系千变万化,不可预测。因此原有的模型不能被用来描述和设计Agent,必须有新的模型出现。BDI模型是一种被广泛认同的Agent设计模型。

信念描述了Agent对他自身和周围环境的认识,Agent有一个总的任务目标,可以分解成多个小的目标,即有多个不同的愿望。愿望可以有多种实现的途径和选择,具体实施不是静态固定的执行路线(像传统程序那样),而是随着对环境的感知和自己的知识判断,选择当前的动作,这就是意图。

SA系统的设计必须有一个总体框架,这就是SA系统(Software Agent Framework,简称SAF).一般来说,它至

少包括3部分:SA,SA的运行环境以及SA需要使用的资源。运行环境负责Agent的运行和管理,没有了它,Agent就不会存在。

在SAF中,以下问题是需要考虑和解决的:

(1)Agent必须有一个存在的地方,我们称为Agent Host.它管理Agent,为Agent提供资源,帮助Agent和周围环境交互,和其他主机通讯,负责Agent的安全运行。

(2)通讯。通讯是Agent的重要能力,否则Agent将一事无成。Agent的通讯有2个方面。其一是Agent之间的通讯,其二是Agent与Agent平台之间的通讯。通讯方式是以消息为主。KQML和ACL是这方面典型的通讯语言。当然上述通讯都是建立在操作系统的基础网络通讯支持之上的。

通讯分为同步和异步2种模式。同步通讯就是发送消息一直等待直到收到回答消息,异步通讯则是发送消息后,继续做其他工作,当回答消息到来时以中断的方世继续通知。

(3)代理人proxy.Agent并不是直接获取资源,也不是直接和其他Agent通讯,而是通过proxy作为媒介和借口。Proxy和我们生活中的邮递员很相似。当我们想给甲发一封信时,很少有人会直接投递到甲的邮箱,而是投到邮局,有邮局负责安全的送到目的地。而且邮局只需知道信件的目的地,对它的内容一无所知。Proxy和邮局的功能很相似。

(4)命名服务。没有这项服务,将无法找到任何Agent,

尤其是寻找一个在网络上四处移动的Agent.

(5)Agent的移动。Agent应该是可以移动的,这样才可以迁移到异地,获取合适的资源。当Agent要移动时,它首先告诉本地主机,然后主机和目的地的主机取得联系,最终将Agent发送出去。Agent移动过去后,在那里继续运行,并获取那里的资源。Agent移动技术可以有2种方式。其一是基于面向对象的对象序列化技术,这在Java环境中有支持;另一种是基于XML的文本。

(6)Agent的安全问题。Agent的安全问题包括Agent自身安全和Agent运行环境的安全。后者指Agent运行平台和其操作系统免受恶意Agent的攻击。从某种意义上讲,Agent是一种Agent系统侵入体,与病毒一样。区别是一个是善意活动,一个是恶意活动。这方面一般借助于身份认证和加密保护,以及严格的资源管理策略;而前者是指Agent自身要免受各种攻击。这在目前仍然是一个关键的技术难题。

Agent系统

目前有许多SA系统,比如IBM开发的Aglets,一个非常有名和流行的系统。它支持Agent间的远程通讯,但是Agent移走后,主机就不能再给它发消息了、安全方面不理想。还有Voyager,适合开发企业应用。Voyager中的Agent是遵从一些规则的Java对象,可以很容易地进行移动。Ajanta是

由Minnesota大学开发的、是一个比较全面的SA系统。有强大的安全性支持,灵活的编程模式,支持移动,也提供了全局的命名服务,缺点就是没有提供强大的接口和现存的非SA系统交互。下面介绍一下Bond系统。e大学计算机系研制的一个

Bond系统是由美国purdue大学计算机系研制的一个SA系统。它是一种基于Java的分布对象系统和Agent框架。注重灵活性和性能。和其他Agent系统相比,它的最大不同是它注重软件的重用和Agent的快速开发。应用Bond系统,用户使用现成的组件写一个Agent的描述结构就可以创建多个Agent.而且它还实现了智能,协作,Agent重用和移动,它由3部分组成:核心层包括对象模型和面向消息的中间件,服务层包括目录等分布式服务,Agent框架提供了创建异地网络Agent的基本工具。

Bond中的Agent是由Agent描述语言blueprint或XML描述的一种数据结构,而不是一段代码。Agent是由4部分组成的:1.多平面状态机;2.策略库;3.模型;4.目标。Model就是信念,它是Agent对自身和周围环境的认识,这种认识可以以一种数据结构或只是库方式表示,它提供查询匹配和更新的能力;多平面状态机是Agent意图的表现,每个平面执行一个任务,代表Agent的不同的愿望。平面上有一个或

多个状态,包括初态,中间态和终态。Agent在某一时刻总是处于一个特定的状态。当外界环境变化时,Agent根据Model和目前的愿望选择策略,进行状态转移,Agent总是从平面的初态经过一系列的中间态,执行一系列的策略,到达终态,完成任务;策略库是一行一系列的策略,到达终态,完成任务;策略库是一个执行具体行为的函数库。当Agent执行状态转移时,总是要根据Model中的状态选择一个或几个策略函数执行。结果是一方面作用外部世界,另一方面是改变内部,更新Model中的状态和造成新的状态转移;目标是Agent的总目标完成(或完成程度)的度量判断。它决定Agent何时进入终态,以示完成了自己的使命。从这种结构可以看到在Bond系统中是如何其体的实现BDI模型的。它的突出优点是采用了一种面向对象的现实方法,将Agent的几个组成变成了可重用组件。

针对第3部分所提出的关于SA系统的一些技术问题,Bond系统是这样解决的:

(1)在每台主机上都有一个resident,resident的中文意思是居住场所的意思。Agent生活在resident里,resident中有一个AgentFactory负责管理Agent.

(2)通讯是通过Agent通讯语言KQML(Knowledge Query and Manipulation Language)进行的。使用KQML,Agent to Agent,Agent to Agent,Agent to Host,Host to Host,Host

to Agent可以互相发送消息进行通讯。

(3)shadow在Bond中充当proxy的作用。当Agent间进行通讯时,实际上通讯的是它们各自的shadow.

(4)每个resident上都有一个bondDirectory提供目录服务。每创建一个Agent,bondDirectory就要为它生成一个唯一的标示符作为名字,并在目录中注册,它保存所有在本地主机上的Agent。这样,寻找Agent就是就是查找bondDirectory。

(5)在Bond中,Agent的移动不是代码的迁移,而是Agent的描述文件,一个文本文件的迁移,迁移到目的地后,根据此文件重新生成Agent。Agent移动时,首先向本地一的AgentFactory发送一条migrate_from_here的消息,由AgentFactory向远程的AgentFactory发送一条migrate_agent的消息告诉它有Agent要移动过去,在移动完成后,远程的AgentFactory返回一条Agentmigrate消息确认移动已经完成。本地AgentFactory收到消息后从本地目录中注销此Agent。

(6)Agent的安全问题。Bond提出一个安全框架Bond Security Framework.BSF允许用户在性能和安全两方面作出折衷,并提出在给定环境中的特定应用一个最适合的安全模型,它包含一个可扩展的核心层和已定义的安全借口集合。任何Bond对象只需扩展一个动态属性就会成为安全的。

我们再看一下在Bond中Agent是如何运行的。首先在微机上运行启动resident,resident同时提供一个简单的用户界面。对于既定的任务,我们必须先准备好策略函数,新开发或重用已有的,借助于工具描述Agent,既注明其平面状态机,以及状态与策略函数的映射关系。至此,Agent设计好了,可以派遣出去了。可以简单地先指定一个IP目标地址。这种迁移中的Agent实际上是一种文本描述,当它到达目标host时,将由Agent平台中的AgentFactory组件来解释重新生成Agent的组成并启动其运行,即启动其平面状态机。其后的行为就由多平面状态机、策略库、模型和目标决定了。 Agent的体系结构描述了组成Agent的基本成分及其作用、各成分的联系与交互机制、如何通过感知到的内外部状态确定Agent应采取的不同行动的算法,以及Agent的行为对其内部状态和外部状态的影响等。目前,人们提出的Agent的体系结构大致可以分为三类,根据这三类不同的体系结构,Agent也可以分为以下三类:

(1)审慎式Agent

审慎式Agent的最大特点就是将Agent看作是一种意识系统。人们设计的基于Agent系统的目的之一是把它们作为人类个体或社会行为的智能代理,那么Agent就应该(或必须)能模拟或表现出被代理者具有的所谓意识态度,如信念、愿望、意图、目标、承诺、责任等。

(2)反应式Agent

在实际中,审慎式Agent带来了很多尚未解决、甚至根本无法解决的问题,这就导致了反应式Agent的出现。Agent的智能取决于感知和行动,从而提出Agent智能行为的“感知动作”模型。反应式Agent中,Agent不需要知识,不需要表示,也不需要推理,Agent

可以像人类一样逐步进化,Agent的行为只能在现实世界与周围环境的交互作用中表现出来。

(3)混合式Agent

反应式Agent能及时而快速地响应外来信息和环境的变化,但其智能程度较低,也缺乏足够的灵活性。审慎式Agent具有较高的智能,但无法对环境的变化做出快速响应,而且执行效率相对较低。混合式Agent综合了二者的优点,具有较强的灵活性和快速响应性。

Agent的主要应用

1.Agent在Internet中的应用

Agent技术的提出.为解决Internet存在的一些问题提供了有力的保证。Agent是一个具有一定程度的自主性的软件实体,这样一来,Agent技术与Internet的结合是用户能更方便、快捷地存取Internet上的资源,其主要的应用体现在以下 几个方面:

(1)智能交易代理

随着Internet的迅速发展,电子商务方兴未艾,网上购物已成为时尚。但是在网上提供商品的商家往往很多,用户不可能遍访每个网站,智能交易代理的概念由此产生。智能交易代理是智能化的Agent,它能够在网上一次访问多个站点.自己获取并分析商品信息来决定是否为它的主人买卖商品。智能交易代理能够为用户节省大量的时间和精力.这一点对于在激烈的市场竞争当中能够的企业尤为重要。

(2)信息Agent

WWW提供了难以计数的WEB页面.是Internet上最重要,最大的信息来源。也正是因为WEB页面数量庞大.内容繁杂.给用户的直接使用造成了困难。信息Agent能够根据用户的需求先对www上的WEB信息进行抽取.分析,鉴别挖掘,再将结果提供给用户。如何在从WEB中抽取有用的信息是页面挖掘的关键问题。WEB页面包含的是半结构化的信息.它们是以HTML的格式出现的。目前这方面的研究已经取得了很大的成果

A.Ashish采用启发式方法.按照各个部分字体的大小和缩进距离推导出页面上的层次结构。JHammar采用用户输入页面描述文件对层次结构进行抽取。NKushmeriek提出WRAPPER算法,能够抽取页面中的关系型数据。这些都为实现信息Agent奠定了技术上的基础。

2.Agent技术在网络教育中的应用研究

目前的网络教育课程很大程度上是把传统的教育课程搬到了网上,教学方式单一,教学内容缺乏很好的针对性,对于学生的关心程度几乎为零。智能Agent可以作为虚拟的教师、 虚拟的学习伙伴.虚拟的实验室设备,虚拟的图书管理员 等出现在远程教育系统中,增加教学内容的趣味性和人性化色彩,改善教学效果,有望较好地解决这些存在的问题。智能Agent教学系统由于具有教学决策“模块(相当于推理机),学生模型”模块(用于记录学生的认知结构和认知能力)和自然语言接口,因而基于Agent的网络教学体系比起以往的体系来说, 具有个性化教育、人性化教学、资源利用、智能化协作学习等优点。另外,在协作学习的环境中嵌入Agent模块,可以更好地实现各部分功能,如学习者登录注册、任务分配、协作学习的实施评价等。

虽然Agent具有自主性、交互性、反应性、主动性、学习型和移动性等智能特性,但是单靠Agent很难完成动态分布、网络和异构环境下的大型、复杂问题。所以,Agent的研究最终要融入多Agent系统Multi-Agent System系MAS),决大型、复杂的问题。

MAS是由多个Agent组成的Agent社会,是一种分布式自主系统.MAS的现通过Agent的交互来实现,主要研究多个Agent为了联合采取行动或求解问题,如何协调各自的知识、 目标、策略和规划,在表达实际系统时,MAS通过各Agent

间的通讯、合作、互解、协调、调度、管理及控制来表达系统的结构、功能及行为特性.由于在同一个MAS中各Agent可以异构,因此多Agent技术对于复杂系统具有无可比拟的表达力,它为各种实际系统提供了一种统一的模型,从而为各种实际系统的研究提供了一种统一的框架,其应用领域十分广阔,具有潜在的巨大市场.MAS的各Agent成员除了具有单个Agent的特点以外还具有以下特点:

(1)Agent成员之间的活动是自治独立的,其自身的目标行为不受其他Agent的限制,它们通过竞争和磋商等手段协商和解决各Agent成员的目标和行为之间的矛盾和冲突。

(2)Agent成员可以接受另外一个实体(即主体可以是用户、计算机程序、系统或机器等)的委托并为之提供帮助和服务, 能够在该目标的驱动下主动采取包括社交和学习在内的各种必要的行为以感知、适应并对动态环境的变化进行适当的反应,它与其服务主体之间具有较为松散和相对独立的关系。

(3)Agent成员对于所要完成的任务拥有不全面的信息或能力,只能与其它Agent合作、交互且通过自身的不断学习才能完成总体任务。

MAS的相关技术

分布式人工智能(Distributed Artificial Intelligence, DAI)的发展为MAS的研究提供了技术基础.在研究早期提出的这

些经典结构,包括合同网、Actor系统、黑板结构以及一些有名的测试床等,这些都对当前MAS研究都有很大影响。除此之外,以下的一些技术也为MAS的研究和发展做出了巨大的贡献。

(1)CSCW技术

计算机支持的协同工作(Computer Support Cooperative Work,CSCW)是在20世纪80年代中期发展起来的,并由麻省理工学院的Irene Grief和美国数字设备公司的Paul Cashman等人于1984年在描述他们所组织的有关如何利用计算机来支持不同领域和学科的人们共同工作的研究课题时提出的。CSCW最早出现于工艺专家从经济学家、社会心理学家、人类学家、组织理论家、教育家那里学习的时候。CSCW系统的实质需求表现在模拟自然合作的工作环境,对共享工作对象进行的符合习惯和逻辑的多用户操纵,和群体行为的组织这3个方面。

(2)CORBA技术

公共对象请求代理体系(CORBA)是对象管理组织发起和制定的分布式对象计算标准,其目的是在分布异构环境下实现信息和资源的共享,以使不同的开发者可以通过网络进行互操作。互操作的关键是软件总线对象请求代理(ORB),它允许用户动态或静态地向服务提供者发出请求并接受应答,而用户不必介入底层机制.为了支持

Agent,OMG定义了Agent公共设施,并把Agent分为静态 Agent和移动Agent两类,其中移动Agent代表与邮件消息相似的“智能消息”;静态Agent通过移动Agent进行交互,可独立完成一些工作,也可用于封装现有的应用以提供新的功能。

MAS的主要应用

1.MAS技术应用于工业控制

绝大部分工业控制设备都要求用户明确所有任务,并监视所有事件,或者说用户必须直接操作这些活动,但未受到训练的用户需要有效地使用该设备时用户会有一种明显不适应的感觉。MAS可以用来补充“直接操纵”的人机交互模式,在称为“间接管理”的人机交互方式中,用户从事于与MAS的协作完成任务的过程,在这一过程中:

(1)Agent隐藏了任务的复杂性;

(2)Agent了解用户的兴趣、习惯、偏好后,能逐渐替用户有效地执行任务;

(3)当Agent熟悉了处理某类任务的一般方法和过程后,能培训并施教于初学者;

(4)当不同用户合作时,Agent可以充当协调员或通讯员的角色;

(5)Agent能像用户一样监视事件和过程。

2.MAS技术应用于CAD

当前CAD技术正向着协同设计环境发展,是一个开放的、分布的、集成的协同工作环境,这时CAD表现的如下问题需要 MAS技术:

(1)设计需要不同学科的知识,一部分为显式的(如手册、图纸等),另一 部分为隐式的(设计的经验等),隐式知识是非结构化的。

(2)设计技能是在特定的设计环境下表现的,如何在设计系统中反映设计技能是传统CAD面临的另一个难题。

(3)许多研究人员认为,设计在经过初始的一段时间后会由单一良定义的概念模型演化成最终设计,但在大的项目中,情况并非如此。事实上,是许多设计队伍同时进行设计,完成设计产品的, 不同方面的要求,往往会产生不同设计,由人工协商重新变为一致,影响设计效率。

多Agent协作系统建立一个实现网络化、智能化、集成化的人机协调的专家系统成为现实。在网络环境下,基于MAS的专家系统能够使处于异地的决策者通过系统的人机智能协调机制,共同参与决策,实现快速、灵活、有效的决策。 Agent技术提供了一种概念清晰、条理清楚地分布式系统建设思想,提高了软件系统的能力。应用Agent技术一方面为解决一些采用其他方法无法解决的问题提供了思路;另一方面也为更自然、更容易、速度更快、效率更高地解决一些现有问题提供了实现的手段。MAS放松了对集中式、规划和顺序控制的限制,提供了分散控制、应急和并行处理等功能,采

用MAS可以降低软件或硬件的费用,提供更快捷的问题求解。移动 Agent本身目前还没有一个严格的规范,但是移动Agent能够更好地利用有限的带宽,能够和现有的技术相集成,尤其在分布式的体系结构中,能够充分展示它的优越性,在分布式智能信息提取,智能信息过滤,在移动通讯等方面有广泛的应用前景。随着人工智能相关技术的不断发展,Agent技术的不断完善和进步,Agent必定会为当前的计算机应用带来全新的、更优的、更好的发展前景。

软件1202 贺晓荣

[1**********]


相关文章

  • 北信源网络接入管理系统白皮书08
  • 网络接入控制 网络接入控制网络接入控制 网络接入控制系统白皮书 系统白皮书系统白皮书 系统白皮书 1北信源 北信源北信源 北信源网络接入 网络接入网络接入 网络接入管理系统 管理系统管理系统 管理系统概述 概述概述 概述 VRVEDP-NA ...查看


  • 网络化制造技术应用与发展趋势论文
  • 网络化制造技术应用与发展趋势 摘要:本文对我国现有网络化制造技术进行了阐述, 并通过实例分析了网络化制造技术的应情况, 并对其发展趋势进行了分析. 关键词:网络化制造; 网格制造; 工作流管理; 虚拟企业; 网络化数控 所谓网络化制造是指通 ...查看


  • 计算机新技术-电子商务
  • 目 录 摘 要 ................................................................................................................ ...查看


  • 城市增长模拟模型研究综述
  • 2014年1月 第28卷第1期总95期北京联合大学学报 JournalofBeijingUnionUniversityJan.2014 Vol.28No.1SumNo.95 城市增长模拟模型研究综述 1 孟张媛媛, 2,32 斌,朱海勇 ( ...查看


  • 文献检索实习课题
  • 1. 超声技术在无机材料合成与制备中的应用 半固态镁合金的研究 2. 代替钢筋的炭纤维补强材料 导热高分子材料研究 3. 利用纳米技术提高工程塑料弹性 稀土在铸造镁合金中的应用 4. 生物降解性高分子材料的发展和应用 金属基复合材料耐磨性能 ...查看


  • Deep Security虚拟化安全解决方案
  • 虚拟化安全解决方案 趋势科技(中国)有限公司 2014年5月 目录 第1章. 第2章. 第3章. 第4章. 第5章. 概述 .......................................................... ...查看


  • RSA 双因素身份认证
  • RSA 双因素身份认证 1\简单描述:RSA SecurID 是一种采用时间同步技术的双因素认证系统,它能够用强大的用户认证系统替代基本的口令安全机制,帮助消除因口令欺诈而导致的损失. 在进行安全方案设计时,一个层面必须依赖于另一个层面.& ...查看


  • 系统集成方案
  • 系统集成方案 目 录 1 系统组网方案 . ..................................................... 1 1.1 网络结构方案 . ............................. ...查看


  • IT行业客户联系方式(新) [打印本页]
  • IT 行业客户联系方式(新) 作者: fendou 时间: 2010-4-8 03:39 标题: IT 行业客户联系方式(新) 公司名称 联系人 职位 KONICAMINOLTA 王晓燕 市场科长 日立信息系统 郭梅 市场部 日立信息系统 ...查看


热门内容