




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)基于本体与刻面描述相结合的构件检索研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 软件复用被视为提高软件生产率和质量的有效途径,而如何在可复用的软件 构件库中找到需要的构件是一个需要解决的难题。随着网络技术的广泛应用,不 同构件模型的复用构件将不断增多,能否提供一个有效的工具或方法,使开发者 检索到符合新系统需要的构件成为基于构件的软件开发面临的一个核心问题。 传统的构件描述与检索方式,如基于刻面描述和分类的构件检索,由于缺乏 构件的语义信息描述,用户难以精确检索到与需求匹配的构件资源,查准率和查 全率不高。 本文在刻面描述基础上引入本体的概念,建立起基于刻面的构件分类和描述 结构,建立构件本体,并利用本体对用户提交的检索请求进行语义扩展,提高构件 检索的查准率和查全率。本文从本体语义的角度对如何利用本体对构件检索进行 了研究。主要工作为: 1 首先对当前有代表性的构件库系统的分类和检索技术进行分析,重点分 析了构件的刻面分类方法,提出采用x m l 技术实现构件的刻面描述方案,介绍了 x m l 以及树匹配模型相关技术特点。参照国内外相关学术成果,给出了具体的刻 面描述实现,从而建立起软件构件库系统的构件数据模型。 2 对本体的定义、描述方法、构建工具以及如何构建进行研究,采用o w l 语言对本体进行描述,形式化地定义概念及概念之间的关系,提出了一个面向对 象的领域本体构建方法,并根据该方法建立c e m ( 高校教育管理) 领域本体。 3 在构件的刻面检索的基础上引入本体,结合刻面分类信息和领域信息, 建立了一个比较合理的软件构件本体模型,用于软构件的语义检索。该模型结合 了构件的刻面分类信息和领域信息,充分考虑了本体的语义完整性。 4 提出了基于本体和刻面描述相结合的检索模型和算法,并在构件生成与 组装平台( c r 廿) 得以实现。 5 最后,总结本文所做的主要工作,并展望了下一阶段的工作。 关键词:软件构件;刻面描述:构件检索;本体;o w l a b s t r a c t s o f t w a r er e u s ei sr e g a r d e da sa ne f f i c i e n tw a yt op r o m o t ee f f i c i e n c ya n dq u a l i t y o fs o f t w a r ep r o d u c t i o n h o wt of i n do u tt h en e e d e dc o m p o n e n ti nt h eu s e a b l e c o m p o n e n tw a r e h o u s ei sad i f f i c u l tp r o b l e mw h i c h n e e dt os o l v e h o w e v e r , w i t ht h e a p p l i c a t i o no fi n t e r n e tw i d e l y , t h e r ew i l lb em o r ed i f f e r e n tc o m p o n e n tm o d e l s t h e s u c c e s so fc o m p o n e n t b a s e da p p l i c a t i o nd e v e l o p m e n th a sb e e ni m p e d e db yt h el a c k o fs u i t a b l et o o l st h a te n a b l ed e v e l o p e r st os e a r c ha n ds e l e c tt h er i g h tc o m p o n e n tf o r t h e i ra p p l i c a t i o n s t h et r a d i t i o n a lc o m p o n e n td e s c r i p t i o na n dr e t r i e v a lt e c h n o l o g i e s ,s u c ha st h e f a c e t b a s e dc l a s s i f i e da n dd e s c r i p t i o no fc o m p o n e n tr e t r i e v a l ,l a c k i n gt h es e m a n t i c i n f o r m a t i o no fc o r h p o n e n t s i t sh a r dt of i n dt h ee x a c tc o m p o n e n t ,t h ep r e c i s i o na n d t h er e c a l li sn o tv e r y h i g h t h i sp a p e rb r i n g st h eo n t o l o g yt e c h n o l o g yb a s e dt h ef a c e tc l a s s i f yd e s c r i p t i o n , e s t a b l i s h i n gb a s e do nt h es e m a n t i cc o m p o n e n tc l a s s i f i c a t i o na n dt h ed e s c r i p t i o n s t r u c t u r e ,i tc a ne s t a b l i s ht h es e m a n t i cc o m p o n e n t - b a s e d ,a n de x t e n d i n gt op a r s et h e q u e r yr e q u e s tb yt h eo n t o l o g yi no r d e rt oi m p r o v et h ep r e c i s i o na n dr e c a l l t h i sp a p e r r e s e a r c h e so nh o wt od e s c r i b et h ec o m p o n e n ta n dr e t r i e v a lt h ec o m p o n e n to nb y o n t o l o g yt e c h n o l o g y i nt h i sp a p e r , t h ew o r k si n v o l v e di nt h ef o l l o w i n gp a r t s : 1 f i r s t l y , a n a l y z e d t h ec l a s s i f i e da n dr e t r i e v a lt e c h n o l o g i e so fs o m e r e p r e s e n t a t i o n a lc o m p o n e n ts y s t e m sc u r r e n t l ya n ds t r e s st h ef a c e td e s c r i p t i o nm e t h o d , i n t r o d u c ex m la n dt r e em a t c h i n gt h o u g h ta n dr e l a t e dt h e o r i e sa n dp r o p o s e st ou s et h e x m lt or e a l i z et h ef a c e td e s c r i p t i o np r e c e p t r e f e rt ot h el e a r n i n gf r u i t ,a n a l y z e st h i s p r e c e p tf r o mt h ea s p e c t sl i k et e c h n o l o g yi m p l e m e n ta n de v o l u t i o na n dg i v eas p e c i f i c r e a l i z a t i o no ff a c e td e s c r i p t i o nt os t r i k eu pt h ec o m p o n e n td a t am o d e lo fc o m p o n e n t s y s t e m 2 a c c o r d i n gt o t h er e s e a r c ho nt h ed e f i n i t i o n s ,d e s c r i p t i o nm e t h o d sa n d c o n f o r m a t i o nt o o l so fo n t o l o g ya n dh o wt oc o n s t r u c tt h eo n t o l o g y , w ec h o o s eo w l ( w e bo n t o l o g yl a n g u a g e ) a st h ed e s c r i p t i o nl a n g u a g e ,d e f i n e sc o n c e p t s a n d r e l a t i o n s h i p sa m o n gc o n c e p t se x p l i c i t l ya n df o r m a l l y t h e np r o p o s e sa no b je c t o r i e n t c o n f o r m a t i o nm e t h o do fo n t o l o g y , a n du s ei tt oc o n s t r u c tt h ec e m ( c o l l e g e e d u c a t i o nm a n a g e ) d o m a i no n t o l o g y 3 t h i sp a p e rb r i n g st h eo n t o l o g yt e c h n o l o g yb a s e dt h ef a c e tc l a s s i f yd e s c r i p t i o n , l i c o m b i n e st h ef a c e td e s c r i p t i o ni n f o r m a t i o na n dd o m a i ni n f o r m a t i o n ,p r o p o s e s a l o g i c a lm o d e lo fc o m p o n e n tb a s e d o no n t o l o g ya n df a c e tf o rt h es e m a n t i cr e t r i e v a lo f c o m p o n e n t t h i sm o d e lc o m b i n e st h ef a c e td e s c r i p t i o ni n f o r m a t i o n a n dd o m a i n i n f o r m a t i o n ,c o n s i d e rt h es e m a n t i ci n t e g r a l i t yo ft h ec o m p o n e n ts u f f i c i e n t l y 4 t h i sp a p e rp r o p o s e st h er e t r i e v a lm o d e la n da r i t h m e t i cb a s e do no n t o l o g ya n d f a c e td e s c r i p t i o n ,a n dr e a l i z e dt h i sf u n c t i o ni nc p a p ( c o m p o n e n tp r o d u c ea n d a s s e m b l yp l a t f o r m ) 5 f i n a l l y ,t h em a i nw o r k si nt h ec o m p o n e n ta r e aa r es u m m a r i z e da n dt h en e x t s t a g ew o r k s a r em e n t i o n e d k e yw o r d s :s o f t w a r ec o m p o n e n t ;f a c e td e s c r i p t i o n ;c o m p o n e n tr e t r i e v a l ; o n t o l o g y ; w e bo n t o l o g yl a n g u a g e i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表 示谢意。 学位论文作者签名:签字日期:年 月 日 学位论文版权使用授权书 本学位论文作者完全了解江西师范大学研究生院有关保留、使用 学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅。本人授权江西师范大学研究生院 可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 签字日期:年月 日 导师签名: 签字日期:年月 日 基于本体与刻面描述相结合的构件检索研究 1 绪论 1 1 论题研究背景及意义 六十年代出现的“软件危机”的现象导致了有关软件复用的研究。1 9 6 8 年 秋季,n a t o ( 北大西洋公约组织) 的科技委员会召集了近5 0 名一流的编程人 员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机 的对策。在那次 会议上,m c l l r o y 的论文“大量生产的软件构件”首次提出了可重用软件构件库 的思想以及形式化软件复用的概念。 软件复用的目标是致力于提高软件生产效率和软件质量,如果每个应用软件 系统的开发都从头开始,其中必然存在大量的重复劳动,软件复用是一条提高软 件生产效率和软件质量的切实可行的解决方案,其出发点是应用系统的开发以已 有的工作为基础,充分利用已有系统的开发中所积累的知识和经验进行新的开 发,这样软件开发的重点就可以集中于应用系统中的特有构成成分上【l 】。通过软 件复用,消除了包括分析、设计、实现、测试等软件开发过程中的重复劳动,提 高了软件开发效率,通过复用已有的开发成果,避免了由于重新开发可能引入的 错误,从而可以不断提高软件产品的质量。 经过了几十年的努力与发展,软件复用的思想虽然己日趋完善与成熟,软件 复用的方法却并没有在软件生产中被广泛地系统化与实践化【扪。软件构件技术被 认为是有效提高软件生产率、缩短软件产品交付时间和提高软件质量的新途径, 被视为支持软件复用的核心技术之一。 软件行业的工业化生产的快速发展,促进了软件构件技术的产生和发展。软 构件是目前支持产品复用的有效形式,它受到了学术界和产业界的广泛重视。构 件作为一个可以独立支付的软件单位,具有相对独立的功能和复用的价值。构件 技术的不断发展与成熟为软件开发提供了新的方法学,围绕构件技术也展开了 炭量的研究,在一些领域也得到了有效的应用,软件构件技术研究的不断深入, 尝然会导致软件生产方式的变革,极大的提高软件生产的效率和软件产品质量。 也是当前复用研究的焦点。同时,在分布对象研究领域,软件构件技术也是一个 重要内容。当前软件构件技术被视为实现成功复用的关键因素之一。软件复用技 术的广泛j 蔓用将促进软件产业的变革,使其重组分工,软件构件生产必将成为独 立的行妙而存在这种变革对我国软件产业的发展将是一个很好的机遇。 硕i :学位论文 近几年来,构件技术的发展和基于构件的软件开发( c b s d ) 的提出,使得构件 库的建立成为发展的必然趋势。目前,与构件库相关的技术研究主要包括构件的 描述与分类、验证、存储、检索、评估与反馈以及构件库的互操作等。其中如何 有效地分类构件和准确地检索构件是构建构件库的两个关键技术问题。 。 随着不同领域的可复用构件的增多,在数量庞大的构件库中检索所需要的构 件以及充分理解构件很困难,对准确检索构件造成了很多不便。传统的构件库管 理系统采用枚举、关键词、刻面等检索方法,这些方法由于不能从语义上支持 对构件检索,因此构件检索的查全率和查准率都不高。此外,网络的高速发展和 普及,分布式、异构构件信息系统的出现,对构件检索提出了更高的要求,要 求构件检索能够处理分布、异构情况,而现在已经存在的一些构件检索系统处理 这些情况的时候存在一些不足。 针对上述问题,本文利用本体在知识表示和知识描述方面的优势,在构件 检索中引入本体,设计了一个比较合理的软构件本体模型,结合语义检索算法, 对用户提交的查询请求进行语义扩展和推理,提高了构件的检索效率,同时为分 布、异构构件库的准确、全面、方便的构件检索提供了帮助。 1 2 国内外研究现状和主要存在的问题 1 2 1构件库及构件检索国内外研究现状 构件库作为软件复用的基础设施,成为近十几年来软件复用的研究热点和重 点。国内外学术界对可复用构件库系统及其相关技术进行了比较深入的研究。当 前,已经出现了不少构件库系统和原型,它们都基于一些共同的观念,同时,它 们之间存在一定的差异,主要表现在各个构件库采用的技术、系统的侧重目标, 以及处理的构件类型和形态等方面。 下面介绍一些典型的构件库系统以及它们所使用的构件分类模式及其相应 的检索机制。 1 r e b o o t 构件库系统1 3 j : 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 ) 是欧盟信息技术计划e s p r i t 中的一个项目,是一个包括储存 可复用构件的数据库和一组产生、认证、插入、提取、评价和适配可复用 构件的工具的环境,目标是研究、开发以及推广复用驱动的和面向对象的 软件技术。r e b o o t 系统是9 0 年代初期国际上比较著名的构件库系统,它 对构件进行分类时采用了刻面分类策略,包括抽象、操作、操作对象、依 赖四个刻面,主要针对源代码级别的构件。使用这四个刻面为面向对象构 2 基于本体与刻面描述相结合的构件检索研究 件分类时,抽象刻面常为类名,操作刻面常是类的方法,操作于刻面描述 与之合作的其它构件,其术语空间与抽象刻面是基本一致的。 2 青鸟构件库管理系统( j b c l m s ) 【4 】:j b c l m s 是国家“九五”重点科技攻 关项目一“软件工程环境工业化生产技术及系统研究开发”中的核心组成 部分之一。青鸟构件库系统采用的是以刻面分类为主、多种分类模式相结 合的构件表示方法,定义了使用环境、应用领域、功能、抽象层次、表示 方法等五个刻面。 3 a g o r a 构件搜索引擎【5 l :a g o r a 是c m us e i 开发的一个构件搜索引擎,s e i 的一些研究人员认为传统的构件库是一种大型的集中式系统,可访问性和 可扩展性都有限,随着各种商业构件标准的建立与发展,在i n t e m e t 的各个 节点上存在着大量可复用的标准构件,因此,应该研究一种在i n t e m e t 上搜 索这些构件的工具。a g o r a 通过对w 曲页面的搜索来获取构件u r l 等相关 信息,采用和普通搜索引擎相同的方式管理构件信息。a g o r a 构件库系统采 用刻面分类作为主要分类方法,定义了a b s t r a c t i o n 、o p e r a t i o n s 、o p e r a t e so n 、 d e p e n d e n c i e s 四个刻面来描述系统所存储的面向对象的源代码构件。 4 n a t o 模型【6 】:n a t o ( n o r t ha t l a n t i ct r e a t yo r g a n i z a t i o n ) 提出了一种刻面 分类模式,刻面之间不存在正交关系,也不要求每个构件在每个刻面中有 描述。一组典型的刻面可能包括:对象、功能、算法、类型、语言和环境。 在对一个构件进行分类时,不一定所有的刻面都出现。刻面术语具有同义 词关系,一组同义词表达一个概念,术语空间由这些术语构成,术语之间 没有一般特殊关系,即术语空间是非结构化的。 5 3 c 模型:是一种参考模型,是学术界普遍认同的一个具有指导性作用的构 件模型。认为一个理想的构件描述应当涵盖三个方面的内容:概( c o n c e p t ) 、 内容( c o n t e n t ) 和语境( c o n t e x t ) 。 除了以上介绍的四种构件库之外,图1 - 1 中列出了部分其它构件库中所使用 的构件检索技术口1 。 1 2 2 目前构件检索存在的问题 1 传统的构件库管理系统采用枚举、关键词、刻面等分类描述方法,这些 方法都存在一定的缺陷,对构件的检索停留在语法层次上,不能从语义上支持对 构件描述和检索。 2 现有的各个构件库系统各自采用不同的数据模型、分类模式和术语,妨 碍了构件库之间软件资产的共享,无法实现库的共享。 3 硕上学位论文 系统组织 表示与检索构件类型 状况 c a t a l o g b e l ll a b s 不受控关键词c 函数、t r o f f 宏块 已部署 r e u s et i 受控关键词已部署 l a s s i eb e l ll a b s a i 框架c 构件原型 b a u h a u s i n f e r e n c e 公司 a i 框架a d a 构件 已部署 p l a n e t e x t f i g m c c 超文本c 函数原犁 s e e ru n i v o fm a i n e 超文本b o o c h 构件原型 r l f u n i s y s 语义网a d a 构件已部署 a s s e tl i b r a r y g t e 刻面f o r t r a n 构件已部署 r s l i n t e r m e t r i c s 不受控关键词、枚举a d a 构件己部署 m e sb e l ll a b s 基于规则p m 构件原型 r e u s e w e s t i n g h o u s e枚举、刻面a d a 构件 产品 c a m p - p e s 美国空军枚举、属性a d a 构件已部署 p r o t e u s 属性、关键词、刻面、u n i x _ t 具原型 枚举 图1 - 1 部分构件库的构件检索技术 1 3 本文的研究内容和主要工作 本文首先介绍和分析了当前有代表性的构件库系统的分类和检索技术,然后 介绍了x m l 、树匹配模型以及本体的相关技术特点。在这些研究工作之后,在构 件的刻面检索的基础上引入本体,结合刻面分类信息和领域信息,建立起软件构 件本体模型,提出了基于本体和刻面描述相结合的模式和算法,对用户提交的查 询请求进行有效的语义扩展和推理,提高构件的检索效率,提高查全率和查准率。 本文的主要工作如下: 1 首先对当前有代表性的构件库系统的分类和检索技术进行分析,重点分 析了构件的刻面分类方法,提出采用x m l 技术实现构件的刻面描述方案,介绍了 x m l 以及树匹配模型相关技术特点。参照国内外相关学术成果,从技术实现、发 展演化等方面对该方案作了较详细的分析,给出了具体的刻面描述实现,从而建 立起软件构件库系统的构件数据模型。 2 对本体的定义、描述方法、构建工具以及如何构建进行研究,采用o w l 语言对本体进行描述,形式化地定义概念及概念之间的关系,提出了一个面向对 象的领域本体构建方法,并根据该方法建立c e m ( 高校教育管理) 领域本体。 3 在构件的刻面检索的基础上引入本体,结合刻面分类信息和领域信息, 建立了一个比较合理软件构件本体模型,用于软构件的语义检索。该模型结合了 构件的刻面分类信息和领域信息,充分考虑了本体的语义完整性。提出了基于本 4 基于本体与刻面描述相结合的构件检索研究 体和刻面描述相结合的模型和算法,对用户提交的查询请求进行有效的语义扩展 和推理,提高构件的检索效率,提高查全率和查准率。 1 4 论文的组织与结构安排 本文共分七章,第一章为绪论,介绍了课题的研究背景和意义、构件检索国 内外研究现状和构件检索主要存在的问题、本文的研究内容和主要工作以及论文 的结构和本章小结。 第二章详细阐述了软件构件的定义,从构件的描述与分类,以及目前存在的 典型的构件描述模型等方面对当前有代表性的构件库系统的分类和检索技术进 行分析。并介绍了构件检索的评价准则。 第三章重点分析了构件的刻面分类方法,介绍了x m l 以及树匹配模型相关技 术特点,提出采用x m l 和树匹配思想实现构件的刻面描述方案。阐述构件的刻面 检索以及刻面检索的原理,同时指出了刻面检索的不足之处。 第四章详细阐述了本体的定义、描述方法、构建工具以及构建准则和方法进 行研究,采用o w l 语言对本体进行描述,形式化地定义概念及概念之间的关系, 提出了一个面向对象的领域本体构建方法,并根据该方法建立c e m ( 高校教育管 理) 领域本体。 第五章在本章中提出了基于本体和刻面描述相结合的检索模型和检索步骤。 对于本体的语义扩展和推理理论进行了论述,并在最后给出现实可行的算法并对 该算法进行了分析。 第六章,本文首先对构件生成与组装平台( c p a p ) 和关键实现技术进行了 简介,介绍了c p a p 平台构件检索模块结构图,给出了c p a p 平台中构件检索的 刻面实现,建立了c e m 领域本体库,最后在c p a p 平台实现了基于本体和刻面 描述相结合的模型。 第七章总结与展望,总结全文,对于构件刻面描述的工作做出总结,并提出 进一步要完成的工作。 5 硕上学位论文 2 软构件技术和构件检索方法综述 2 1 构件概念 2 1 1构件定义 软件构件技术是支持软件复用的核心技术,是近几年来迅速发展并受到高度 重视的一个学科分支,其主要研究内容包括构件获取,构件模型,构件描述语言, 构件分类与检索,构件复合组装和构件标准化。 下面是目前构件的一些定义: 1 9 9 8 年,i a n g r a h a m 给出的构件定义如下:构件( c o m p o n e n t ) 是指一个对 象( 接口规范、或二进制代码) ,它被用于复用,接口被明确定义。构件是人微 言轻个逻辑紧密的程序代码包形式出现的,有着良好的接口。 构件是指应用系统中可以明确辨识的构成成分【8 j 。 构件是自包含的、可清晰标识的片断,执行特定的功能,有着清楚的接口、 恰当的文档和已定义的复用状态【9 1 。 构件是可以被复用的软件实体,由构件规约与构件实现两部分组成0 1 。 构件是一个带有契约化接口规约和显示上下文依赖的组成单元,构件可以被 独立发布并且可以被第三方组装【l l 】。 软件构件是一个可以独立交付的软件单元,封装了设计和实现的内容,并向 外提供接口,通过接口与其它构件组装成更大的整体【12 1 。 构件代表一个自包含的实体,能够向其环境输出功能并可通过定义明确的开 放接口从环境输入功能【l3 1 。 总的来说,不论哪种定义,可复用构件应具备以下几个基本要求: ( 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 ) 适应。i 生( a d a p t a b i l i t y ) :构件应该易于通过参数化等方式在不同语境中 进行配置; ( 5 ) 可移植性( p o r t a b i l i t y ) :构件应能在不同的硬件运行平台和软件环境中 工作。 6 基于本体与刻面描述相结合的构件检索研究 2 1 2构件的形式化描述 构件可以用一个四元组来表示: 构件( 构件标识符,构件说明,构件体,接1 :3 ) h 。 其中构件标识符是构件在构件库中的唯一标识。把构件说明、接口和构件体 分开的原因是考虑到同一个构件说明可以由不同的程序设计语言来实现。即使同 一个构件可以有多个不同语言实现的构件体。值得说明的是,构件的接口不仅 要提供外部物理实现接口,而且还要提供一个外部逻辑接口,外部逻辑接口是 给用户提供一个非形式化的该构件的功能描述,这样更能方便用户了解和使用构 件。 构件技术与面向对象技术紧密相关。构件和对象都是对现实世界的抽象描 述,通过接口封装了可复用的代码实现。构件与对象的主要区别: ( 1 ) 在o o 设计中,对象( 类) 、封装和继承三者缺一不可;但对构件来说 可以没有继承性,只要实现封装即可。 ( 2 ) 从构件和对象的生成方式上,0 0 中的对象生成属于实例化的过程,比 较单一;而生成构件的方式较多。 ( 3 ) 在对构件操作时不允许直接操作构件中的数据,数据真正被封装了; 而通过公共接口操作,对象的数据是可能被访问操作的。 ( 4 ) 0 0 中的对象对软件重用是通过继承实现的:构件对软件重用不仅可以 通过继承还可以通过组装时的引用来实现。 2 2 构件的分类检索技术 2 2 1构件分类检索的必要性 软件复用被视为提高软件生产率和质量的有效途径,如何在可复用的软件构 件仓库中找到需要的构件是一个需要解决的难题。随着网络技术的广泛应用, 不同构件模型的复用构件将不断增多,能否提供一个有效的工具或方法,使开发 者检索和选择到能符合新系统需要的构件成为基于构件的软件开发面临的一个 核心问题。 对单个构件的复用可以划分为构件的识别与检索、构件理解和适应性修改三 部分,复用公式为: 复用成本= 检索成本+ 理解成本+ 修改成本【7 】 从该复用公式可以看出,有效的检索机制能够降低构件复用成本。因此,在 构件库技术中,构件检索是一项非常关键的技术,好的检索机制可以使检索者容 7 硕七学位论文 易获得真正需要的构件。多年来国内外研究人员对构件检索机制方面做了大量的 研究工作,也取得了一定的成果。 2 2 2构件的分类技术 从构件的表示出发,w f r a l 【e s 将现有的构件分类方法划分为人工智能方法、 超文本方法和信息科学方法三类。其中,信息科学方法在实际构件库的项目中应 用较为成功。信息科学方法又分为基于受控词汇表( 如枚举、刻面) 分类和基于 不受控词汇表( 如关键词) 分类两种形式。其中关键词分类、枚举分类、属性 值分类、刻面分类是构件库中较为常见的分类方法【1 4 】,如图2 - 1 所示。 图2 - 1 信息科学方法编目方法分类图 构件分类是软件复用的关键问题之一,目前已经有多种不同的分类方法用于 组织软件构件,以便构件的查询和检索。构件分类就是采用某种方法把一些特征 上类似的对象归并到一起,将构件共同组成的集合分成若干个子集,每个子集的 元素具有类似的特征,通过它所具有的特征来检索和定位构件。构件分类是构件 检索的前提,只有合适的分类方法才能更好地满足检索的需要。目前,常用的分 类方法有以下几种: 1 ) 枚举分类:将一个被关注的领域严格划分为不相交的子领域,依次构成 层次结构。该方法对领域进行清晰的高度结构化的划分,易于理解和使用;但是 该方法过于严格,使得分类模式难以伴随领域的演变而改变,所能够表示的关系 也受到限制。枚举结构的创建者必须具有完整的领域知识,较难建立合用的枚举 结构。枚举分类模式提供了一维信息的分类形式,其构件是线性分类的。这一分 类模式可按层次结构来组织实现。 2 ) 属性值分类:该分类中每部分由属性和相关的值的集合所描述。与刻面 分类相似,所不同的是刻面对应的术语空间是有限的不定空间,而属性的值域往 往是无限的确定空间,刻面的选择也远比属性要慎重。 3 ) 层次分类是另外一种常见的分类方法,它用“自然的”或“逻辑的”方 法把每个主题划分为多个分区,最大可能地把相似主题的条目项聚类到一起。 8 基于本体与刻面描述相结合的构件检索研究 4 ) 关键词分类:关键词分类简单而且普遍,每个构件以一组与之相关的关键 词编目,一般认为关键词的取值不受限制。由于关键词缺少上下文语境而不够精 确,导致该方法所支持的查询效率不高。 5 ) 刻面分类:由术语或刻面、刻面的值的集合描述。将术语置于一定的语境 中,从反映构件本质特性的不同刻面对构件进行分类。每个刻面中有一组术语, 术语间由于有一般特殊关系和同义词关系而形成结构化的术语空间,由表示领域 手工编码知识的要领组织起来。与枚举等分类方法相比,刻面方法更灵活、精确, 具有较好的扩展能力。 这些分类存在的一些问题: 枚举分类的索引必须手工建立,开销大,易产生错误,一个部分的概念模糊 可能让该部分适用于配置中的多个位置,难以定位,且结构不容易平衡,相同类 型的部分较多而另一引起很少的局面很难灵活使用。 属性值分类比较容易理解并且可以部分自动化,但是需要比较复杂的检索机 制,也同样具有枚举分类中模糊性带来的缺点。 关键词分类由于缺少上下文语境而不够精确,导致该方法所支持的查询效率 不高。 2 2 3构件的检索技术 构件检索是一项非常关键的构件库技术。多年来研究人员对此做了大量的工 作,构件检索方法可以归结为三类:基于外部索引的检索、基于内部静态索引的 检索和基于内部动态索引的检索【l5 1 。 基于外部索引的检索:如常见的关键词检索、刻面检索和基于属性的检索等。 这类检索大多是控制词典、属性等外部索引对构件进行检索。几乎所有的研究都 认为提供自动化支持是必要的,自动索引、分层浏览和查询条件的简单规约和自 动生成有助于提高效率、增加重用机会和提高重用质量。 基于内部静态索引的检索:根据构件自身的结构元素进行检索构件,其中构 件规约的语法和语义匹配、结构匹配技术等是主要方法。到目前为止,规约的语 法匹配已研究的比较充分,语义匹配也形成了一般性的方法。但是,构件规约的 语义表达能力非常有限并且语义表达形式也十分复杂。 基于内部动态索引的检索:利用构件的可执行特性进行检索,基于行为的检 索是目前这类检索中最常见的方法。由于实际应用的复杂性,基于行为的检索目 前只停留在研究阶段。 9 硕士学位论文 2 3 构件检索的评价准则 每种构件检索策略的代价是该检索策略的关键,如果某检索策略代价高于对 重新丌发的代价则该检索策略是失败的。 检查效率主要包括查全率、查准率和查询时间三个重要参数。在具有多种分 类方法的构件库中,需要考虑不同检索方法,查到的构件集间的关系,即交迭率, 可以用查全率、查准率和交迭率来定义检索效果1 7 1 。具体定义如下: 杏企东一i 检索到的相关构件集合l 一一。 l 库中所有相关构件集合i 杏准塞:! 竺室至! 堕塑苤塑堡堡全! 一一。 i 检索到的所有构件集合i 交迭率= 器爿 其中:lxi 表示集合中的元素个数,m 1 和m 2 分别为两种不同检索方法查 到的构件集合。 2 4 本章小结 本章给出了构件的定义和构件的形式化定义,并讨论了目前存在的典型的构 件描述模型构件的分类和检索方法,描述了各种方法存在的优缺点以及适用的范 围并介绍了构件检索的评价准则。 1 0 基于本体与刻面描述相结合的构件检索研究 3 基于刻面分类的构件检索 3 1 刻面检索综述 3 1 1刻面检索概述 刻面( f a c e t ) 这个术语最早使用是在5 0 年代,分别出现在r a n g a n a t h a n 的 图书馆分类系统中和g u t t m a n 的一项社会调查中。但是那时的刻面概念还比较模 糊,刻面之间也存在着语义上的交迭等诸多不合理因素【1 6 】。刻面分类方法是由 一组描述构件本质特征的刻面所组成,每个刻面从不同的视角对构件库中的构件 进行精确的分类,刻面是一个单词或短语的固定集合,用于描述构件的某个方面 或视角。每个刻面具有一组术语,术语之间有类层次关系和同义词关系而形成结 构化的术语空间。不同的刻面( 刻面,术语) 构成分类中子集合中元素的满足条件。 构件的描述术语仅限在给定的刻面之中选取,在术语空间中游历可以帮助复用者 理解相关领域。 构件的刻面描述具有下列特点: ( 1 ) 刻面必须充分明确地描述构件库中全体构件,即每一个构件都可以用刻 面分类。 ( 2 ) 每一个刻面与一个术语空间相关联,任意两个刻面的术语空间是正交的, 即一个刻面的术语发生变化不会影响到另一个刻面的术语空间。 ( 3 ) 一个刻面的术语空间为有限的不定空间,即可以随时间的演进而动态地 增加和删除术语。 ( 4 ) 每一个构件的所有刻面必须予以定义,不允许在对构件分类时有未定义 的刻面:但查询时用户可以利用任意数目的刻面来查询。 ( 5 ) 库管理者对构件进行分类时,应该针对每一个刻面,从术语空间中选择 适当的术语可以是多个术语,来完成构件的封装工作。 ( 6 ) 一个术语空间中的术语按一般特殊关系形成树状的层次结构,每一个术 语附带有不定数目的同义词( 术语间可以具有同义词关系) 。 定义3 1 :刻面分类( f a c e tt a x o n o m y ) 用多个刻面描述给定构件特征的方法, 其中每个刻面刻画构件的一个属性。 3 1 2构件的刻面描述模型概述 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 dt e c h n i q u e s ) 是欧盟信息技术计划 e s p r i t 中的一个项目,是一个包括储存可复用构件的数据库和一组产生、认证、 硕十学位论文 插入、提取、评价和适配可复用构件的工具的环境,目标是研究、开发以及推广 复用驱动的和面向对象的软件技术。r e b o o t 系统是9 0 年代初期国际上比较著 名的构件库系统,它对构件进行分类时采用了刻面分类策略,包括抽象、操作、 操作对象、依赖四个刻面,主要针对源代码级别的构件。使用这四个刻面为面向 对象构件分类时,抽象刻面常为类名,操作刻面常是类的方法,操作于刻面描述 与之合作的其它构件,其术语空间与抽象刻面是基本一致的。 青鸟构件库管理系统( j b c l m s ) :j b c l m s 是国家“九五”重点科技攻关 项目“软件工程环境工业化生产技术及系统研究开发”中的核心组成部分之一。 青鸟构件库系统采用的是以刻面分类为主、多种分类模式相结合的构件表示方 法,定义了使用环境、应用领域、功能、抽象层次、表示方法等五个刻面。 3 c 模型是1 9 8 9 年由一些系统工程领域的专家提出的,是学术界普遍认同 的一个具有指导性作用的构件模型。认为一个理想的构件描述应当涵盖三个方 面的内容:概( c o n c e p t ) 、内容( c o n t e n t ) 和语境( c o n t e x t ) 。概念用于描述 构件的功能,构件的概念依靠它的接口说明及所执行操作的语义描述表现出 来,使用者可以从概念描述中了解它的功能;内容描述构件怎样完成概念所描 述的功能,它是概念的细化描述;语境描述构件与其它构件的关系。3 c 模型 是一个高抽象层次的、可裁减的、可扩展的一个构件描述的指导性模板,它主 要用于对构件的可复用信息的描述。3 c 模型的描述主要由构件生产者提供。 基于3 c 模型的软构件描述语言允许刻画类属构件属性,更适合于形式化的方 法和语言。 3 2 刻面检索过程 构件刻面检索的具体过程阐述如下:首先,由用户输入查询的信息,然后由 系统提取用户查询信息,形成查询树。检索系统将调用匹配算法,将查询树与构 件库的刻面分类方案树进行匹配处理,若查询结果为空,寻找相近术语,并重新 组织查询。最后查询出的构件,算法将按级别排序反馈构件给用户,用户根据需 要选择合适构件。 。 由于一个构件库中的构件都是被同一个刻面分类方案所描述,所以各个构件 的刻面描述树的内部节点都是刻面分类方案树的某一部分,所不同的只是叶子节 点上的刻面描述术语。因此,在检索前,可以先将查询树与该构件库的刻面分类 方案树进行一次匹配,将匹配过程中有关节点的匹配信息记录下来,利用这些信 息可以简化查询树与构件的刻面描述树的匹配过程。这样可以大大提高检索过程 的效率。 1 2 基于奉体与刻面描述相结合的构件榆索研究 基于刻面检索的过程如图3 1 所示: 牌职用户查询信息l l 选撵蜜i 巍撵;芋 i 0 p 獭荡i l 扩 控猫面查找觋院构件 毒y 迥壁 - l i 寻找掴近术诱整黝织屯 毒毒_ 按硪手一询l 构件搜缀黝扫e 廖 上 选择裔透掏件 i 图3 - 1 刻面查询过程流程图 3 3 构件的描述语言选择 采用刻面分类的构件描述可以展开为一棵刻面描述树,而x m l 语言本身的 树结构特征,及其良好的规范性,使得x m l 语言成为构件刻面描述的上佳选择。 由于x 2 c i l 是开放的国际标准,并具有通用数据交换特性,利用它描述构件表示 将在用户和开发者之间建起沟通的桥梁。 3 3 1 x m l 概述 x m l ( e x t e n s i b l em a r k u pl a n g u a g e 的缩写,可扩展的标记语言) ,它是世 界万维网协会( w o r l dw i d ew e bc o n s o r t i u m ,简称为w 3 c ,万维网协会) 制定的 用于描述数据文档中数据的组织和安排的结构的语言。类似于h t m l ,它也是一 种标识( m a r k u p ) 语言,但x m l 关注的不是数据在浏览器中如何布局和显示,而 是关注于怎样描述数据内容的组织和结构以便数据在网络上进行交流和处理。 x m l 并不是一种新技术,它是由s g m l ( s t a n d a r dg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装饰行业公司管理办法
- 群租房监督管理办法
- 蒙城庄周拆迁管理办法
- 产业扶贫贷款管理办法
- 美甲店员工管理办法
- 肯德基员工管理办法
- 行业网格化管理办法
- 上海宠物疫情管理办法
- 仓储设施建设管理办法
- 中式餐饮运营管理办法
- 口腔护理操作评分标准框架
- 一年级开学家长会 课件
- GB/T 44425-2024假肢装配康复训练规程
- 成考语文-语言知识及运用市公开课获奖课件省名师示范课获奖课件
- 2024年初中数学人教版七年级上册新教材培训心得体会
- 建筑工程词汇表收集
- 延保服务合同范本
- T-CIET 469-2024 小型电动环卫机具技术条件
- 车位租给别人安装充电桩协议
- 大学生毕业论文写作教程(高校毕业生论文写作指课程导)全套教学课件
- 钢结构设计原理 课件 第2章 钢结构的材料
评论
0/150
提交评论