




已阅读5页,还剩48页未读, 继续免费阅读
(运筹学与控制论专业论文)基于本体的构件分层检索机制研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
s t u d y o nh i e r a r c h i c a l c o m p o n e n t r e t r i e v a lb a s e do n o n t o l o g y at h e s i s s u b m i t t e di np a r t i a lf u l f i l l m e n to f t h er e q u i r e m e n t f o rt h em sd e g r e ei nm a t h e m a t i c s b y z h a n g z h e n z h e n p o s t g r a d u a t ep r o g r a m s c h o o lo fm a t h e m a t i c sa n ds t a t i s t i c s c e n t r a lc h i n an o r m a lu n i v e r s i t y s u p e r v i s o r :d o n gc a i l i n a c a d e m i ct i t l e :p r o f e s s o r s i g n a t u r eq 嗍勘 a p p r o v e d m a y , 2 0 11 ,l 硕士学位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名:和啊彩 日期:加1 1 年y 月弓d 日 学位论文版权使用授权 学位论文作者完全了解华中师范大学有关保留、使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属华中师范大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版,允许学位论文被查c ; j 和借阅; 学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手 段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密,在年解密后适用本授权书。 非保密论文注释:本学位论文不属于保密范同,适用本授权 作者签名:狂扬如 日期:洳1 1 年,月弓泪 导师签 日期: 本人已经认真阅读“c a l l s 高校学位论文全文数据库发布章程”,同意将本人的 学位论文提交“c a l l s 高校学位论文全文数据库”中全文发布,并可按“章程”中的规 定享受相关权益 作者签名: 日期: 硕士学位论文 m a s t e r st h e s i s 摘要 随着计算机应用越来越广泛,软件需求量不断增大,为了实现软件产业的工业 化,软件的可复用性和软件构件库的设计成为领域专家的研究热点。对一个企业来 说,要利用现有的构件资源有效地开发出合适的软件需要解决一个难题:如何从海 量的构件库中查找到合适的构件。构件的有效查找是以构件的分类和检索机制为基 础的,然而,传统的构件查找方式仅仅从语法角度来考虑的,很少涉及到构件描述 的语义信息。将本体引入构件的描述和分类为解决这类问题提供了可能性。 构件功能信息是用户查找构件时关注的焦点,因此,挖掘构件的功能信息应该 成为提高构件检索效率的思考方向。同时,为了做出更合理的构件选择,用户也有 必要了解详细的构件匹配信息。 针对卜述问题,文章在基于本体的构件描述方面,利用本体的构造软件p r o t 6 9 6 建立构件的本体模型,并且采用w 3 c 提供的o w l 语言作为构件的描述语言。在构 件检索机制设计过程中充分考虑用户检索的语义信息,并通过基于f c a 的功能本 体构建算法找到构件在功能方面的层次关系。构件检索结果通过设计的分层次检索 策略以构件匹配度排序的形式呈现。 在以上构件描述的基础上,文章提出了基于本体的构件分层检索机制。设计的 检索系统完成如下一系列的工作:利用w o r d n e t 模型计算信息词汇之间的语义距离; 根据构件匹配算法计算得到匹配度;根据构建的功能本体给用户提供推荐的待选构 件列表。 实验效果通过构件系统的查准率和查全率衡量。最后的实验表明,本文设计的 基于本体的构件分层检索处理机制,能够很好地利用构件包含的语义信息,给用户 提供充分的构件推荐信息,提高了构件的检索效率。 关键词:构件检索;功能本体;语义描述:o w l ;语义匹配 硕士学位论文 m a s t e r st h e s l s a b s t r a c t w i t ht h ec o m p u t e r su s e dw i d e l ya n ds o f t w a r er e q u i r e m e n t si n c r e a s i n g ,i no r d e rt o i n d u s t r i a l i z e ds o f t w a r e sp r o d u c t i o n ,s o f t a r e sr e u s a b i l i t ys h o u l da r o u s et h ec o n c e r no f t h ef i e l do fs o f t w a r ed e v e l o p i n g n ed e s i g na n dd e v e l o p m e n to fc o m p o n e n tr e p o s i t o r y a l s os h o u l di sh i g h l yr e g a r d e df o rt h ei n c r e a s eo ft h er e u s a b l ec o m p o n e n t t ou s et h e e x i s t i n gc o m p o n e n t st od e v e l o pt h es u i t a b l es o f t w a r e ,e n t e r p r i s e sn e e dt os o l v et h e p r o b l e m :h o wt os e a r c ha p p r o p r i a t ec o m p o n e n t sf r o mm a s s i v ec o m p o n e n t s c o m p o n e n t s e f f e c t i v er e t r i e v a l i sb a s e do nc l a s s i f i c a t i o na n dr e p r e s e n t a t i o n h o w e v e r , t h et r a d i t i o n a i m e t h o d si m p l e m e n tc o m p o n e n t sr e t r i e v a lj u s tf r o mg r a m m a r , w i t h o u t c o n s i d e r i n g s e m a n t i ci n f o r m a t i o no fc o m p o n e n t r e p r e s e n t a t i o n c o m p o n e n t sd e s c r i p t i o na n d c l a s s i f i c a t i o nb a s e do no n t o l o g yi sp r o b a b l yt os o l v et h i sp r o b l e m t h eu s e r sf o c u so nc o m p o n e n tf u n c t i o ni n f o r m a t i o nw h e nt h e yr e t r i e v et h er i g h t c o m p o n e n t s ,t h e r e f o r e ,m i n i n gc o m p o n e n tf u n c t i o ni n f o r m a t i o ns h o u l db er e s e a r c h d i r e c t i o nf o rs c h o l a r st oi m p r o v ec o m p o n e n tr e t r i e v a le f f i c i e n c y m e a n w h i l e i no r d e rt o m a k em o r er e a s o n a b l ec o m p o n e n ts e l e c t i o n ,u s e r sa l s os h o u l dk n o wt h ed e t a i l c o m p o n e n tm a t c h i n gi n f o r m a t i o n i nv i e wo ft h ea b o v eq u e s t i o n s ,t h ep a p e rc o n s t r u c t sc o m p o n e n tm o d e l u s i n gp r o t 6 9 6 , a n da d o p t sw 3 cs u p p l i e do w la sc o m p o n e n t sd e s c r i p t i o nl a n g u a g e w h e nd e s i g n i n g r e t r i e v a ls y s t e m ,t h i sp a p e rf u ll yc o n s i d e r st h es e m a n t i ci n f o r m a t i o no fc o m p o n e n t s f u n c t i o n ,a n dt h e nf i n dc o m p o n e n t s h i e r a r c h i c a lr e l a t i o n s h i p st h r o u g hc o n s t r u c t i n g f u n c t i o no n t o l o g ya l g o r i t h mb a s e do nf c a c o m p o n e n t sr e t r i e v a lr e s u l t sw i l ls h o w c o m p o n e n t sm a t c h i n gd e g r e e st h r o u g ht h es t r a t i f i e dr e t r i e v a ls t r a t e g y u n d e rt h ec o m p o n e n t s d e s c r i p t i o n ,t h ep a p e rp r o p o s e so n t o l o g y - b a s e ds e m a n t i c c o m p o n e n tr e t r i e v a lm e c h a n i s m t h es e m a n t i cr e t r i e v a lm e t h o da c c o m p l i s h e sas e r i e so f w o r ka sf o l l o w s :c a l c u l a t et h es e m a n t i cd i s t a n c eb e t w e e nv o c a b u l a r i e su s i n gw o r d n e t m o d e l ;g e tm a t c h i n gd e g r e ea c c o r d i n gt ot h ec o m p o n e n tm a t c h i n ga l g o r i t h m s ;g i v eu s e r s t h er e c o m m e n d e dc o m p o n e n tl i s ta c c o r d i n gt ot h ec o m p o n e n tf u n c t i o no n t o l o g y 一 r e t r i e v a le f f i c i e n c yi sm e a s u r e dt h r o u g hr e c a l la n dp r e c i s i o n t h e e x p e r i m e n t r e s u l t ss h o wt h a tt h em e t h o dp r o p o s e di nt h i sp a p e rc a l lm a k et h eb e s to ft h es e m a n t i c i n f o r m a t i o nc o n t a i n e di nc o m p o n e n t s ,p r o v i d eu s e r ss u f f i c i e n tc o m p o n e n tr e c o m m e n d i n f o r m a t i o na n di m p r o v ec o m p o n e n t sr e t r i e v a le f f i c i e n c y k e yw o r d s :c o m p o n e n tr e t r i e v a l ;f u n c t i o no n t o l o g y ;s e m a n t i cd e s c r i p t i o n ;w e b o n t o l o g yl a n g u a g e ;s e m a n t i cm a t c h i n g : 硕士学位论丈 m a s t e r st h e s i s 摘要 a b s t r a c t 目录 第一章绪论 1 1 课题的研究背景1 1 2 国内外构件的表示与检索研究2 l - 2 1 传统的构件表示与检索技术2 1 2 2 形式化的构件表述与检索技术3 1 3 论文的研究目的和研究内容。4 1 4 论文的结构安排5 第二章构件相关知识概述 6 2 1 可复用构件的定义和特点6 2 2 构件的理论模型和描述语言。7 2 3 构件的复用和检索过程9 第三章本体论研究 1 2 3 1 本体的概念和分类1 2 3 2 常用的本体构造方法1 4 3 3 本体的形式化描述1 5 3 3 1 本体的基于代数的形式化定义15 3 3 2 本体的描述语言。1 6 3 3 3 基于o w l 的奉体表示。1 7 第四章构件功能本体和领域本体构造 2 l 4 1 基于f c a 的构件功能本体的构造。2 l 4 2 构件领域本体的构造2 4 4 2 1 概念、词汇语义的确定。2 4 4 2 2 构件描述刻面的设计2 5 4 2 3 构件的语义网模型2 6 4 2 4 构件库的本体模型一2 6 4 3 构件本体的o w l 描述和实例录入2 7 4 3 1 基于o w l 的构件本体描述2 7 4 3 2 构件实例的录入2 9 硕士学位论丈 m a s t e r st h e s i s 第五章基于本体的构件检索机制 5 1 构件库检索模型的确定一3 0 5 2 构件检索机制3 0 5 2 1 构件检索的两种算法一3 l 5 2 2 检索条件和结果集扩展3 3 5 2 3 结果处理及评价机制3 4 5 3 检索系统的实现及结果分析一3 4 5 3 1 系统的实现工具及主要方法一3 4 5 3 2 系统的功能实现效果。3 6 5 4 实验结果分析3 9 5 5 本章小结3 9 第六章总结与展望。 4 0 6 1 论文丰要内容总结4 0 6 2 工作的不足与未来研究展望4 l 参考文献 在校期间发表的论文、科研成果等 致谢 4 2 4 2 4 7 硕士学位论文 m a s t e r st h e s l 8 1 1 课题的研究背景 第一章绪论 自2 0 世纪中期以来,迅速发展起来的互联网就对软件系统发展产生了前所未有 的影响。i n t e r a c t 的普及为软件技术的发展提供了一个资源丰富的平台。软件系统作 为计算机系统的核心,随着其运行环境的变化,也经历了一系列的变革。早期的软 件是运行在面向单c p u 多c p u 的集中、封闭的环境中的,随着i n t e r a c t 技术的发 展,新一代软件系统的运行平台将转向开放、广泛连通的i n t e m e t 。i n t e r n e t 的动 态性、多变性、无统一控制的分布性等特点使得未来的软件系统在这样的环境下具 有动态协同、环境感知和在线演化的性能;软件系统的实体元素应被组织为分布、 自治、异构的构件,这些构件以自主的方式存在于i n t e r n e t 的各个节点之上。构件 之间通过各种协同的方式进行跨网络的互联、互通、协作和联盟,从而形成一种与 当前的信息w e b 类似的s o t t w a r ew e b i 引,对于这种软件形态杨芙清院士等将其称之 为“网构软件”。如今,而向对象方法和技术已成为主流的软件开发方法学,软件 复用和软件构件技术被视为解决“软件危机”的一种可行的途径。在要满足网构软 件协同性、反应性等众多性能的情况下,为了保证软件产业的工业化,尽可能避免 重复劳动,软件的可复用性已经成为领域专家重点研究的方向。 目前比较流行的面向构件软件开发技术( c o m p o n e n t - b a s e dd e v e l o p m e n t ,c b s d ) 是软件复用的一种最有效的形式【3 1 。面向构件的软件开发技术在实践中有明显的优 势,如:可以封装业务的个性和变化性,表现出更高的可靠性、提高产品质量,减 少开发的成本等。随着而向构件的软件复用技术的应用的深入,如今很多企业内部 可能积累了相当规模的领域构件,如何把这些构件进行合理地利用是实现软件复用 的一个关键。 然而,现实情况是大量可复用构件和用户查找合适构件之间存在很大的矛盾, 这导致在实际应用中软件复用的情况并不是很理想。业内一般认为,解决这类问题 的主要途径是:借助构件库实现构件的描述、管理和有效的检索。构件库是一个构 件存储器,是分类管理构件的基础设施。构件描述和检索是研究构件库管理的关键 技术,合适的构件捕述方法和检索机制将会大大提高构件检索效率,促进软件复用 技术的发展。 硕士学位论文 m a s t e r st h e s i s 1 2 国内外构件的表示与检索研究 1 2 1 传统的构件表示与检索技术 目前,有学者对现有的构件表示与检索方法进行了分类。f r a k e s 从构件出发将 现有的方法分为信息科学法、超文本方法以及人工智能方法。m i l i 则从复杂度和检 索效果的递增出发,将这些方法分为基于文本的、基于规约的编码和检索以及基于 词法描述子的方法1 4 1 。 对于f r a k e s 的分类方法,实际运用得比较多的是信息科学法,其中包括基于枚 举、基于正文检索、基于关键字、基于刻面、基于属性值等,而基于关键字和刻面 的分类和检索又是信息科学法中最常见的方法。在如今很多国内外大型构件库中, 大部分都采用的是基于刻而的分类和检索算法,或者是几种算法结合使用。如 r e b o o t 构件库模型在对构件进行分类时就采用了基于刻面的分类策略,它将构件 描述为四个刻面,分别为抽象、操作、操作对象和依赖。我国的重点科研工程 青鸟系统也是选择以刻面分类为主,关键字和属性等多种方法结合对构件库中的构 件进行分类。 基于枚举分类的技术是将构件所涉及到的领域分为严格不相关的子领域,将构 件按照某种性质分为若干子类,接着再将子类分为更小的子类,以此类推,最后形 成一个层次结构,其中每个构件位于层次结构的最底层。该方法对于问题空问形成 了清晰的划分,便于理解和使用,但它所能表示的范围受到限制,不能随着环境做 相应地改变,并且获得完整的领域知识也需要花大量的时间。基于正文的检索从描 述构件的文档中自动地提取有关分类的信息,对构件复用者没有高的要求,因此成 本较低,但在对文档进行自动分类的过程中,需要与成熟的语言处理系统相配合, 以理解构件信息的语义。基于关键字的分类是最简单也是最容易理解的一种方法。 此方法的主要思想是将构件用一组与之相关的关键词存储,复用者只需要给出足够 的关键字,就可以根据具体的匹配条件获得满足需要的构件。这种方法因为关键字 缺少语义支持导致查全率不高。基于刻面的分类与检索是从多角度、多方而对构件 做更全面的描述。它将构件的每个刻面用一定数量的关键词( 术语) 表述,术语之 间因为一般特殊关系而形成具有一定结构的术语空间,术语之间的关系可以帮助查 询者理解构件的具体信息,以方便构件选择。基于刻面描述和检索是现今被大量应 用的技术,青鸟构件库、上海构件库等都主要是采用这种方法,然而这种技术却有 不可忽视的不足,如:管理刻面分类的代价太大,因为没有定义形式化的描述方式, 使得表达能力有限,不能实现语义推理等。近几年,基于刻面的检索也发展了一些 2 硕士学位论文 m a s t e r st h e s i s 新的方法【5 - 9 】。基于属性的描述与基于刻面描述是类似的,所不同的是刻面的确定要 比属性有更多的约束。 1 2 2 形式化的构件表述与检索技术 从m i l i 提到的构件表示和检索方法的分类角度看,基于文本和基于词法描述子 的构件表示和检索方法,由于自然语言的模糊性、不完备性和不一致性使得这两类 方法同样具有不可靠和不完备等缺点。它们对于构件的描述没有反映出构件的计算 语义,不利于构件的检索。基于规约的构件表示和检索用形式化的语言描述构件, 充分反映构件的计算语义,在检索过程中量化出构件之间的匹配程度,能够为构件 的选取提供合理的参考。为了使构件的检索有更多的语义特性参与,国内外学者对 构件的形式化表示和检索做了很多研究。目前,研究比较热门的有基于规约的编码 和检索、基于本体的构件编码和检索等。 基于规约的编码与检索方法:它将构件用规约语言描述,用户首先根据自己的需 求写出需求规约,然后利用构件描述规约和需求规约之间的偏序关系检索构件。如 用二元组( s ,r ) 表示的规约米描述构件,其中s 是由所有变量的数据类型构成( 如 i n t 、r i n g 、c h a r 、r e a l 等) 的集合,称为规约空间;r 为s e - - - 元关系,称为规约关 系。如程序p r o 是定义在空间s 上的,此程序的功能可抽象定义为 p r o l = ( s l ,s 2 ) l 程 序p r o 的开始状态为s l ,结束状态为s 2 ) ,此时r 就可表示为:r = ( s 1 ,s 2 ) l p r o ( s l ,s 2 ) ) 。 从上面的表示可以看出,基于规约的编码和检索效率依赖于规约语言的表达能力, 这种方法会得到较高的准确率,但是查全率却受到限制。m i l i 等人使用关系规约和 “精化”偏序关系进行构件库的组织和管理,在构件的表示与检索方面做了很多研究, 有学者在此基础上使用抽象数据类型的代数规约来进行构件编码和检索;也有学者 用l a r c h 语言实现构件的规约,然后用包含性测试算法构造一个构件的层次结构, 其巾底层是两两不相交的构件聚类,构件的相似性由构件规约用到的原子符号的相 同数得到【4 1 。此方法的代价较高:其一,构件的规约必须考虑成本;其二,要求构 件复用者完成完善的需求规约。因此该类方法目前仍处于理论研究阶段,仅有一些 小规模的实验研究。 基于本体的构件检索:本体能形式化地表述资源,描述复杂的知识结构,因此, 它被广泛应用于信息技术领域,特别是在信息检索方面 i o - l t 】。正因为如此,近年来, 国内外很多计算机领域的研究者将研究目光投向本体工程。实际上,本体的最大贡 献在于规范某个或多个特定领域的概念和术语,为该领域的实际应用提供便利,同 时形式化的捕述为信息系统提供可复用和共享的组件。在计算机领域,本体最先用 在人工智能领域,随着研究者对本体认识的深入,本体的应用领域越来越广泛,如 3 硕士学位论文 m a s t e r st h e s i s 信息系统、语义w e b 等。 基于本体的构件描述是根据构件的模型和特性,用本体的形式对其进行图形化 和特定的本体语言表示。基于本体的构件检索融合了本体表述知识的优势,充分利 用本体的推理机制,以达到提高构件检索的查全率和查准率目的,相应的实验也表 明在构件查找中应用本体是可行的1 1 2 。13 1 。目前国内外有很多学者研究基于本体的构 件表示和检索问题,陈颖等【1 4 】提出了构造构件本体,通过条件相交的方式查找构件, 过程中因为没有考虑本体的推理功能,构件的语义信息有待充分利用;周缜1 1 5 j 主要 是对构件的叶子刻面信息和用户查找进行语义扩展以期提高查全率,然而文中忽略 了构件的功能信息这个用户查找的重点考虑因素:臧立丽等i l6 j 根据用户的需求在构 件语义信息扩展的基础上构造构件查询树,最后与构件描述树继续语义匹配;其他 学者的研究大都是是类似于此,或者主要工作在于扩展用户自然语言需求描述,没 有充分挖掘构件的功能语义1 1 7 _ 2 0 j 。 1 3 论文的研究目的和研究内容 准确的构件描述是构件库对构件进行有效管理的基础。目前,构件的描述方法 主要是基于枚举、关键字、属性等。这些构件描述和分类方法本质是按照倒立的树 的形式把所有构件分成不同的层次,在查找构件时,使用者从高到低逐层判断要找 的构件所在的层( 即所属类别) ,这种方法可以较快收敛到所要检索的构件,然而 随着构件库复杂性不断增加,单一的构件表示和检索方法越来越不能满足构件查全 率和查准率的要求。在构件复用过程中,虽然对构件的检索主要是在数据库管理系 统上完成的,但是一个合理的构件检索系统,检索的结果除了包含满足用户需求的 构件集外,还应有构件匹配度的呈现,以便为用户选择提供参考。 从上一节对构件检索的研究现状的分析可以发现,目前很多学者已经在基于本 体的构件检索机制方面做了很多研究,也得到了较好的效果。然而,他们关注的焦 点主要在两个方面:一是,基于本体的构件描述;二是,利用构件本体对用户的自 然语言输入进行一定的理解和推理。事实上,系统在查找构件时,除了需要充分理 解用户的查询需求外,还要能够挖掘利用构件功能信息。为了做出更合理的构件选 择,用户有必要了解详细的构件匹配信息。 为了解决上面提到的几个问题,考虑本体的概念化、知识共享化等特性,本文 将本体作为知识共享的理论基础引入构件的描述和检索过程。 本文在总结分析目前流行的构件捕述和检索方法的基础上,提出以下研究内容: 4 硕士学位论文 m a s t e r st h e s i s ( 1 )通过对构件特性的研究,将本体引入构件,并提出了基于本体的构件 分层检索机制。 ( 2 )简述了f c a ( 形式概念分析) 的基础知识,为了挖掘构件功能的语义 信息,提出了一种基于f c a 的构件功能本体的构建算法。 ( 3 )以w o r d n e t 本体模型为基础,利用构件应用领域语义信息的关联,计 算得出构件应用领域词汇之间的语义匹配度。 ( 4 )在开发的原型系统上实现基于本体的分层检索算法,通过实验验证这 种算法的可行性和有效性。 1 4 论文的结构安排 本文将本体论引入构件的描述,设计了构件分层检索机制。文章共分为六章, 具体安排如下: 第一章是引言。简述了文章的研究背景、构件捕述与检索的研究进展、研究内 容以及内容结构安排。 第二章阐述了构件检索相关知识。主要包括目前流行的构件描述语言,几个主 要的构件模型和构件复用、检索过程等。 第三章是本体论的研究概述。本体论被认为是计算机知识共享的理论基础,在 信息科学领域受到前所未有的关注。本章简述本体的定义、形式化表示方法、构造 方法以及描述逻辑在本体表示语言中的具体应用。 第四章介绍了基于本体的检索机制的主要准备工作,包括功能构件刻面信息的 设计、功能本体的构建、建立构件语义网和本体模型以及构件的o w l 本体描述等。 第五章介绍了检索机制的设计与实现。本章给出了基于刻面的检索算法和基于 本体的检索算法框图,并利用j e r l a ( j a v aa p i ) 、w o r d n e t 模型等实现检索算法,最后 对得到的实验结果分析,进而验证了算法的可行性。 第六章是总结与展望。本章对文中的研究内容进行总结,分析了研究工作的不 足,并对未来的研究工作提出一定的期望。 最后是本文的参考文献、在校期间发表的论文和致谢。 5 : 硕士学位论文 m a s t e r st h e s i s 第二章构件相关知识概述 2 1 可复用构件的定义和特点 要想清楚地了解基于构件的软件开发的原理,首先要弄清楚构件是什么。构件 这一术语来源于传统行业,特别是建筑业。然而,“软件构件( s o f t w a r ec o m p o n e n t ) ” 这一概念正式被提出是在1 9 6 8 年的北大西洋公约组织( n o r t ha t l a n t i ct r e a t y o r g a n i z a t i o n 。n a t o ) 会议上,对于构件的定义很多学者给出了自己的看法,但是都 可以概括为应用系统中可以被明确辨识的,并可以在系统中被复用的构成成分1 2 。 可复用构件是指具有独立的功能并能被有效复用的软件构件。其中,被封装的对象 类、一些功能模块、软件框架、文档等都可以被认为是可复用构件。由于构件是面 向求解群体问题而存在的,并且要求在未来的多个问题的求解中被复用,因此它应 该在内容的自包含性、结构的独立性、实体的适应性方面有其独到的特点。目前, 普遍认为s z y p e r s k i 的定义【2 2 j 充分体现了构件的特点:构件是一种用于组装的单元, 它具有规范的接口规约和显式的上下文依赖,构件可以被独立部署并由第三方组装 【1 】。这个定义包含了软件构件的三个重要的方面:第一,构件被定义为一个用于组 装的单元;第二,构件应该具有一定的行为规约;第三,构件具有独立的功能,并 用丁软件系统的设计之中。 构件从组成上一般被认为包括构件接口和构件规格两部分。构件接口是构件间 的契约,一个接口提供一种服务,完成某种逻辑行为。接口由两部分构成:一是名 称部分,即对构件所能提供的服务的描述;另一个是行为部分,即对构件行为的描 述。一个构件可以有一个或多个接口,反之,构件接口可以由多个构件实现,同时 也存在尚未被实现的构件接口。将构件接口和构件分开是不同构件可装配、可替换、 可组合的基础。外部访问构件是通过构件接口实现的,由于构件是对构件接口的实 现,因此构件的一些行为是可见的,也可能存在不可见的构件行为。构件规格是构 件开发商向构件使用者提供的用于进行构件组装的描述信息。这种描述信息要求能 准确、简单、直观地表达构件的含义。构件规格主要包含以下内容:构件基本信息、 构件接口信息、构件环境信息、非功能性的特性。为了让用户对构件适用性和局限 性加以有效的分析,开发商必须要有足够充分的接口和规格的描述。这就要求使用 一种或多种构件的行为模型对构件加以描述,这些模型必须能够精确地、无二义地 把握住构件的本质行为,同时又要足够抽象,以便允许开发商开发出满足定要求 的构件。有了满足条件的可复用构件,在软件设计过程中,就可以大大减少开发的 6 硕士学位论文 m a s t e r st h e s i s 成本,提高软件开发效率。 为了增强构件的可复用性,它需要满足以下特征: ( 1 ) 为了能够在广泛、开放的环境中被使用,构件需要具有主体性; ( 2 ) 具有内容和结构上的独立性。构件的内容要能够作为一个整体,封装的 内容在不改变实现细节的情况下,被重用于各个软件系统之中;接口要 有明确的定义,不仅要有能自身提供的功能接口信息,还要给出所依赖 的外部接口信息; ( 3 ) 具有在开放环境下的适应性。首先,需要有有效的构件获取方法以保证 所获取的构件可直接被复用。另外,构件需求者要能够对构件不符合要 求的部分进行修改,以更好地适应外部环境; ( 4 ) 可复用构件能够在不同的硬件平台或软件环境中工作。 通过对构件的介绍可以看出,构件的复用性主要依赖构件的独立性,它在复用 的过程中,以较大粒度的整体的形式被整合入软件系统之中。 2 2 构件的理论模型和描述语言 构件模型是关于开发可复用构件和构件之间相互通信的一组标准化的描述,它 使开发者可通过软件构件的动态组合快速建立应用系统。构件模型由构件与容器两 部分构成,其中构件是具有可复用性的基本软件部件,容器则用于存放和安排构件, 实现构件间的交互。目前,在产业界存在较多的应用广泛的构件模型,如o m g ( o b j e c t m a n a g e m e n tg r o u p ,对象管理组织) 的c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 模型【2 3 1 、微软公司的c o m ( c o m p o n e n to b j e c tm o d e l ,构件对象模型) 2 引、 s u n 的j 2 e e l 2 5 】和微软与i b m 提出的w e bs e r v i c e s 2 6 】等。这些模型的关键技术是构 件化所有的功能模块,并对这些功能模块进行复用。虽然在实际应用中,出现了很 多有意义的构件模型,但在理论上,对构件模型的定义一直处于百家争鸣的状态。 目前,有代表性的理论模型如下: 3 c 模型1 2 7 由一些系统工程领域的专家在1 9 8 9 年的“r e u s ei np r a c t i c ew o r k s h o p ” 中提出的,它是一种在学术界被普遍认同的具有指导意义的构件理论模型。之所以 称为3 c 模型是因为该模型主要是从三个特征:概念、内容、语境来描述的。其中, 概念是关于“构件做什么”的抽象描述;内容是概念的具体实现,给出构件如何完成 概念描述的功能,一般情况下,内容是对大多数用户隐藏的信息,只有那些需要修 改构件的人才必要去了解:语境是描述构件的应用环境,在构件被复h j 时,方便用 7 硕士学位论文 m a s t e r st h e s i s 户对此构件整体信息的了解。语境信息进一步可以分为概念级语境、操作级语境和 实现级语境三个方而。 r e b o o t 模型1 也称为刻面模型是一种对已存在的构件进行分类和检索的模 型。模型对构件所处的领域进行分析j 综合刻画构件各个方面属性的术语,以此来 表示构件,其中,一组基本描述构件的术语( 特征) 称为构件的刻面。r e b o o t 模 型将构件的刻面概括为4 个,包括抽象:描述构件概念;操作:描述构件所提供的 操作;操作对象:描述操作的对象;依赖:描述构件与外界的依赖关系。 青鸟模型1 2 州是一个有面向对象特性的构件模型,主要从三个视角( 形态、层次 和表示) 和九个方面定义构件模型。青鸟构件模型更多地注重构件的易理解性、封 装性及相互之间的关系,它通过给构件提供明确的对外接口实现服务提供者和其服 务请求者的分离,更多地关心构件及其使用者问的交互,特别是对构件使用者有意 义的部分。对于一个构件模型来说,主要就是要有清晰的接口定义和合理的构件组 合方式。在青鸟模型中,整个模型没有形式化的定义,这将是此模型扩展和应用的 一个主要限制因素。 s o f a ( s o t t w a r ea p p l i c a t i o n s ) 模型1 3 0 1 的目标是利用典型的构件模型,由单一 的或组合的构件构成一个应用。构件有如下特征:提供需求的接口、定义框架和体 系结构、定义连接子和行为协议。s o f a 模型支持构件动态更新,支持同一个构件 的不同版本或者同一个运行环境下运行的一个构件的不同版本,同时把构件分为固 定部分和可更新部分。s o f a 构件行为通过行为协议捕捉,为构件的形式化描述提 供良好的支持。目前,s o f a 模型已经有一个j a 、,a 的实现版本,可以实现构件的 开发和组装。 在以上理论模型研究的基础上,很多学者针对具体的应用提出一些有价值的构 件模型,尽管还没有得到广泛应用,但可以为构件模型的发展提供新的思路。如常 志明等1 3 1 】提出了一种基于a g e n t 的网构软件构件模型,网构软件作为一种新的软件 形态,势必在不久的将来成为软件的发展方向。为了适应网构软件的主体性、独立 性等特点,作者从构件角度,提出了能够适应环境变化的e b d i 结构。这是一种能 够进行自主行为的构件模型,通过动态绑定关系解释构件的演化行为。卢炎生等1 3 2 】 提出了一种具有性能约束的构件模型一c c m 。p c c m 模型有不同于其他理论模 型的特点,常规的构件模型主要是在功能复用的基础上构造,而p c c m 则着眼于构 件性能的复用。此模型的主要特点是融合了3 c 模型和r e n o o t 模型,并在此基础 上扩充,增加了构件性能描述和性能保障策略。具体的实现方式是除了定义功能接 口维,还定义了性能接口维,从而形成了二维构件模型。 8 硕士学位论文 m a s t e r st h e s i s 构件模型是构件复用的基础,为了使构件具有更强的复用性,准确的构件模型 构造是非常关键的。目前常用的构件模型主要是从构件接口和组合方式两个侧面考 虑构造的。接口信息的不完全,描述方式不确定以及组合构件行为的不可推导性是 制约合理地构造构件模型的关键因素。 为了使开发者对构件模型有更清晰的理解和认识,需要一种以构件为模型的构 件描述语言。构件描述语言( c d l ) 主要用于构件的规格说明的描述,记录相应的构 件设计策略,用于对构件的理解、设计、浏览、配置等,是设计构件检索策略的主 要依据。 2 0 世纪7 0 年代,针对构件描述的研究工作主要集巾在模块互联语言,如m i l 7 5 、 i n t e r c o l 等。直到8 0 年代,研究的重点才开始转向构件描述语言,其中有代表性的 有g o u g c n 开发的o b j 和l i l 、b e d i n 开发的a c tt w o 等,这两种语言的主要区 别是模块互联语言是描述性的,而构件描述语言是强制性的。后来,产生了将模块 互联语言融入构件描述语言的研究,主要有c d l 、c i d e r 、o o m i l 等等【3 3 】。c d l 是面向对象的构件描述语言,它将构件看成黑盒,通过接口的描述向外界提供信息, 使用者不需要了解构件的内部信息。c d l 在设计阶段对构件进行描述,具体的实现 过程利用c d l 自带的工具箱完成。 为了满足不同构件的开发,国内外很多学者总是从不同的视角提出一套自己的 构件描述语言。在1 9 9 4 年,金炳哲等提出了一种针对可重用的构件描述语言 圳e c o s 语言,它具有面向对象语言和程序设计语言的双重特性。可扩展的元置 标语言( x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 因为其具有开放的标准、可扩展性和没有 知识产权的约束等优势被大量用于构件描述语言的构造,如北京大学计算机系操作 系统实验室设计的j b c e o s 构件模型就是直接以x m l 为构件的描述语言;w c m l l 3 4 也是一种基于x m l 和w e b e o m p o s i t i o n 模型w e b 构件标记语言,它集成了x m l 语 言和w e b c o m p o s i t i o n 模型的优势,最大限度地支持构件的共享。 2 3 构件的复用和检索过程 基于构件的软件开发技术是成功进行软件复用的重要技术,而软件复用能否实 现的一个关键制约因素是要生产出具有足够- j 复用的构件。随着可复用构件数量的 逐渐增多,暖需一个有效的构件管理系统,构件库就这样应运而生。软件开发人员 为了提高软件开发效率,需要对存在于构件库的构件进行复用,也就需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Glutaramyl-CoA-Glutaramyl-coenzyme-A-生命科学试剂-MCE
- 2025年智能焊接生产线项目发展计划
- 2025年异佛尔酮项目发展计划
- 跨国调解协议的法律框架
- 广西农业市场趋势分析与建议
- 志愿服务行业市场分析与动态
- 2025河南中医药大学人事代理人员招聘13人模拟试卷及1套参考答案详解
- 2025内蒙古选聘自治区特邀行政执法社会监督员模拟试卷带答案详解
- 2025广西师范大学成果转化中心工作人员招聘1人考前自测高频考点模拟试题及参考答案详解1套
- 安全培训效果不足课件
- 2025中远海运港口有限公司社会招聘2人笔试历年参考题库附带答案详解
- 2024年无锡工艺职业技术学院公开招聘辅导员笔试题含答案
- 高压氧治疗脑卒中
- 2025年三峡银行考试真题及答案
- 2025年度哈尔滨市平房区纪委监委公开招聘雇员2人考试参考题库及答案解析
- 10KV变电送受电安全作业方案
- 2025年江西省高考化学试卷真题(含答案)
- 海上作业安全培训教学课件
- 2025年ARVR行业研究报告及未来行业发展趋势预测
- 【初中数学】单项式与单项式相乘(课件)+华东师大版(2024)数学八年级上册
- 情绪管理课2025年职场压力释放与心灵成长分析报告
评论
0/150
提交评论