已阅读5页,还剩74页未读, 继续免费阅读
(计算机应用技术专业论文)面向多构件库的构件检索关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 软件重用是一种提高软件生产效率和软件质量的切实可行的途径。在基于构 件重用的软件开发过程中,构件库系统扮演了重要角色。实践中构件数量不断增 长,构件也随技术和领域演化而更新,出现了很多不同类型构件库,如何实现在 多个构件库中高效准确地检索构件是目前亟待解决的一个主要问题。本文研究的 课题来源于国家8 6 3 计划课题“基于高性能宽带通信网络的软件支撑体系研究” ( 项目编号:2 0 0 4 a a l l 6 0 1 0 ) ,主要研究了面向多构件库的构件检索关键技 术。 本文从构件库检索特别是多构件库检索技术背景、研究现状及相关理论的入 手,分析各种检索方法的检索条件相互转换原理,提出多检索方法的检索条件相 互转换机制,并实现了相应四种转换算法。针对多构件库的分布式特点,提出了 构件管理域概念和构件目录库模型作为多构件库的一个中间结构,来沟通检索请 求和多个构件库,对检索用户屏蔽多库间的差异,然后设计了构件目录库的功能 结构和一种通用构件描述方法u c d l 。本文还将代理技术应用到多构件库构件检 索领域,提出一种基于多代理的多构件库检索模型,结合多代理在其代理平台上 的工作原理,给出构件管理域内各个代理的功能设计、构件管理域间交互方法, 并实现了多构件库构件检索原型系统。最后总结了所做的主要工作,提出了下一 阶段的工作重点。 本文研究目的和意义在于,通过多检索方法的检索条件相互转换机制可以使 各种检索方法之间互相补充不足,减少检索用户的理解成本,为提高检索方法智 能化程度和实现跨构件库检索奠定基础。构件管理域和构件目录库可以对检索用 户屏蔽多个构件库在数据模型、分类模式、术语和检索方法上的差异。将代理技 术引入多库检索中,解决多库检索的交互和协同问题,有效扩大重用者检索构件 的范围和提高检索效率,实现各构件库资源的共享,充分满足不同领域和不同需 求的用户。 关键词:软件重用;多构件库;检索条件转换;构件目录库;多代理技术 r e s e a r c ho nt h ek e y t e c h n o l o g i e so fc o m p o n e n tr e t r i e v i n gi n m u l t i - l i b r a r y a b s t r a e t s o f t w a r er e u s ei so n eo ft h ep r a c t i c a la n df e a s i b l ea p p r o a c h e st o i m p r o v e e f f i c i e n c ya n dq u a l i t yi n t h es o f t w a r e d e v e l o p m e n t c o m p o n e n tl i b r a r yp l a y s a l l i m p o r t a n tr o l ei nc o m p o n e n t - b a s e ds o f t w a r ed e v e l o p m e n t i np r a c t i c e ,t h en u m b e ro f c o m p o n e n t si n c r e a s e sw i t hy e a r s ,t h ec o m p o n e n t sa r eu p d a t e dw i t ht h ed e v e l o p m e n to f t e c h n o l o g i e sa n d t h ee v o l v e m e n to fd o m a i n s ,a n dt h e r ea r ea l s om a n yd i f f e r e n tk i n d so f c o m p o n e n tl i b r a r y o n eo ft h ek e yp r o b l e m si sh o w t or e u i e v ec o m p o n e n t si nt h em u l t i c o m p o n e n tl i b r a r i e se f f i c i e n t l ya n da c c u r a t e l y b a s e do nt h er e s e a r c hw o r ko ft h e n a t i o n a lh i g h - t e c hd e v e l o p m e n tp r o j e c t ( 8 6 3p r o j e c t ) “r e s e a r c ho ns o f t w a r es u p p o r t s y s t e m b a s eo nh i g h p e r f o r m a n c e w i d e b a n dc o m m u n i c a t i o nn e t w o r k ”( n o 2 0 0 4 a a l l 6 0 1 0 ) ,o u rs t u d y f o c u s e so n t h ek e y t e c h n o l o g i e so f c o m p o n e n tr e t r i e v i n g i n m u l t i l i b r a r y f i r s t l y ,b ya n a l y z i n gr e l a t e db a c k g r o u n d ,r e s e a r c hw o r ka n dt h e o r i e so fc o m p o n e n t r e t r i e v a le s p e c i a l l yi nm u l t i l i b r a r y ,w er e s e a r c ho nt h et r a n s f o r m a t i o np r i n c i p l eo f r e t r i e v a lc o n d i t i o n so fm u l t im e t h o d s ,d e s i g na n dr e a l i z et h et r a n s f o r m a t i o nm e c h a n i s m a n da l g o r i t h m f o rt h ed i s t r i b u t i o no fm u l t i - l i b r a r y ,w ep r e s e n tam i d d l es t r u c t u r e - c o m p o n e n tm a n a g e m e n td o m a i na n dc o m p o n e n td i r e c t o r yl i b r a r y ,w h i c hl i n k su pt h e r e t r i e v a lr e q u e s ta n dt h em u l t i - l i b r a r ya n ds h i e l dt h er e t r i e v e rf r o mt h ed i f f e r e n c eo f m u l t i - l i b r a r y a f t e rt h a t ,t h ef u n c t i o ns t r u c t u r eo fc o m p o n e n td i r e c t o r yl i b r a r ya n da u n i v e r s a lc o m p o n e n td e s c r i p t i o nl a n g u a g e ( c a l l e du c d l ) a r ed e s i g n e d t h i st h e s i sa l s o r e p r e s e n t sar e t r i e v a lm o d e lb a s e do nm u l t i - a g e n t i nm u l t i - - l i b r a r yb ya p p l y i n ga g e n t t e c h n o l o g i e st ot h i ss u b j e c t t h e n ,t h em u l t ic o m p o n e n tl i b r a r yr e t r i e v i n gp r o t o t y p e s y s t e mi si m p l e m e n t e dw i t ht h ei n t r o d u c t i o no ft h ew o r kp r i n c i p l eo fm u l t i a g e n t i n t h e i rp l a t f o r m ,a n dt h ef u n c t i o nd e s i g no f e a c ha g e n ti nc o m p o n e n tm a n a g e m e n td o m a i n a n dt h ei n t e r a c tm e t h o da m o n gt h ec o m p o n e n tm a n a g e m e n td o m a i n sa r eg i v e n a tl a s t , w em a k eac o n c l u s i o n ,s u m m a r i z et h em a i nr e s e a r c ha c t i v i t i e s ,a n dd i s c u s st h ef u t u r e w o r k t h eg o a la n ds i g n i f i c a n c eo ft h i st h e s i ss t u d i e sl i ei nt h ef o l l o w i n gp o i n t s ,t h e t r a n s f o r m a t i o nm e c h a n i s mo fr e t r i e v a lc o n d i t i o n sc a nm a k ed i f f e r e n tr e t r i e v a lm e t h o d s c o m p l e m e n te a c ho t h e r ,i m p r o v et h ei m e l l i g e n c eo fr e t r i e v a lm e t h o d s ,r e d u c et h e c o m p r e h e n s i o nc o s to fr e u s e r sa n dl a yf o u n d a t i o nf o rr e t r i e v a li nm u l t i l i b r a r y t h e c o m p o n e n tm a n a g e m e n td o m a i na n dc o m p o n e n td i r e c t o r yl i b r a r yc a ns h i e l dt h e r e t r i e v e rf r o mt h ed a t am o d e l ,c l a s s i f i c a t i o ns c h e m a ,c l a s s i f i c a t i o nt e r ma n dr e t r i e v a l m e t h o dd i f f e r e n c eo fm u l t i - l i b r a r y t os o l v et h ei n t e r a c t i v ea n dc o o p e r a t i o np r o b l e m , t h i st h e s i sa p p l i e sa g e n tt e c h n o l o g i e st oi t sr e s e a r c hs u b j e c t o u rr e s e a r c hw o r kc a n w i d e nt h ed o m a i no fc o m p o n e n t sr e t r i e v e d ,i m p r o v er e t r i e v a le f f i c i e n c y ,i m p l e m e n t r e s o u r c e ss h a r i n gi nd i f f e r e n tc o m p o n e n tl i b r a r i e s ,a n ds a t i s f yt h ed i f f e r e n td e m a n d so f u s e 体 k e y w o r d s :s o f t w a r er e u s e :m u l t ic o m p o n e n tl i b r a r i e s ;r e t r i e v a lc o n d i t i o n s t r a n s f o r m a t i o n :c o m p o n e n td i r e c t o r yl i b r a r y ;m u l t i - a g e n tt e e h n o l o g i e s 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果,撰写成 博士硕士学位论文 !画回墨捡鲑庄趋掏鲑捡塞羞毽撞盔班窥 :。除论文中已 经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公丌发表或未公开发 表的成果。 本声明的法律责任由本人承担。 论文作者签名:礅蔷蒡一力缉弓月, j - 同 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、版权使 用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论文的复印件 和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编 学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密口( 请在以上;d - 框内打“”) 论文储繇嵌盏芳翩虢溺z 3 f 1 期:,而二年;月日 第1 章绪论 1 1 选题的背景和意义 软件工程的目标是致力于提高软件生产效率和软件质量,而软件重用是提高 软件生产效率和软件质量的切实可行的途径之一,其出发点是,软件系统的开发 以已有的工作为基础,充分利用己有系统开发中所积累的知识和经验进行新的开 发,这样,软件开发的重点就可以集中于软件系统中的特有构成成分上。软件构 件只有在数量上达到一定的规模才能真正满足软件重用和基于构件的软件开发 c b s d ( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ) 的需求,因此必须有一个强有 力的工具来对这些数量庞大的软件构件进行管理。在1 9 6 8 年北约n a t o ( n o r t h a t l a n t i ct r e a t yo r g a n i z a t i o n ) 举行的一次会议上,m c l l r o y 在论文中首次提出可重 用软件构件库的思想以及形式化软件重用的概念【l l 。构件库作为一种支持软件重 用的必备基础设施,它提供对软件构件进行描述、分类、存储和检索等功能。在 基于构件重用的软件开发过程中,构件库系统扮演了重要角色。实践中构件数量 不断增长,构件也随技术和领域演化而更新,如何实现构件的有效检索和管理就 成为构件库和软件重用研究的重点 9 】 1 7 1 。 在以往的软件重用研究中已经取得了许多成果,对于构件库的构件分类和检 索方法的研究也取得了较大的突破,并在实践中得到了论证。在各个构件分类检 索方法中,刻面分类检索方法取得了较好的效果,它和关键词分类检索方法都得 到了广泛的应用,体现了它们明显的优势。同时,为了提高检索的查全率及帮助 重用者更好地理解和进行重用,许多可重用构件库己经采用了多种分类检索方法 相结合的方法,用户可以自由地选择其中的多种检索方法进行检索,以便容易地 检索到用户想要的构件。 近年来,构件检索技术的研究和实践取得了相当成果,但还存在一些不足之 处,其中主要问题是现有多个构件库之间难以实现互通,用户为了获得所需构件 不得不逐一访问每个构件库,联合检索效率较低2 ”。如何实现在多个构件库中高 效准确地检索构件是耳前亟待解决的一个主要问题。 为了推动具有自由知识产权的软件开发及软件产业发展,国家科技部批准先 后在北京、上海、沈阳、大连等十余个软件产业发展较好的城市建立国家级软件 孵化器。要求各孵化器结合本地区的软件产业特色,建立相应的软件资源库、软 件开发与生产支持平台等,其中软件构件库是软件资源库的核心。日前,北京、 上海等地先后建立了青鸟构件库和上海构件库,大连构件库也已总体上建立完 成,实现各地构件库之间的资源共享,意义深远。 2 0 0 4 年国家科技部批准“基于高性能宽带通信网络的软件支撑体系研究” ( n o 2 0 0 4 a a l l 6 0 1 0 ) 为国家8 6 3 计划重大项目,在大连建立国家级软件孵化器, 该孵化器的建设是大连市开展软件产业国际化示范城市的重要组成部分。要求孵 化器结合地区的软件产业特色,以领域构件库结合孵化器构件库,建立相应的软 件资源库、软件开发与生产支持平台等。该项目由大连市科技局、大连海事大 学、大连软件园等共同承担,其中大连海事大学计算机学院作为技术支撑单位。 其主要研究内容之一是建立面向软件开发的、以三库三平台( 开放源代码库、软 件构件库、公共软件工具库、软件产业国际化技术支撑平台、8 6 3 成果技术转化 支撑平台、国际化软件人才培养支撑平台) 为核心的公共技术支撑体系。本论文 的研究内容是基于其中的子课题“软件构件库”而进行的,主要研究多构件库检 索及其相关技术。 1 2 国内外研究现状 构件库可以有效地组织和管理大量的可重用构件,并提供相应的工具支持用 户方便地检索所需构件,因此构件库及其相关问题的研究是一项非常重要的工 作。国内外学术界对此进行了深入研究,当前已有不少成果,如a l o a f ( a s s e t l i b r a r yo p e na r c h i t e c t u r ef r a m e w o r k ) 等模型,r i g ( r e u s el i b r a r yi n t e r o p e r a b i l i t y g r o u p ) 、n a t o 等标准,r e b o o t ( r e u s eb a s e do no b j e c t o r i e n t e d t e c h n i q u e s ) 、i b ma l p h a w o r k s 12 1 、f l a s h l i n e 1 3 细北大青鸟构件库等实际系统。 n a t o 提出了一种刻面分类模式,其中的刻面不必彼此独立或适用于所有的 构件。因此在对一个构件进行分类时,未必用所有的刻面来描述。刻面术语之问 或者没有关系或者是同义词关系,术语空间是非结构化的【7 】o r e b o o t 是一个包括储存可重用构件的数据库和一组产生、认证、插入、提 取、评价和适配可重用构件的工具的环境。在对构件进行分类时它采用了刻面分 类策略,但是它的刻面分类模式主要针对的是源代码级别的构件,不具备描述粒 度较大、结构较复杂的构件( 如模式、框架) 的能力【4 1 。 近年来,一些研究人员还进行了分布式构件库方面的研究,如c i j x 等人研 制了分布式构件中心d c h l l 8 】、s u l ly c 等人研制了u r a l l u s 系统【1 9 】,同时工业界 也出现了可用于实现分布式构件库的u d d i 技术【2 0 l 。 此外,国内对构件库的研究也有了相应的成果。其中,以北京大学的青鸟工 程为软件重用及相关技术的研究工作水平的代表【6 【8 】【2 8 】。青鸟工程在“九五”期 间开发了基于异构平台、具有多信息源接口的应用系统集成( 组装) 环境青鸟i i i 型( j b 3 ) 系统。在相应构件模型基础上,建立了青鸟构件库数据模型,并与其 它c a s e 工具相结合,支持对构件的描述( 使用青鸟构件描述语言j b c d l ) 、分 类、管理、存储、检索和复合,满足了基于“构件一构架”重用的软件开发过程 的需要。上海构件库也是国内比较有代表性的构件库之一。它是推进上海软件产 业实现构件化生产的服务性公共基础设施,筹建于2 0 0 2 年初,主要提供软件构 件、构件库、构件相关技术与方法的共享、交流和推广传播等,为上海软件企业 实现由传统开发方式向软件工厂模式的转变提供服务。 十几年来构件库技术的研究和实践虽然取得了相当成果,但目前工作都存在 对多构件库检索技术研究的不足,u d m b i d m l 2 8 1 1 2 9 1 3 0 1 仅仅是一种构件库数据的 中间表示,d c h 和u r a n u s 侧重于解决局部构件库之间的拓扑结构问题,u d d i 主 要支持w e b 服务的发布和查询,这些技术都缺乏对常用构件分类方法的支持。 可以归纳出目前软件重用库中构件检索存在的问题: ( 1 1 检索方法智能化程度低 在目前的可重用构件库系统中,提供的分类检索方法比较单一,即使提供多 种检索方法也只能进行简单的顺序组合,多种检索方法的检索条件不能相互转 换。由于非专业检索者通常不可能对各种检索方法都了解和熟悉,用户往往只会 使用自己熟悉和掌握的那一种检索方法来检索构件,这样用户就不能充分利用多 种检索方法同存的优越性来检索其所需的构件。多种检索方法的检索条件之间自 动转换已成为目前要解决的迫切问题之一,实现多种检索方法的检索条件智能转 换能改善目前的检索机制,可以提高检索效率,减轻重用者对构件库分类检索方 法的理解负担,充分发挥各种检索方法自己的优点。 ( 2 ) 在分布式环境中不同的构件库的信息交互和软件资源共享很困难 目前在i m e m e t 上已经出现了许多针对不同领域的、多样化的构件库,在各 个构件库中都存放了大量面向不同领域的构件资源,以满足不同领域用户的需 求,这些构件库都为重用者提供了各种不同或类似的检索方法。但是,由于现有 的各个重用构件库各自采用不同的数据模型、分类模式和术语,妨碍了构件库之 问软件资产的共享,各个库之间的交互和共享变得非常困难。如果用户想要从多 个构件库搜索一个合适的构件,这时就需要用户对各个构件库进行逐个检索,对 多个库检索的过程也变得相当困难。由于无法实现库的共享,软件开发者可用的 软件资产的集合就缩小了,从而导致了重新开发软件资源的重复劳动。 所以,实现多构件库构件检索至少具有下面两方面重要意义: 1 1 可以减轻重用者对构件库检索方法的理解负担; 2 ) 实现多构件库的联合检索可以在检索意义上实现各构件库资源的共享,这 样可以充分满足不同领域和不同需求的用户。 文献 2 2 1 实现的构件检索系统通过多种检索方法的顺序组合和直接替换同时 对构件库进行检索,从而能提高检索的查全率,减轻重用者对构件库检索方法的 理解负担,有效地改善目前检索系统中存在的检索自动化、及智能化程度低的现 象。但该系统也仅仅是解决了一些局部问题,在实际中许多问题仍然无法解决, 主要表现在下面几点:主要采用直接替换法来实现检索方法间的检索条件转 换,会影响检索的查准率;只能实现对单个构件库进行多检索方法的联合检 索,它的检索对象是一个构件库,不能解决多构件库的检索问题;系统无可扩 充性,它立足于本地的简单构件库模型上,无法扩充和应用到已有可用的构件库 中,它仅仅停留在理论上,未能应用到实践中。 文献 1 5 】和文献【2 2 提出基于统一刻面分类模式的多构件库检索策略:如果多 个构件库均采用刻面描述分类方法,可以提供一种公共设施对各构件库刻面分类 模式进行统一管理,可以叫这种公共设施为分类模式注册中心。然后再建立一个 4 统一刻面分类模式,形成统一分类模式和各构件库刻面分类模式之问的映射关 系。建立统一刻面分类模式过程是把分类模式注册中心中注册的构件库的刻面分 类模式进行增加、删除和合并的过程。而多库检索过程为;统一刻面分类模式建 立后发送给检索处理单元,用户根据统刻面分类模式构造统一检索条件,由检 索处理单元自动在各库中进行检索。在建立统一刻面分类模式的过程中,刻面分 类模式合并处理单元将不同构件库的刻面分类模式中术语作为规范词汇。在建立 统一刻面分类模式前还需要考虑各个构件库刻面分类模式中的术语出现同义词的 情况。一般的做法是建立同义词词典,从每组同义词中选择个术语用规范词汇 替换。但是上述基于统一刻面分类模式的多构件库检索策略不具有通用性,推广 意义不大,其局限性在于只适应支持刻面描述分类的构件库。 1 ,3 本文的主要研究工作 本文主要研究面向多构件库的构件检索关键技术,具体内容体现在:多种检 索方法的检索条件相互转换及其算法实现;构件管理域和构件目录库模型的提 出,设计构件目录库的功能结构和种通用构件描述方法u c d l ( u n i v e r s a l c o m p o n e n td e s c r i p t i o nl a n g u a g e ) ;将代理技术应用到多构件库构件检索领域, 提出一种基于多代理的多构件库检索模型,分析多代理在其代理平台上的工作原 理,给出构件管理域内各个代理的功能设计、构件管理域间交互方法,并实现多 构件库构件检索原型系统。 面向多构件库的构件检索涉及构件、构件库、构件组织和分类、构件检索方 法、多构件库检索和代理技术等,本文先对其作基础理论研究,总结出已有的成 果供借鉴和参考。然后针对检索方法的检索条件转换的必要性,结合构件检索的 流程和检索过程所采取的简单高级方案,提出一种面向多构件库的构件检索条件 转换机制,旨在解决下面两个问题:多种检索方法对重用者造成的理解负担; 各个重用构件库各自采用不同的数据模型、分类模式、检索方法和术语,妨碍 了它们之间软件资产的共享,各个库之间的交互和协作变得异常困难。本论文主 要实现了( 1 ) 关键词条件转换为刻面条件( 2 ) 刻面条件转换为关键词条件( 3 ) 刻面条 件转换为属性值条件( 4 ) 刻面条件转换为枚举条件四种检索条件的转换,给出了 相应的算法,为后续的多构件库检索系统实现准备条件。 检索条件转换只能在一定程度上解决各个异质构件库交互性不强的问题。鉴 于飞速发展的智能软件代理技术在获取处理信息上表现出来的目的性、智能性和 协作性,我们可以将它引入到构件检索领域,特别是多构件库检索领域,作一些 轻量级的应用( 对代理及其相关技术本身不做更深一层的研究) ,提出分布式多 构件库检索系统框架模型。尝试解决在多个构件库之间在构件检索上的交互性和 协同性问题,有效扩大重用者检索构件的范围和提高检索效率。建立多构件库检 索系统框架模型的具体思路如下:首先把多个构件库按照不同标准( 如领域) 划 分成不同的类别,同属一类的构件库可以归属到一个构件管理域中,多个构件管 理域构成一个构件管理域联盟( 可以假定整个网络环境中只存在一个构件管理域 联盟) ,这样就形成了一个网络层次结构。一个构件管理域中包含多个构件库, 并设一个构件目录库,用于管理和维护域内构件库的构件描述信息。论文定义了 一种通用构件描述方法u c d l ,目的是对构件管理域和检索客户端屏蔽各个构件 库构件组织、分类和描述模式的差异。在把智能代理引入到构件库、构件目录 库、构件管理域各自的服务器上之后,然后在每一个构件管理域中设一个多代理 运行平m a r p ( m u l t i a g e n tr u n t i m ep l a t f o r m ) ,集中管理这些代理。通过多个 m a r p 平台上多个代理之间的消息传递实现构件库、构件目录库、多个构件管理 域间的构件信息共享,而代理的移动可以为在多个构件管理域中分布检索构件创 造条件。最后,我们通过模拟多个异质的构件库和构件管理域,实现一个支持多 个构件库同时进行联合检索的多构件库检索原型系统,向软件重用者提供一个跨 构件库的公共检索平台,以实现构件库的具体位置和不同分类检索方法对检索用 户的透明性,达到各构件库软件资源在检索意义上的共享。该系统支持单个库 内、构件管理域内和多构件管理域间的构件检索,在前两种类型的检索中,我们 还成功应用了构件检索条件的转换机制,而后两种类型的检索都实现了构件的跨 库检索。 6 1 4 论文的组织结构 本论文共分为六章,第一章为绪论,介绍了本文的研究背景和意义、构什库 检索技术特别是多库跨库检索技术的国内外研究现状以及本文的主要研究内容。 第二章主要介绍构件库检索相关理论,包括构件的定义、构件库和构件库管 理系统、构件组织分类检索方法和策略,然后从构件检索过程上对比了单库检索 和多库检索的不同,重点讨论了几种多构件库检索方法。最后对软件智能代理技 术作简单介绍,为多构件库检索中代理技术的引入做准备。 第三章主要论述检索条件转换机制,首先分析检索条件转换的必要性,结合 构件检索流程和检索过程所采取的不同方案提出一种面向多构件库的构件检索 条件转换机制,给出了具体转换算法,分析了其带来的负面影响。 第四章提出基于代理技术的多构件库检索模型。按照模型,首先介绍了分布 式多构件库系统的相关假设和规则,然后提出构件目录库模型,设计了一种通用 构件描述方法u c d i 。最后介绍将代理技术应用到多库检索的关键问题,主要包 括多代理运行平台服务功能的设计、各个代理的职能设定和代理之间的协同等。 第五章是多构件库构件检索原型系统的实现,首先对整个原型系统总体介 绍,然后着重叙述代理及代理运行平台的宴现,其中包括部分核心类包等。晟后 简单介绍了原型系统中多种检索用户界而的开发。 第六章总结了本文的主要工作,并且提出了下一阶段的工作展望。 第六章总结了本文的主要工作,并且提出了下一阶段的工作展望。 第2 章构件库检索相关理论 2 1 构件的定义 从广义上讲,一切具有独立功能的系统构成成分都可称之为构件 9 1 。文献 1 0 】 认为面向对象0 0 ( o b j e c t o r i e n t e d ) 技术中对象概念的出现与发展为软件构件的产 生做好了准备,并给出了构件的基本概念:构件( c o m p o n e n t ) 是指一组封装的、规 范的、可重用的软件模块,是组织系统的基本单位,其中构件的封装性是指数据 和操作上的封装。构件在实际形态上可表现为通过目录结构组织起来的一些文件 的集合,是应用系统中多个相关文件构成的一个逻辑整体,并且可被系统明确辨 识,例如一个类的定义及其实现,一个完熬的功能模块等。 构件的形式化描述。构件可以用一个四元组来表示: 构件:= 把构件说明和构件体分开的原因是考虑到同一个构件说明可以由不同的程序 设计语言来实现,即使同一个构件可阻有多个不同语言实现的构件体( 只要构件 模型相同) ;构件的接口不仅要提供外部物理实现接口,而且还要提供一个外部 逻辑接口,它是给用户提供一个非形式化的该构件的功能描述,这样更能方便用 户了解和使用构件。 构件与对象的区别: ( 1 ) 在0 0 设计中,对象( 类) 、封装和继承三者缺一不可:但对构件来说可以 没有继承性,只要实现封装即可。 ( 2 ) 从构件和对象的生成方式上,0 0 中的对象生成属于实例化的过程,比较 单一;而生成构件的方式较多。 ( 3 ) 在对构件操作时不允许直接操作构件中的数据,数据真正被封装了;而通 过公共接口操作,对象的数据是可能被访问操作的。 ( 4 ) 0 0 中的对象对软件重用是通过继承实现的;构件对软件重用不仅可以通 过继承还可以通过组装时的引用来实现。 可重用构件是指具有相对独立的功能和可重用价值的构件。一般来说,只要 是软件系统中可以明确识别的、可被他人重用的成分,都可以称为构件。构件的 最小粒度为单个的类和模块【1 6 】。可重用构件应具备以下属性: 有用性:构件必须提供有用的功能; 可用性:构件必须易于理解和使用; 正确性:构件及其变形必须能正确工作; 适应性:构件应该易于通过参数化等方式在不同语境中进行配置; 可移植性:构件应能在不同的硬件运行平台和软件环境中工作: 规范性:必须遵循一个适当的设计和编码标准。 2 2 构件库及构件库管理系统 2 2 。1 概述 构件库是可重用软构件的集合,是一个包括人员、工具和过程的组织,主要 目的是提供软件生存周期产品的重用机制以满足特定的软件代价效益和生产 率的目标,并作为开发可重用构件和基于可重用构件开发这两个生存周期的联系 体系。具体地说,构件库就是类似于用来存储、检索和管理构件的数据库,是开 发可重用构件和使用可重用构件的中间媒介。构件库一般管理流程见图2 1 。 图2 1 构件库一般管理流程 f i g 2 - 1g e n e r a lm a n a g e m e n t p r o c e s so f c o m p o n e n tl i b r a r y 9 图2 - 1 中可复用构件可以在领域工程的基础上通过有目的的开发而获得,或 者从现有系统中提取并进行再工程获得,也可以直接从某个商业性的软件机构购 买。构件库需要对构件进行验证,以确保构件满足一定的质量标准,然后进行分 类和描述,将其存入构件库中。用户在构件库中查询满足自己需求的构件,如果 找到,则将其复合组装到新的应用程序中,此过程中可能要进行适应性修改。 构件库管理系统c l m s ( c o m p o n e n tl i b r a r ym a n a g e m e n ts y s t e m ) 是为构件库的 建立、使用和维护而配置的应用软件。文献【1 1 】中提到的构件库管理系统通过构 件库存储构件、提供可重用的软件资源。c l m s 对构件库进行统一的管理和控 制,承担着构件库的维护工作,保证构件库的安全性和完整性。重用者使用各种 构件库管理命令查询利用构件、控制构件的执行,通过构件库管理系统使用各类 构件将更加方便。 在本文中,我们所说的构件库是指存储构件和构件的相关信息、提供一种机 制发现获取构件和维护构件的构件库管理系统,有时也简称构件库系统。 2 2 2 构件库的类型 在构件库技术的发展过程中,出现过多种不同形式的构件库,主要包括【1 7 】: ( 1 ) 子程序库和类库 高级程序语言编译器的开发商提供给用户的开发工具中一般都带有若干子程 序库,例如c 语言的库函数。类库是o o p l 中不可缺少的组成部分,例如i n p r i s e 的v c l 、微软的m f c 、s u n 的j a v a 类库等。一些面向某个领域的通用子程序库 也发挥了很大的作用,例如,数学程序库就是非常成功的子程序库,它们是最早 出现的构件库形式。 ( 2 ) 领域专用构件库 领域专用构件库用于存储和管理某一特定领域构件的构件库。例如商业领域 构件库、军事领域构件库等。 ( 3 ) 软件资产库 8 0 年代末9 0 年代初研究人员认为软件开发过程分析、设计、编码、测试阶 段一切有重用价值的软件成分都可以称为构件,构件也被称为软件资产。软件资 产库用于存储这些广义范围的软件构件。软件资产库是十余年来构件库领域的研 究重点,学界和业界对此做了大量的研究和实践工作,取得了相当的成果。 ( 4 ) 具有完备构件检索系统的构件库 检索构件和获得构件是构件库的重要功能,构件检索系统是支持可重用软件 构件分类和检索的自动化工具。软件搜索引擎是近年来c m u s e i 的s e a c o r d 等人 研究和开发的一种构件检索系统,能够在i n t e m e t 上自动查找和搜集j a v a b e a n s 、 a c t i v e x 、c o r b a 、e j b 构件,获得构件的u r l 等相关信息,并为之建立索引。 当然也可以从构件库的组织角色来对其分类,由于各个组织的规模、目标领 域、组织模式和重用成熟度不同,导致构件库系统在组织中的角色和作用也不相 同。据此可以归纳出以下四种典型的构件库:( 1 ) 面向项目的构件库( 2 ) 面向领域的 构件库( 3 ) 面向构件共享的构件库和( 4 ) 面向构件市场的构件库。从( 1 ) 到( 4 ) 标志着 构件库规模越来越大,目标领域越来越清晰和广泛,重用成熟度也越来越高。 上述因素也将直接影响到构件的描述表示和分类,以及相应的检索和交换方 式【2 8 1 。例如,面向项目的构件库需要突出构件的项目背景:面向领域的构件库需 要以特定领域的系统构架为骨架来组织构件,并表示出领域之间的相关关系;面向 共享的构件库建立在若干相对独立的子库之上,需要为分布在各地的用户群提供 灵活统一的查询界面,实现对不同应用领域、形态、位置和表示方法的构件的透 明访问;面向构件市场的构件库在更大范围内提供重用支持,通过商业手段可以 使构件的认证、度量与质量保证等技术难题得到较为满意的解决【6 j 。设计构件库 时,应该首先根据重用组织的现状和重用目标确定构件库的角色,在此基础上选 择适当的分类和检索方案。 2 3 构件库中构件组织和分类模式 对构件的有效组织是管理和检索构件的基础。合理地组织构件的关键,是合 理地对构件进行分类,从而按照不同的分类模式将构件组织成不同的构件集合。 可以说,是否有效地对构件进行分类存储将关系到构件库的管理、构件的查询效 率、构件的可理解程度、构件的可维护性等多个非常重要的因素。另一方面,对 构件库中构件进行恰当的分类不仅能简化构件库系统的管理过程,也会为检索提 供更加多样的途径。总之,合理的构件分类模式是构造构件库存储、管理、检索 机制的基础,有效的检索将依赖于有效的分类模式的灵活建立和实施。下面先从 分析构件库中的数据模型入手,论述构件的分类模式。 2 3 1 构件库的数据模型 一个完整的构件可能包括构件实体表示、构件目录信息和元数据( m e t a d a t a ) 三个部分,分别对应于构件库数据建模中的数据、数据模型和元模型三个层次 【2 】。由于对构件的分类组织、检索更加关注的是构件的目录信息,也就是构件描 述信息,所以我们只讨论构件库的数据模型,它也是构件库研究的基础1 1 4 1 。我们 设计的构件库数据模型如图2 2 所示。模型包括构件、提交者、使用者、术语、 刻面、构件描述信息和反馈七个实体,构件之间的关系、提交者与构件的关系、 使用者与构件的关系、刻面与术语的关系、构件与术语的关系、术语之间的关系 和构件与描述信息的关系七种关系。 图2 2 表示构件库实体关系的数据模型 f i g 2 - 2d a t am o d e lo f c o m p o n e n tl i b r a r ye r ( e n t i t y - r e l a t i o n s h i p ) 2 3 2 构件分类模式 构件分类是建立( 生成) 和维护构件目录信息的活动,构件的检索方法依赖 于构件的表示和分类【2 8 】。参照构件库数据模型,从不同的角度可以对分类模式进 1 2 行不同的划分。h m i l i 根掘索引检索方法的不同,分为基于文本的、基于词法描 述的和基于规约的编码和检索三类1 6 1 ;w f r a k e s 从构件表示的出发将现有方法分 为人工智能方法、超文本方法和信息科学方法三类1 6 1 ,其中信息科学方法在实际 构件库的项目中应用较为成功。信息科学方法又分为基于受控词汇表( 如枚举、 刻面) 分类和基于不受控词汇表分类两种形式。其中关键词分类、枚举分类、属 性值分类和刻面分类是构件库中较为常见的分类模式 1 9 】。 关键词分类 每个构件用一组与之相关的关键词编目。一般,关键词是不受控的词汇,由 于缺乏上下文语境导致检索的效率和精确度也得不到保证。 枚举分类 通常将一个被关注的领域划分为多个不相交的子领域,依次构成层次结构 1 6 1 。此方法的不足之处在于,很难解决同一个构件属于不同子领域的二义性的问 题,不易于随领域的演变而改变。 属性值分类 为领域中的所有构件定义一组属性,然后为这些属性赋值。属性的数量没有 限制,属性也没有优先级,而且不使用词典功能。 刻面分类 由一组描述构件本质特征的刻面所组成,每个刻面从不同的视角对构件库中 的构件进行精确的分类,每个刻面具有一组术语( 关键词) ,术语之间有类层次 关系而形成结构化的术语空间。术语空间是可以演变的有限的不定空间。 在上述各种分类模式中,刻面分类方法从若干不同的维度描述复杂对象,在 刻面中的术语之间可以定义关系( 如一般特殊关系和同义词关系) ,具有枚举、属 性值和关键词分类几种方法的优点。也正是因为它的诸多优点,它被n a t o 组 织采纳和推荐使用,是目前使用最为广泛的分类模式,文献 1 5 】所研究的统一刻 而分类模式也正是基于这种分类模式的,在其中的第三章具体介绍了刻面分类模 式的特性和优点等。 对大量构件进行分类有三个好处:便于组织管理、方便查询和辅助理解。文 献6 1 对各种构件分类与检索方法进行了综述。通过比较,我们的系统选择以刻面 分类为主,关键词、属性一值、关系索引等多种模式相结合的方法对构件进行分 类。在同一系统中支持多种分类模式和检索方法的组合使用,可以满足不同重用 组织和不同用户群体的需求,初级用户可以选择使用自己熟悉的简单的方法,而 高级用户可以综合使用几种方法( 将在第3 2 节中详细论述) 。实践证明,各种 方法互相补充能够提高检索效率【5 1 。 2 4 构件描述 要进行构件的多库检索,首先要解决不同构件库之间构件访问的一致性问 题。在我们的系统中,构件描述任务就是通过建立构件目录信息库,为不同的构 件库提供统一的浏览和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026推销咖啡面试题及答案大全
- 2026涡阳幼教面试题及答案
- 新三年级上册英语U1-U6单元知识点总结(人教PEP)
- 2026-2031年中国条形码打印机行业市场调查研究及发展前景预测报告
- 2025-2026学年河北省邢台市新河县四年级数学第二学期期末达标测试试题(含答案)
- 首期年产110万吨特种新型材料项目环境影响报告表
- 2025-2026学年江西省赣州市南康区数学三下期中考试试题含答案
- 西安工程大学专职辅导员招聘笔试真题2025
- 山东文化艺术职业学院招聘笔试真题2025
- 2025-2026学年江西省九江市德安县四年级数学第二学期期末学业水平测试模拟试题含解析
- 天然气管线保护施工方案
- 2025届中工国际工程股份有限公司校园招聘笔试历年参考题库附带答案详解
- 城市道路桥梁安全监测预警系统操作手册
- 2026计算机二级MS Office真题模拟押题含解析
- GB/Z 114.1-2026纳米制造技术规范纳米储能第1部分:空白详细规范电化学电容器用纳米多孔活性炭
- 广东高考政治试题及答案2026
- 消防培训机构设备管理制度
- 医疗机构医用高压氧治疗技术管理规范(2025年版)
- TCCEAS002-2022房屋工程总承包工程量计算规范
- 哮喘患儿合并睡眠障碍管理方案
- 2025地下室防水补漏合同模板
评论
0/150
提交评论