已阅读5页,还剩71页未读, 继续免费阅读
(计算机软件与理论专业论文)基于多agent的internet上构件获取技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工程大学硕士学位论文 摘要 随着大型软件的发展和广泛应用,软件重用技术被视为解决软件重复开 发,减少软件设计费用,提高软件开发效率的关键技术。构件挖掘技术能为 软件重用提供大量封装好的素材。虽然网络上分散着大量的构件,但是目前 构件挖掘技术仍然局限在本地数据库或者局域网范围内,而现存的网络搜索 引擎基本上还只能获取文本信息,不能有效地进行构件搜索和挖掘,所以本 文主要讨论基于网络的构件搜索、构件信息获取问题。 本文首先分析了目前构件挖掘技术存在的问题,现有解决方法的局限性, 介绍了多a g e n t 系统的特点和标准,并引入了一种多a g e n t 运行平台 j a d e ,在该平台的基础上进行构件获取系统的开发。然后详细讨论了j a v a b e a n 构件在网络上的发布方式,根据其发布特点,给出了j a v ab e a n 构件的 获取算法,提出了一种两层架构的构件获取技术,设计实现了构件获取系统 的框架结构和各主要模块的详细分析类图。 此系统是基于j a d e 运行平台的多a g e n t 系统,在充分研究了a g e n t 开 发平台之t d e 的基础上,利用j a d e 的特性,架构了该系统框架。该 构件获取系统主要由三个a g e n t 模块组成,用户接口a g e n t 、搜索引擎再检 索a g e n t 和构件获取a g e n t 。通过这三个a g e n t 的协同合作提供给用户构件 详细描述信息。 用户接口a g e n t 接收用户搜索关键词,并对该关键词进行u r l 编码,然 后通过j a d e 平台的d f 服务,在j a d e 平台上进行注册,将消息发送给搜索引 擎再检索a g e n t 。同时负责接收构件获取a g e n t 发回的消息,将最终得到的 构件信息x m l 文件显示给用户。 两层架构的构件的获取技术是结合了搜索引擎再检索a g e n t 和构件获取 a g e n t 进行快速的两层搜索,首先利用搜索引擎遍历整个网络,缩小搜索范 围,提高搜索浓度,然后利用专业搜索s p i d e r 根据j a v ab e a n 构件的发布特 点在搜索引擎结果的基础上进行有限范围的精确搜索。基本上涵盖了网络上 的所有构件,实现了快速、全面、精确的搜索。根据构件网上信息的特点, 哈尔滨工程大学硕士学位论文 利用基于属性的信息抽取方法,提取构件信息。最后对全文进行了总结,分 析了系统的不足,并对今后的工作进行了展望。 关键词:构件获取;信息提取;多a g e n t 系统;j a d e a b s t r a c t w 砸t h ed e v e l o p m e n to ft h el a r g es o f t - w a r es y s t e m , s o t t w a r e 栅辩i s c o n s i d e r e da st h ek e yt od e a lw i t ht h er e p e t i t i v ed e s i g no fs o f t w a r e t h ew a s t eo f m o l l i f ya n dt h ei m p r o v e m e n to ft h ee f f i e i e n c yo fs o f l w a 他e n g i n e e r i n g t e c h n i q u e o fc o m p o n e n tm i n i n gc a np r o v i d eal o to fp a c k e ds o l l r c l :t h e r ef i l el o t so f 伽阳聆c o m p o n e n t s0 1 :1t h ei n t e m e t , b u tu n t i ln o w , c o m p o n e n tm i n i n gi ss t i l l l i m i t e d0 1 1l o c a ld a t a b a s eo rn e t w o r k , m e a n w h i l e ,s e a r c he n g i n e so nt h ei n t e m e t c 趾n o ts e a r c ha n dr e l r i e v ec o m p o n e n t se l t i e i e n t l yb e c a u s et h e ya l eb a s e do nt h e t e x ti n f o r m a t i o nr e t l i e v a l s ot h i sp a p e ri sc o n c e n t r a t e d0 1 1c o m p o n e n ts e a r c ha n d i n f o r m a t i o nr e l r i e v a lo nt h ei n t e m e t f i r s t l y , t h i sp a p e ri i l t l o d l l c e $ t h ep r o b l e m se x i s t e di nc o m p o n e n tm 血舀t h e l i m i t a t i o no f t l a ec u r r e n ts o l u t i o n sa n dt h ec h a r a c t e r i s t i co f t h em u l t i - a g e n ts y s t e m , a l s oi n t r o d u c e so n eo fa g e n td e v e l o p m e n tf r a m e w o r k j a d e ,u n d e rt h i s f r a m e w o r k ac o m p o n e n tm i n i n gs y s t e mi sd e v e l o p e d t h e np u b l i s ho f j a v ab e a n c o m p o n e n t sa n dt h ep a r a m e t e r se m b e d d e d 缸t h ea p p l e tp r o g r a m s0 1 1i n t e m e ta r e d i s c u s s e d w ep r o p o s e dan e wa r i t h m e t i co ft h ej a v ab e a nc o m p o n e n tm i n i n g s y s t e mb ya n a l y z i i l gt h ep a r a m e t e r si na p p l e tp r o g r a m , a n dt h e nt h ef l a n l ca n dt h e m a i nm o d u l e s d a s sg r a p h si sd e s i g n e da n di m p l e m e n t e d t h i sm u l t i - a g e n ts y s t e mw h i c hb a s e d j a d ea t t e rm a k i n gd e e pr e s e a r e l a o no n eo f a g e n td e v e l o p m e n tf r a m e w o r k s ,s l r u e t u r e st h ef r a m e w o r ko f t h es y s t e m i ti n c l u d e st h r e ep a r t s :u s e fa g e n t , r e s e a r c ho fs e a r c he n g i n ea g e n ta n dc o m p o n e j n t r e l r i e v a la g e n t c o m p o n e n t sa n dd e s c r i p t i o ni n f o r m a t i o nc 衄b ep r o v i d e dt ou s e r s b yt h ec o o p e r a t i o no f t h e s et h r e ep a r t s u s e ra g e n tg e t sl i s t sk e y w o r d s , c o d e st h e mt ot r a n s f o r mt oa s c i i u s i n g t h es 岛v i c eo ft h ej a d e , i tr e g i s t e r s0 1 1t h ep l a t f o r m , a n dt h e nr e p l i e st ot h e r e s e a r c ho fs e a r c he n i g i n ea g e n ti ta l s o 托= c e i v e st h em e s s a g eo ft h ec o m p o n e n t r e t r i e v a la g e n tt op r o v i d et h ef i n a lr e s u l tf i l e st ou s e 俗 t h er e s e a r c ho f s e a r c he n g i n ea g e n tc o m b i n e ss e a r c he n t w i n e sa n dc o m p o n e n t 哈尔滨工程大学硕士学位论文 r e t r i e v a la g e n tt oh n p l e m e n tt h eq u i c ka n dt o wl e v e ls e a r c h 1 1 尬r e s e a r c ho f s e a r c hl m g i l l ca g e n tm a k e su s eo fs e a r c he ) n g i n o $ t oi r a v e r s et h ew h o l ei n t e r n e t a n dm i n i m i z et h es e a r c hf i e l d s t h e nt h ec o m p o n e n tr e t r i e v a la g e n tg e t st h e r e s u l t sf r o ms e a r c he n g i n e sa u t o m a t i c a l l yb ya p ia n di m p l e m e n t st h el i m i t e d r a n g es e a r c hb a s e do ht h er e s u l t s a tt h ee n do ft h ep a p e r , t h ec o n c l u s i o n , t h e d e f i c i e n c yo f t h es y s t e ma n d $ o l n ef u t u r ew o r kd i r e c t i o na r cp r o p o s e d k e y w o r 山:c o m p o n e n tr e t r i e v a l ;i n f o r m a t i o nr e t r i e v a l ;m u i t i - a g e n ts y s t e m ; j a d e 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用已在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 作者( 签字) :缝壹量 日期:,0 0 1 年2 月j 日 哈尔滨工程大学硕士学位论文 第1 章绪论 1 1 课题研究主要问题及意义 自从d o u gm c i l r o y a n d 在1 9 6 8 年的n a t o 软件工程会议上,第一次提出共享 构件库以来,软件重用技术被认为是解决软件工业瓶颈问题的一个非常有吸 引力的方法“,。而基于构件的开发( c o m p o n e n tb a s e dd e v e l o p m e n t ,c b d ) 是 软件重用的主流技术。所谓构件是指一组封装的,规范的,可重用的软件模 块,是组织系统的基本单位m 。用户可以直接组装这些现存构件来完成需要的 功能,在使用符合一定规范的构件时,不用考虑构件内部的编码细节,而只 考虑接口问题,从而缩短软件开发周期,因此可重用构件技术是目前软件技 术发展的一个主流方向。 随着网络的发展,尤其是i n t e r n e t 的飞速发展,给人们带来了前所未有 的信息共享与交流。随着j a v a 和面向对象技术的发展,在网络上聚集了越来 越多的构件,形成了一个巨大的可重用“构件库”m 。目前,构件主要以三种 形式存在网络上,第一种是开发人员在各自的w e b 上自由发布的构件,第二 种是分布在网络上的专业构件库,如:a l p h a w o r k s ,f l a s h l i n e 等,还有一 类是运行在i n t e r n e t 上各种应用服务器中的在线构件。然而对于这个庞大的 “构件库”,由于查找困难不能被有效地重复利用,导致了软件资源的浪费 和重复开发。如果我们能够充分应用分布在网络上的构件,将他们灵活地应 用到各个软件系统中,将会大大提高基于构件的软件技术的发展效率。因此, 如何在这样大的一个资源库中有效的找到所需要的构件,并按照合理的方式 进行组织,逐渐成为软构件技术的研究热点之一。 基于网络的构件获取技术就是在这种情况下提出来的,它是构件挖掘研 究领域中的一个新兴的研究方向,主要解决的问题就是根据用户或者软件系 统的要求,在i n t e r n e t 这个巨大的可重用“构件库”中搜索到满足用户要求 的构件。但是目前的构件获取技术往往都局限在本地的专业构件库中或者局 哈尔滨工程大学硕士学位论文 域网内部构件库中。而且这些构件获取技术还只能应用于特有的构件框架中, 随着i n t e r n e t 的发展,局限在本地的构件获取技术己经远远不能满足软件工 业发展的需要。而对于传统的搜索引擎,例如:g o o g l e ,y a h o o 都集中在分 析网页上的文本信息,并且为了提高搜索的效率,忽略网页上的编程信息, 这种信息搜索和获取的机制也不适用于构件的获取。 a g e n t 技术是在自动控制、人工智能、运筹学、通信工程学、系统工程 学等领域交叉结合基础上发展起来的分布式智能控制技术,适应分布式复杂 系统的控制要求,按照系统功能特点和物理特性,将系统控制结构划分为功 能上独立,具有逻辑推理能力和通讯能力的计算实体,这些实体具有自主性、 反应性和社会性,因而称为智能体。9 0 年代以来,对于多a g e n t 系统( m u l t i a g e n ts y s t e m ) 的研究已经成为分布式人工智能研究的热点。多a g e n t 理论 已经成为继面向对象方法之后出现的又一种进行系统分析与设计的强有力的 思想方法与工具,对许多学科与技术的发展起到了很大的指导促进作用m ”。 将a g e n t 技术与构件获取技术相结合,智能a g e n t 处于用户和网络信息资 源之间,充当中间人或代理的工作。即用户提出请求,a g e n t 能根据用户的要 求在网上搜索到一定的构件资源,按照一定的规则进行过滤,并以一定的优 先方式提供给用户,由于单a g e n t 的任务功能过于集中,容易造成数据的过 于集中不利于多任务的并发执行,因此依靠多a g e n t 合作的方法,是完成智能 获取的策略。 由此,构建一个智能化的构件获取系统就显得尤为重要。多a g e n t 技术 可以模拟人的思维,具有一定的灵活性,因而符合在构件获取中所需要的灵 活性和主动理解分析能力,是构件获取系统中理想的工具。智能代理技术是 近年来人工智能、分布式计算领域的研究热点,将它与构件获取技术相结合, 构建一个能够合理分析用户请求,利用有效的搜索工具在整个i n t e r n e t 上获 取到满足用户需求的构件,并对其进行统一组织存储的构件获取技术是课题 主要研究内容。 1 。2 软件构件技术 构件( c o m p o n e n t ) 是指应用系统中可以明确辨识的构成成分,而可复用 2 哈尔滨工程大学硕士学位论文 构件( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和可复用价值的构件。 可复用构件应具备以下属性: ( 1 ) 有用性( u s e f u l n e s s ) :构件必须提供有用的功能。 ( 2 ) 可用性( u s a b i l i t y ) :构件必须易于理解和使用。 ( 3 ) 质量( q u a l i t y ) :构件及其变形必须能正确工作。 ( 4 ) 适应性( a d a p t a b i l i t y ) :构件应该易于通过参数化等方式在不同 语境中进行配置。 ( 5 ) 可移植性( p o r t a b i l i t y ) :构件应能在不同的硬件运行平台和软件 环境中工作。 软件构件技术是软件复用的核心技术,是近年来迅速发展并受到高度重 视的一个学科分支。其主要研究内容包括m : ( 1 ) 构件获取:有目的的构件生产和从已有系统智能获取提取构件。 ( 2 ) 构件模型:研究构件的本质特征及构架间的关系。 ( 3 ) 构件描述语言:以构件模型为基础,解决构件的精确描述、理解及 组装问题。 ( 4 ) 构件分类与检索:研究构件分类策略、组织模式及检索策略,建立 构件库系统,支持构件的有效管理。 ( 5 ) 构件复合组装:在构件模型的基础上研究构件组装机制,包括源代 码级的组装和基于构件对象互操作性的运行级组装。 ( 6 ) 标准化:构件模型的标准化和构件库系统的标准化。 目前主流的软件构件技术标准有;o m g 提出的c o r 队、微软提出的 c o m d c o m 、s u n 公司提出的j a v ab e a l l e j b 。它们为应用软件的开发提供了可 移植性、异构性的实现环境和健壮平台,结束了面向对象中的开发语言混乱 的局面,解决软件复用在通信、互操作等环境异构的瓶颈问题。 1 3 构件挖掘技术 在基于构件的软件发展过程中,一个关键点就是为软件开发提供充足的、 可靠的、成熟的构件。为了解决这个问题,构件挖掘技术成为软件重用中的 关键技术。构件挖掘( c o m p o n e n tm i n i n g ) 是从己经存在的构件库中根据用 3 哈尔滨工程大学硕士学位论文 户的要求获取可重用构件,对这些构件接口进行设置,最终组合成新的符合 用户要求的软件系统。构件挖掘系统与构件模型建立、构件描述语言、构件 获取、构件分类检索、复合组装、构件标准化等多种构件技术均密切相关, 但重点在于构件的表示、存储和检索“一。构件复用技术的发展为构件挖掘 提出新的研究方向,包括:进一步改进现有编码和检索方法;i n t e r n e t 对构 件检索的影响;构件库的建立与维护;构件表示的标准化和多库检索;自动 化工具支持;实际应用和经验报告。 整个构件挖掘的过程可以分为三个步骤:构件获取、构件剪裁和构件重 组。构件挖掘过程中这三个步骤分别对应了典型的软件重用方法中软件选择、 软件描述和软件组合三个领域m 。 目前的构件挖掘技术还是一个新兴领域,大部分的构件挖掘技术都局限 于现有的本地构件库,应用面狭窄,不能满足构件发展的需要。随着网络的 发展,尤其是i n t e r n e t 的飞速发展,给人们带来了前所未有的信息共享与交 流。随着j a v a 和面向对象技术的发展,在网络上聚集了越来越多的构件,形 成了一个巨大的构件库。如果我们能够充分应用分布在网络上的构件,将它 们灵活地应用在各个软件系统中,将会大大提高基于构件的软件技术的发展 效率。 充分地利用网络上的现有构件,一个重要的问题就是怎样根据用户或者 软件系统的要求,在网络上搜索构件。基于网络的构件获取技术主要需要解 决的问题有;用户任务分析,智能化的构件搜索,构件描述信息提取。因为 构件是一种复杂的软件实体,有很多的接口信息和属性,用一般的关键字很 难精确地描述清楚用户对构件的具体需求,并且容易引起二义性。而且在很 多情况下,用户本身需求也不明确。所以,首先需要对用户的需求进行分析, 明确获取任务和耳的。 普通的搜索引擎无法满足基于i n t e r n e t 的构件搜索,因为大部分的搜索 引擎都集中在分析网页上的文本信息,并且为了提高搜索的效率,忽略网页 上的编程信息,而这些编程信息中往往包含有关于构件的重要信息。而且构 件分布在网络上的情况复杂,需要一种智能化的搜索s p i d e r 分析网页的深层 信息,并且结合这些信息和构件本身的特点从i n t e r n e t 上获取构件。用户要 使用构件必须首先掌握足够的构件描述信息,从而了解构件的功能,接口和 哈尔滨工程大学硕士学位论文 配置。网络上分布的构件有多元化特点,描述信息杂乱,有些没有文本描述 信息。如何从i n t e r n e t 上搜索构件并从网页和构件本身提取有用的构件描述 信息,并将其标准化,也是基于网络的构件挖掘技术和本文需要研究的主要 内容。 1 4a g e n t 理论及相关技术 1 4 1a g e n t 相关理论 a g e n t 技术是近年来在人工智能领域新兴的研究领域,它是指模拟人类 行为和关系具有一定智能并能主动允许和提供相应服务的程序。智能代理技 术是近年来人工智能、分布式计算领域的研究热点,代理的定义如下,代理 ( a g e n t ) :指封装了自己的状态、行为及线程控制的软件实体,具有与其他 实体( 包括人、其他代理及非代理软件系统等等) 交互协作的能力,代表用 户完成特定的任务“。正因为a g e n t 技术可以模拟人的思维,具有一定的灵 活性,因而符合在构件获取中所需要的灵活性和主动理解分析能力,是构件 获取中的理想工具。 a g e n t 可被看作是通过传感器感知并通过感应器影响作用其所处环境的 任何事物。它包含了3 个要素:所处的环境、用于接收输入的传感器和用于 形成输出的感应器。本系统中的智能代理应具有如下属性m w : ( 1 ) 自主性:a g e n t 能自主地控制其状态和行为,不需要入或其他系统 的直接干预,能独立地运行于i n t e r n e t 网络环境中。 ( 2 ) 通信能力:a g e n t 能用某种通信语言与其它a g e n t 或实体交换信息 以协同自己的行为。 ( 3 ) 感知能力:a g e n t 能及时地感知和响应其所处环境的变化。 ( 4 ) 能动性:a g e n t 不是简单的响应环境变化,而是根据所要完成的任 务主动行动。 ( 5 ) 目的性:a g e n t 能够处理复杂的高层次任务,能够将任务分解为多 个子任务,并以适当的次序逐个完成。 5 哈尔滨工程大学硕士学位论文 此外,随着网络的发展,能够在网络自主移动成为代理的重要属性,这 种代理称为移动代理( m o b i l e a g e n t ) ,将移动代理引入到系统中,可以减少 构件查询获取过程中的中间数据传送,缩短保持网络连接的时间,从而提高 系统的交互效率。 由于在实际系统中,单独的一个代理往往不能完成系统所要求的所有任 务,因此,开发者经常使用多a g e n t 系统,可以大大减轻用户的负担,提高 工作效率。 多代理系统( m a s :m u l t ia g e n ts y s t e m ) 是由多个a g e n t 组成的系统, m a s 的协作求解问题的能力超过单个a g e n t ,它的结构主要分为集中式,分布 式,混合式等,对m a s 要解决以下问题:a g e n t 的互操作性以及a g e n t 间的 协商和协作等问题,包括个体a g e n t 的推理,任务分配,目标行为的一致性, 冲突的识别与消解,通信管理等u 一。协商( n e g o t i a t i o n ) 是m a s 实现协同、 协作、冲突消解和矛盾处理的关键环节,关键技术可以概括为协商协议、协 商策略和协商处理这3 个方面的内容,协商协议的主要研究内容是a g e n t 通 信语言( a c l ) 的定义,最著名的是k o m l 语言;协商策略是a g e n t 决策和选 择协商协议和通信消息的策略。协商策略包括一组与协商协议相对应的元级 协商策略和策略的选择机制或函数两部分内容;协商处理包括协商算法和系 统分析两部分内容协商算法用于描述a g e n t 在协商过程中的行为,包括通信、 决策、规划和知识库操作等。 a g e n t 因为其智能性、自动性和社会性能有针对性的克服已有信息获取 系统所存在的固有的缺陷。因此使用a g e n t 技术在构件获取系统中有以下突 出优势: 智能a g e n t 可以有针对性地解析网页上的有用信息,针对隐藏在网页后 的编程信息,提取用户需要的有用信息。同时还可以利用移动a g e n t ,在网 络上自由的完成从一个节点到另一个节点的游走,同时在本地读取选择并且 最后下载构件及构件信息。这样的移动a g e n t 因为就在本地下载信息,避免 了将信息在网络上的传输和远程下载,极大的节约了网络资源,并且提高了 信息传输和下载的速度。 6 哈尔滨工程大学硕士学位论文 1 4 2f t p a 标准 f i p a ( f o u n d a t i o no fi n t e l l i g e n tp h y s i c a la g e n t s 智能物理a g e n t 基金会) ,1 9 9 6 年成立于瑞士日内瓦,是一个非盈利性组织。f i p a 建立的目 的是为了提高异构a g e n t 系统之间的交互性,并为此制定了一系列的技术规 范,从体系结构、通信语言、内容语言到交互协议。f i p a 的主要思想是通过 融合言语行为理论、谓词逻辑及公共的本体论,来提供一个标准的方法以理 解a g e n t 之间的交流。f i p a 是一个可以公开利用的规范,已不是一项特定的 应用技术,而是针对不同应用领域的通用技术,已不是一项独立的技术,而 是一套基本技术集。该技术使得开发者可以开发出具有高度协同能力的复杂 系统。 f i p a 9 7 规范中详细说明了一套标准化规则,支持a g e n t 系统内部的各 种交互协作,并且这种交互是可操作的并可以被管理的。它描述了一个a g e n t 平台的参考模型 1 4 1 ,如图1 1 所示。 平台主要功能是管理a g e n t 的生命周期、使a g e n t 能与平台内或平台外 的a g e n t 通信、使之能访问平台提供的服务等。 f i p a 的管理模型主要有以下几个功能模块: ( 1 ) i s ( a g e n tm a n a g e m e n ts y s t e m ) ,是f i p a 管理模型中必须的部 分,相当于平台的管理者,它监控着a g e n t 对平台的访问。a m s 保存着在该 平台上活动的a g e n t 的i d ,每个a g e n t 为了获得有效的i d 必须先向a m s 注册。 ( 2 ) d f ( d i r e c t o r yf a c i l i t a t o r ) 也是平台的必须部分,它提供平 台内的黄页服务。a g e n t 可以向d f 注册自己的能力或服务信息,也可以从d f 中查询提供有关服务的a g e n t 的信息。 ( 3 )m r s ( m e s s a g et r a n s p o r ts e r v i c e ) 提供了不同a g e n t 之问的 a c l 消息交互机制。岍s 由平台上的a g e n tc o m m u n i c a t i o nc h a n n e l ( a c c ) 提供。a c c 是平台上为a g e n t 提供消息交互的实体。f f r p ( m e s s a g et r a n s p o r t p r o t o c 0 1 ) 是不同a c c 之间的消息交互协议。 ( 4 ) a p ( a g e n tp l a t f o r m ) 是a g e n t 能被部署运行的物理实体,它不 仅包括前面的a m s 、d f 、m r s ,还包括底层硬件、操作系统和支撑软件,如j r e 等。f i p a 并没有规定a p 的实现方式,平台的内部实现由a g e n t 系统的开发 7 哈尔滨工程大学硕士学位论文 者决定。 申申甲 h m 蛳m n 删s 卿 l l | 卜 ;l l m * 摊m n 州s 脚 l ! 。己一。一唑舰鼍一一j 图1 if i p a 的a g e n t 管理参考模型 a g e n t 是a p 上的基本角色,它具有一种或多种服务功能,可以和外部软 件、用户及各种通信设施交互,它们之间也可以互相交互。每个a g e n t 具有 一个全局唯一的a g e n t 标识符( a i d ) ,a g e n t 存在于一个a p 上,使用a p 提供 的设施实现它们的功能。这时,a g e n t 作为一个物理软件过程,有一个物理 生命周期,生命周期由a p 管理。a g e n t 的生命周期包括五个状态:初始状态 ( i n i t i a t e d ) 、活动状态( a c t i v e ) 、等待状态( w a i t i n g ) 、挂起状态 ( s u s p e n d e d ) 和转移状态( t r a n s i t ) ,a g e n t 可在这些状态之间转换,但在 任何时刻只能处于某一状态。 a g e n t 之间的通信主要是消息的传递,消息必须有充分定义的、可以计 算的直观语义,因而,需要标准化的a g e n t 通信语言。d a r p a 致力于多a g e n t 问的通信研究,并且提出了a c l ”m ( a g e n tc o m m u n i c a t i o nl a n g u a g e ) 语言, a c l 提供了a g e n t 之间交互信息和知识的方式。在f i p a m ,多a g e n t 系统中, a g e n t 之间通讯语言是f i p a a c l ,f i p a a c l 与k q 札类似,也是消息的外部语 啥尔滨工程大学硕士学位论文 言,包含一套消息类型,每种消息类型都有其形式化的语义描述。 f i p a a c l 消息由一组核心的通信动作集合产生,f i p aa g e n t 之间是通过 消息来相互影响,消息类型也就体现了通信动作类型。 a c l 的消息结构如下所示m ,: ( i n f o r m :s e n d e r a g e n t l :r e c e i v e r a m s :c o n t e n t ( r e g i s t e ra g e n t l ) :l a n g u a g es l o :o n t o l o g ym a s a p p l i c a t i o n ) 其中i n f o r m 表示消息动作类型,s e n d e r 和r e c e i v e r 分别是消息发送者 与接收者,c o n t e n t 表示了消息承载的内容,l a n g u a g e 是该消息所采用的语 言,o n t o l o g y 用来说明c o n t e n t 所属的本体论。 原语指定消息的通讯行为类型,f i p a a c l 定义了2 0 个述行语以定义消息 的意图。例如通知( i n f o r m ) 、同意( a g r e e ) 、确认( c o n f i r m ) 、失败( f a i l u r e ) 、 请求( r e q u e s t ) 等等。 通信的参与者包括消息的发送者( s e n d e r ) 、消息的接收者( r e c e i v e r ) 及消息要回复的对象( r e p l y - t o ) 。 消息内容的表示涉及到内容语言、编码和术语定义集( o n t o l o g y ) 。内容 语言是用形式化的语义描述表达消息内容的语言,f i p a 提供了可选的内容语 言s l ( s e m a n t i cl a n g u a g e ) 。s l 是一种量化的带有模式操作符的多态逻辑, 用来表示信念、愿望和意愿,它的子集有s l o ,s l l ,s l 2 ,都是与f i p a 兼容 的内容语言,如果通信的双方都知道当前使用的内容语言,则该项可省略”1 。 1 4 3j a d e 平台简介 j a d e ( j a v aa g e n td e v e l o p m e n tf r a m e w o r k ) 是一个软件开发框架,用 于开发多a g e n t 系统和符合f i p a 标准的智能主体应用程序。它包含两个主要 9 哈尔滨工程大学硕士学位论文 的产品:一个符合f i p a 标准的a g e n t 平台和一个开发j a v aa g e n t 的包。 j a d e 完全是由j a v a 编写的,由各种j a v a 包组成,它为应用程序员既提 供现成的功能片断,同时也为自定义的应用程序任务提供抽象接口。由于 j a v a 的许多良好的特性,它是一种很特别的编程语言,特别是它在分布式的 不同环境中的面向对象编程方法,例如对象序列化( o b j e c ts e r i a l i z a t i o n ) , 反射机制( r e f l e c t i o na p i ) 和远程方法调用( r e m o t em e t h o di n v o c a t i o n r m i ) 。 每一个运行的j a d e 执行期环境的实例被称作容器,因为它能够包含若干 个a g e n t ,处于激活状态的容器的集合叫做平台一w 。一个单独的特殊的主容 器必须是处于激活状态的,所有其它容器在启动时到其上面注册。也就是说, 第一个在平台上启动的容器一定是主容器,所有其它容器就作为普通容器, 由主容器支配。如果有另一个主容器在网络中的某个地方运行,那么它一定 组建了一个不同的平台,在那里新的“普通”容器可以在其上面注珊。你不 用一定要知道j a d e 执行期环境是怎样工作的,但是需要在执行你的a g e n t 之前启动它。启动j a d e 作为一个主容器或者普通容器,然后在上面执行 a g e n t 。如图1 2 所示。 除了承担其它容器的注册的功能外,主容器区别于其它容器的特征在于 它有两个特殊a g e n t 。a m s ( a g e n tm a n a g e m e n ts y s t e m ) a g e n t 可以提供命名 服务( 如:保证每一个在平台上的a g e n t 有独一无二的名称) ,而且体现了在 平台上的权威( 如:通过a m s 发送请求可以产生或注销远端容器内的a g e n t ) 。 d f ( d i r e c t o r yf a c i l i t a t o r ) a g e n t 提供黄页服务,通过它a g e n t 可以发现 其它a g e n t 提供的且它所需要的服务。不同的a g e n t 根据角色不同分为服务 提供方和服务请求方,双方的交流首先要通过d f 进行查询,然后才能通信联 络。d f 本身没有资源可以提供,它的服务是面向整个系统的。 l o 图1 2j a d e 工作示意图m 1 j a d e 主要由下面的包组成: ( 1 )j a d e c o r e 实现系统的核心。它包含必须被应用程序员继承的 a g e n t 类,除此以外,j a d e c o r e b e h a v i o u r s 子包还包含一个b e h a v i o u r 类 层次结构。行为实现了一个主体的任务或意图。它们是逻辑活动单元,并且 可以以不同的方式组合,以获取不同的执行方式,当然,它们是可以并行执 行的。应用程序员定义主体的操作,编写行为以及主体的执行路径。 ( 2 )j a d e 1 a n g a c l 子包用于依照f i p a 标准规定处理主体通讯语言 ( a c l ) 。 ( 3 )j a d e c o n t e n t 包包含了一组类,用于支持用户定义的概念和语 言。特别的,j a d e c o n t e n t 1 a n g s l 包包含了s l 编码解码器,既有剖析器, 也有编码器。 ( 4 )j a d e d o m a i n 包包含了所有那些由f i p a 标准定义的,描述a g e n t 管理实体的j a v a 类,特别是a 惦和d f 主体,它们提供生命周期服务和白黄 页服务。子包j a d e d o m a i n f i p a a g e n t m a n a g e m e n t 包含了f i p a 主体管理的概 哈尔滨工程大学硕士学位论文 念和描述其概念的类。子包j a d e d o m a i n j a d e a g e n t m a n a g e m e n t 则包含了 j a d e 对a g e n t 管理的扩展,( 例如,对消息的探测以及控制主体的生命周期) , 包括概念和所有描述其概念的类。子包j a d e d o m a i n i n t r o s p e c t i o n 包含了 用于描述在j a d e 工具和j a d e 内核之间沟通领域的概念。子包 j a d e d o m a i n m o b i l i t y 包含了描述移动通信的概念。 ( 5 ) 子包j a d e g u i 包含了一组一般的类,用于建立用户图形界面, 用来显示和编辑a g e n t 标示符,a g e n t 描述等。 ( 6 )j a d e m t p 包包含了一个j a v a 接口。为了容易用j a d e 框架集成, 每个消息传送协议必须利用这个接口,它还包含了一组这些协议的执行。 ( 7 )j a d e p r o t o 包包含了建模标准交互协议的类( 如:f i p a - r e q u e s t , f i p a - q u e r y ,f i p a - c o n t r a c t - n e t ,f i p a - s u b s c r i b e 和其他一些被f i p a 定义 的类) ,同时也包含了帮助应用程序员建立自定义的协议的类。 ( 8 )j a d e w r a p p e r 包包含了j a d e 高级功能的包装,这些功能允许把 j a d e 当傲一个库,在那里外部j a v a 应用启动j a d e 主体和主体的容器。 j a d e 的主要特征n 飞 ( 1 ) 分布式a g e n t 平台; ( 2 ) 图形化用户接口可以从远程主机管理多个a g e n t 和a g e n t 容 器: ( 3 ) 内部平台移动性; ( 4 ) 支持通过行为模型来实行多重性、并行性和协作性; ( 5 ) 在相同a g e n t 平台中a c l 消息可以高效的传递; ,( 7 ) 通过a m s 自动注册与注销; ( 8 ) 支持应用程序定义的内容语言及本体。 1 5 课题所完成的工作和本文的组织结构 1 5 1 课题所做的工作 课题的主要任务是提出一种有效的识别、获取网络上构件的两层构件获 哈尔滨工程大学硕士学位论文 取构架,并给出了一种构件获取算法,从而充分利用网络构件资源,缩短软 件开发周期,提高软件质量。论文将利用x m l 这一通用、扩展性强和易于实 现的信息交换标准语言,提出一种通用的构件描述方法,对构件信息进行全 面刻画,解决异构构件的描述问题。利用代理的智能性、自主性以及移动性, 快速有效的搜索获取构件,通过多代理的交互协作,实现构件获取系统各个 模块之问的协同工作,进一步完善基于i n t e r n e t 的构件获取技术,顺利完成 获取任务。 主要工作如下: ( 1 ) 分析现有构件获取技术的优缺点,提出了一种更有效的两层架构 的构件获取技术; ( 2 ) 对搜索引擎结果进行再检索,深层分析各个结果页面,搜索w e b 上分布的主要构件; ( 3 ) 对搜索到的构件进行描述信息的提取,提出一种统一的构件描述 格式进行描述,方便用户的筛选; ( 4 ) 在j a d e 运行平台的基础上,设计一个多a g e n t 系统架构,协同用 户接口a g e n t ,搜索引擎再检索a g e n t 及构件获取a g e n t 等各个代理之间的 工作; ( 5 ) 最后,在上面的研究基础上,应用提出的两层构件获取架构,给 出一个软件( 构件) 集成框架的设计方案。 1 5 2 本文的组织结构 本论文在第一章概述了构件获取技术的研究意义,介绍了构件获取的相 关技术,软件构件技术、构件挖掘技术以及a g e n t 相关技术,并对论文的主 要工作做了总结归纳。第二章开始详细介绍了现有的基于网络的构件获取技 术,分析了这些技术存在的问题,并提出了鳐决该问题的一种两层架构的构 件获取技术。第三章针对j a v ab e a n 构件在网络上的发布特点,分析了j a v a b e a n 构件的获取方法,提出了针对j a v ab e a n 构件的两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安徽蚌埠市固镇县仲兴镇和任桥镇选聘村级后备干部22人备考题库及答案详解(夺冠)
- 2026北京大学光华管理学院招聘劳动合同制人员1人备考题库及答案详解(名校卷)
- 2026年烟台市委党校公开招聘博士研究生备考题库附答案详解(a卷)
- 2026河北省林业和草原局事业单位公开选聘工作人员2名备考题库及答案详解(夺冠)
- 股骨骨折患者营养支持护理要点
- 脑病针灸护理的伦理考量
- 会计师事务所薪酬制度
- 2025年初级注册安全工程师考试真题及答案解析
- 外墙防水涂料专项施工方案
- 信息系统开发生命周期管理方案
- 房屋抵押个人借款协议样式
- 2023年新高考河北卷政治高考真题解析(参考版)
- JC/T2041-2020 聚氨酯灌浆材料
- 国内外注塑模具发展现状的调查研究
- 基础设施老化问题与对策
- 部编人教版四年级下册小学数学全册课时练(一课一练)
- 社区零星维修工程投标方案(技术标)
- 碳捕集、利用与封存技术
- 城轨列车自动控制系统-ATO子系统
- 抑郁病诊断证明书
- 典必殊策划书0913-课件
评论
0/150
提交评论