已阅读5页,还剩48页未读, 继续免费阅读
(计算机软件与理论专业论文)基于语义的构件描述和检索方法的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 软件复用技术是近年来国内外软件界研究的热点之一,它能大幅度提高软件 质量和生产率,降低软件开发和维护的成本。大规模的软件复用要求有足够数量 的构件支持,对这些构件的管理涉及到的构件描述和检索方法是实现软件复用的 一项关键技术。而有效的软件复用依赖于对构件的静态特性和动态行为做出准 确、全面的描述,并提供良好的检索方法支持。 在分析了当前的构件描述和检索方法不足和问题的基础上,本文对特定领域 的基于语义的构件描述方法和检索策略进行了研究,此处语义是指构件提供的服 务在特定领域中的含义。重点研究和讨论了使用领域本体组织服务语义信息、基 于服务语义的构件描述以及在领域知识辅助下进行基于语义的构件检索,设计并 实现了支持该方法的原型系统,并在几个领域中验证了该方法的可行性和有效 性。论文研究的主要内容包括: 1 对领域本体的组成、描述方法及如何构建进行了研究。领域本体由领域 概念、概念属性和概念间的关系组成,由本体描述语言o w l 描述。o w l 的基 础是描述逻辑,它能明确地形式化地定义概念的含义及概念间的关系,因此它可 以用来在本体层次上明确地定义构件功能的语义,对构件描述、检索和构件库的 组织提供语义支持。 2 研究了基于语义的构件描述方法。在描述过程中,把构件的接口作为独 立的部分进行描述,有效的支持了基于构件软件开发中构件的灵活性、可扩展性、 可替换性等特性,并把接口表示的服务和领域本体结合起来,解释了服务在领域 中的含义。提出基于o w l 的构件、接口描述语言,支持了描述的语义和扩展性。 3 研究了基于语义的领域知识制导的构件检索方法。在该方法中,使用自 然语言确定查询,以提高检索的灵活性及使用的方便性,利用嵌入在领域本体中 的领域知识对查询进行扩充和求精,使用户在检索过程中了解更多的相关领域知 识t 有效的提高检索质量( 查全率和查准率) 和用户的满意度,对软件复用提供 了有力的支持。 关键字:软件复用,构件,领域本体,构件检索 a b s t t a c t s o f t w a r er e u s ei so n eo fh o t s p o t si nt h ef i e l do fc o m p u t e rs o f t w a r e r e s e a r c ha n dd e v e l o p m e n t i tc a ni n c r e a s es o f t w a r eq u a l i t ya n dd e v e l o p e r p r o d u c t i v i t y ,d e c r e a s et h ec o s to fd e v e l o p m e n ta n dm a i n t e n a n c e l a r g e s c a l es o f t w a r er e u s en e e d san u m b e ro fc o m p o n e n t s h o w e v e r ,t h em a n a g e m e n t o ft h e s ec o m p o n e n t s w h i c hi n c l u d e sc l a s s i f i c a t i o na n dr e t r i e v a lo f c o m p o n e n t ,i sak e yt e c h n o l o g yi ns o f t w a r er e u s e t h ee f f e c t i v er e u s e d e p e n d so np r e c i s ea n dc o m p l e t ed e s c r i p t i o na b o u tp r o p e r t i e so fc o m p o n e n t e o n s i s to fa t t r i b u t e sa n db e h a v i o r s ,a n dw e l lr e t r i e v a la p p r o a c ha sw e l l a f t e ri n v e s t i g a t i n ga n da n a l y z i n gc u r r e n tt e c h n o l o g i e so nt h ed e s c r i p t i o n a n dr e t r i e v a lt oc o m p o n e n ta n dt h e i rp r o b l e m s ,i nt h et h e s i s ,a s e m a n t i c b a s e da p p r o a c ht oc 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 li s p r e s e n t e d ,p a r t i c u l a r l yt h es e m a n t i c s i sr e f e r r e dt ot h em e a n i n go f s e r v i c ep r o v i d e db yc o m p o n e n ti ns p e c i f i cd o m a i n t h ea p p r o a c ht oo r g a n i z e d e s c r i b ea n dr e t r i e v ec o m p o n e n tb a s e do ns e r v i c es e m a n t i c sp r o v i d e db y d o m a i no n t o l o g yi si n v e s t i g a t e da n dd i s c u s s e d t h en a t u r a l1 a n g u a g eq u e r y i n t e r f a c e ,d o m a i no n t o l o g ya n dr e u s a b l er e p o s i t o r ya r ei m p l e m e n t e di na p r o t o t y p e ,a n dt h ef e a s i b i l i t ya n du s e f u l n e s so ft h ep r o p o s e da p p r o a c h a r ev a li d a t e db yt h ep r o t o t y p ei ns o m ed o m a i n s m a i nc o n t r i b u t i o n si nt h et h e s i sa r e : 1 i ti n v e s t i g a t e sd o m a i n o n t o l o g yc o n t a i n i n g d o m a i nt e r m s ,t h e i r d e f i n i t i o n s ,a n dr e l a t i o n s h i p sw i t ho t h e rd o m a i n s p e c i f i ct e r m s ,w h i c h i sd e s c r i b e db yo w l ( w e bo n t o l o g yl a n g u a g e ) o w ld e f i n e sc o n c e p t sa 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 s oo w lc a n e x p li c i t l yd e f i n ef u n c t i o ns e m a n t i c so fc o m p o n e n ti nt h el e v e lo fo n t o l o g y a n dp r o v i d es e m a n t i c st od e s c r i p t i o na n dr e t r i e v a lo fc o m p o n e n t 2 i ti n v e s t i g a t e sas e m a n t i c b a s e dd e s c r i p t i o nm e t h o do fc o m p o n e n t i n t h em e t h o d ,i n t e r f a c ei s i n d e p e n d e n to fc o m p o n e n t ,w h i c hs u p p o r t s - f l e x i b l ee x t e n s i b l ea n ds u b s t i t u t a b l ec h a r a c t e r i s t i c st o c o m p o n e n t s e r v i c e so fc o m p o n e n ta r ed e s c r i b e db yd o m a i no n t o l o g y ,w h i c hp r o v i d e s e m a n t i c so fs e r v i c ei nt h ed o m a i n d e s c r i p t i o nl a n g u a g eb a s e do no w li s p r o p o s e d 3 i ti n v e s t i g a t e sas e m a n t i c b a s e dd o m a i nk n o w l e d g e a i d e dr e t r i e v a l a p p r o a c ht oc o m p o n e n t i nt h ea p p r o a c h ,u s e rc a ns p e c i f yq u e r yi nn a t u r a l l a n g u a g e ,w h i c hy i e l d saf l e x i b l ea n dc o n v e n i e n ts e a r c h u s e r sq u e r y a r ea u g m e n t e da n dr e f i n e db yu t i l i z i n gt h ed o m a i nk n o w l e d g ee m b e d d e di n d o m a i no n t o l o g ya n dt h e s a u r u s k e yw o r d s :s o f t w a r e r e u s e ,c o m p o n e n t ,d o m a i n o n t o l o g y 。c o m p o n e n t r e t r i e v a i j l 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻 读学位期间论文工作的知识产权单位属于西北大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版。本人允许论文被 查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学 位论文。同时,本人保证,毕业后结合学位论文研究课题再撰写的文 章一律注明作者单位为西北大学。 保密论文待解密后适用本声明。 , 学位论文作者签名:! 圣 鱼釜指导教师签名:丝礁 勘n 堂年月阳日狮年6 月j 。日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,本论文不包含其他人已经发表或撰写过的研究成果,也不包含 为获得西北大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名心弓1 | 龟车 哆年月,口日 西北大学硕士学位论文 第一章引论 本章首先介绍本课题的研究背景和意义,以及相关领域的研究现状,然后给 出了本课题的主要内容和研究重点,最后是论文的结构。 1 1 研究的背景和意义 软件复用是近年来国内外软件界研究的热点之一,是大幅度提高软件质量和 生产率,降低软件开发和维护成本的一种有效途径【1 】。基于构件的软件开发 ( c b s d ) 是软件复用的一种有效形式。实践证明基于构件的开发具有如下好处: 更可靠,提高软件质量和生产率,减少技术和资金投入,缩短开发周期及产品投 放市场时间f 2 。随着复用实践和基于构件软件开发的深入,组织内部将会积累 大量自主开发的构件、购买的商业c o t s ( c o m m e r c i a l l y o f f - t h e s h e l f ) 构件和 其他组织开发的n d i ( n o n - d e v e l o p m e n t a li t e m ) 构件。这些可复用构件构成了 庞大的企业资产,对这些构件的管理涉及到的构件描述和检索方法是实现软件复 用的一项关键技术。而有效的软件复用依赖于对构件的静态特性和动态行为做出 准确、全面的描述,并提供良好的检索方法支持【3 】。 现有的构件描述方法对构件的静态特征作了较为详尽的考虑,也获得了较好 的解决方案;但对于构件的动态特征,则或者没有提供对构件行为和功能的准确 描述,或者进行了尝试但还没有提出有效的方法;而且当前的检索方法,大多采 用基于关键字匹配的检索技术,未考虑检索语义及相关的领域知识,这些都造成 低的查全率、查准率,而且这些检索技术也不能给用户提供领域知识辅助,造成 低的用户满意度。 本体( o n t o l o g y ) 作为一种能在语义和知识层次上描述信息系统的概念模型 建模工具,自提出以来就引起了国内外众多科研人员的关注,并在计算机的许多 领域得到了广泛应用【4 】。领域本体由一个领域中的术语、术语的定义以及术语 之间的语义网络组成,是获取和存储特定领域知识的有效手段。 因此,本文引入了领域本体和本体建模思想,研究了基于语义的构件描述和 检索方法并实现了支持该方法的原型系统,此处语义是指构件所提供的服务在特 定领域中的含义。主要研究了领域本体的组成、描述方法和如何构建,以及如何 西北大学硕士学位论文 对构件描述、检索和构件库的组织提供语义支持。对基于语义的构件描述方法进 行研究。在描述过程中,把构件的接口作为独立的部分进行描述,有效的支持了 基于构件软件开发中构件的灵活性、可扩展性、可替换性等特性,并把接口表示 的服务和领域本体结合起来,存储了服务在领域中的含义。研究了基于语义的领 域知识制导的构件检索方法。在该方法中,使用自然语言确定查询,以提高检索 的灵活性及使用的方便性,利用嵌入在领域本体中的领域知识对查询进行扩充和 求精,使用户在检索过程中了解更多的相关领域知识,有效的提高检索质量( 查 全率和查准率) 和用户的满意度,对软件复用提供了有力的支持。 本课题涉及信息检索、软件复用、构件描述和检索、本体等多方面的交叉, 对解决软件复用、降低软件成本和提高软件质量的关键问题具有重要的理论意 义,在指导构件库管理系统的设计具有重要的实用价值。 1 2 国内外研究现状 现有的构件描述和检索技术起源于好几个领域,目前比较有代表性的方法包 括传统的信息科学编目查询技术、基于框架、基于演绎和基于刻面的构件描述与 检索方法。 1 传统的信息科学编目查询技术 早期比较具有代表性的是使用基于关键字匹配的传统图书馆及信息科学编 目信息查询技术,这类检索方法主要是计算查询关键字与构件描述关键字之间的 匹配程度,在应用中也比较容易实现。但基于关键字匹配的查询无法体现出所查 询的关键字之间的逻辑联系,使得构件的查准率受到限制。目前已提出多种改进 方法,如s c o t t h e n n i n g e r 5 提出利用传统的图书馆和信息科学中的激活扩散思想 ( s p r e a d i n ga c t i v a t i o n ) ,在构件检索中进行了有益的尝试;m a g w o l f d i e t e rm e r k l 提出将所有构件在逻辑上组织成一个神经网络,将查询术语集转化为输入矢量, 利用神经网络的竞争算法获得结果:e d a m i a n i 6 i n 提出了基于模糊数学的、能 够根据用户反馈信息对模糊匹配值的计算参数进行自适应调节的方法。 然而,上述方法在提高构件查准率方面的效果都不够理想,而且忽略了某些 与查询关键字在描述句法上完全不同但语义上等价的构件,导致查全率的降低。 虽然通过使用s e m a n t i cn e t s ( 比如w o r d n e t ) 捕获术语间的语义联系( 同义词、 2 西北大学硕士学位论文 反义词等) 可以扩大检索的范围,从而提高查全率,但这种方法会降低查准率, 因为这些网络关注的是纯语言学方面的联系。大部分的基于文本的搜索引擎都允 许通过非精确匹配来提高查全率,但它们都是以牺牲查准率为代价的。因而基于 关键字的方法在构件描述和检索方面尚有较大的局限性。 2 基于框架( f r a m e b a s e d ) 的构件描述与检索 在软件代理和分布式计算领域提出的基于框架( f r a m e - b a s e d ) 的构件描述 和检索方法中,要求所有的构件和检索查询都用相同的预先定义好的词汇来描 述,即使用“属性一值对( a t t r i b u t e - v a l u ep a i r s ) ”来对构件进行分类描述。目前 大部分商业化的构件服务搜索技术( 例如j i n i ,e s p e a k ,s a l u t a i o n ,, u d d i ) 都使用 基于框架的方法。这种方法通过构件描述和检索查询都使用相同术语的方法来提 高查全率和查准率,但它是以要求所有的构件服务都用框架进行建模为代价的, 使其灵活性受到制约,在实践中比较难以推广应用。 3 基于演绎的构件描述与检索 b f i s c h e r 7 等人提出的基于演绎的检索方法将基于框架的方法向前推进了 一步。它首先使用逻辑方法形式化地说明构件服务的属性( 例如输入、输出、功 能 前置、后置条件,不变量】、性能等) ,然后通过证明某个构件是否实现了检 索查询所描述的服务属性来进行构件检索。这种方法要求预先定义的逻辑谓词不 存在冗余,并且对所有的构件服务和检索查询都进行了完全形式化的规约,才能 获得比较理想的查全率和查准率。 与此类似的有a m y m o o m a n n 【8 】等人针对构件的形式化规格说明提出的签 名( s i g n a t u r e ) 匹配( 接口规约) 和规约匹配( 功能规约) ,对构件的行为特征作形 式化说明以排除自然语言描述的二义性和不准确性,并且还可以利用规约说明之 间的偏序关系来组织构件库中的构件存储。基于规约匹配的构件检索能够提供层 次丰富的规约匹配类型,所以能够较好的满足用户对构件检索查准率和查全率的 综合要求。 但是,这些方法面临两个十分严峻的现实困难:( 1 ) 用形式逻辑对所有构件 服务语义进行建模的代价十分高昂;( 2 ) 这种方法中的证明过程的计算复杂度很 高,从而导致系统性能难以提高。尤其是第一方面的问题限制了基于演绎的检索 方法的可扩展性,使得它很难成为实用的构件服务检索方法。 西北大学硕士学位论文 4 基于刻面的构件描述与检索 基于刻面的描述是一种目前正逐步得到重视和应用的描述方法。 r e b o o t 9 、n a t o 提出的构件分类方法都是基于刻面的,北京大学青乌构件库 中也采用了以刻面分类为主、多种分类模式相结合的方法对构件进行分类描述 f 1 0 】。上海构件库也采用了基于刻面的构件库管理系统。基于刻面的描述方法中, 一个构件可以用多个刻面以及每个刻面中的多个术语来刻画。不同的刻面从不同 的角度对构件进行描述。这些特征使刻面方法能够从多个角度、多个方面对构件 做出更为全面的描述,在应用中取得了良好的效果。r u b e n p r i e t o d i a z 等人提出 了以传统的数据库检索技术为主的刻面检索方法,并结合同义词匹配和术语的一 般一特殊关系匹配来改进检索性能。 然而,刻面方法中对于术语空间较为稳定的刻面如使用环境、应用领域等, 易描述、易检索,而对构件的服务和功能等刻面,由于未定义形式化的描述方式, 使得其描述内容往往过于自然语言化而导致精确性下降,而这样的刻面又正是最 具重要性的。而且,传统的刻面描述方法重视构件的静态特征描述而没有提供对 构件动态行为和服务的描述机制,因此对于检索的查全率和查准率都会带来不可 忽视的影响。 综上,现有的构件描述方法对构件的静态特征作了较为详尽的考虑,也获得 了较好的解决方案;但对于构件的动态特征,则要么没有提供对构件行为和服务 的准确描述,要么进行了尝试但还没有提出有效的方法,而这正是影响到检索质 量( 查全率、查准率、性能) 的重要原因之一。由于软件构件本身的特殊性和功 能的复杂性,要求具有一种能够在较高层次上去理解构件所提供服务的语义、能 有效地支持构件检索、适配和验证的构件描述方法。为了解决这个问题,必须在 构件语义层次上提供一种合适的面向服务的构件描述和检索方法,一方面使得构 件语义描述相对简单直观,另一方面使得在构件语义上执行的检索快速而准确。 为了实现这目标,构件提供者和构件检索者必须对描述构件所使用的术语的确 切含义达成共识。这就意味着共享的理解需要共享的定义。特别是对于构件服务, 共享公共的服务描述本体变得越来越重要。这迫切要求我们寻求一种与我们的需 求相符的新型技术手段。 4 谣北大学硕士学位论文 1 - 3 论文目的与内容 本文旨在针对当前构件描述方法和检索技术的不足和问题,在构件描述和检 索过程中引入了领域本体和本体建模的思想,对基于语义的构件描述方法和检索 技术进行了研究,并实现了支持该方法的原型系统。 具体研究内容主要包括如下几个方面: 1 对领域本体的组成、描述方法及如何构建进行了研究。领域本体由领域 概念、概念属性和概念问的关系组成,由本体描述语言o w l 描述。本体描述语 言o w l 的基础是描述逻辑,它能明确地形式化地定义概念的含义及概念问的关 系,因此它可以用来在本体层次上明确地定义构件功能的语义。对构件描述、检 索和构件库的组织提供语义支持。 2 研究了基于语义的构件描述方法。在描述过程中,把构件的接口作为独 立的部分进行描述,有效的支持了基于构件软件开发中构件的灵活性、可扩展性、 可替换性等特性。提出基于o w l 的构件、接口描述语言,使描述具有语义特性 和可扩展性。 3 研究了基于语义的领域知识制导的构件检索方法。在该方法中,使用自 然语言确定查询,以提高检索的灵活性及使用的方便性,利用嵌入在领域本体中 的领域知识对查询进行扩充和求精,使用户在检索过程中了解更多的相关领域知 识,有效的提高的检索质量( 查全率和查准率) 和用户的满意度,对软件复用提 供了有力的支持。 1 4 论文的结构 本文的第二章介绍了构件和基于构件的软件开发技术。第三章首先介绍了本 体定义、描述语言、表示等方面的知识,然后介绍了本文中用到的两个典型的本 体:领域本体、辞典。第四章详细说明了构件的描述模型,及如何体现构件的功 能、语义信息。第五章介绍了在构件描述模型基础上的构件检索策略。在第六章 给出了一个原型系统及利用原型系统对检索方法的验证。第七章是对全文的总结 及对以后进一步研究工作的展望。 西北大学礤士学位论文 第二章基于构件的软件开发 基于构件的软件开发( c b s d ) 是软件复用的一种有效形式。近年来面向对象 技术、i n t e m e t 和w e b 技术的成熟,以及c o r b a 、c o m 和e j b 等工业标准的出 现,都大大刺激了构件技术的发展。 在本章,介绍了构件和基于构件软件开发技术。 2 1 构件技术 构件是设计、实现以及维护基于构件的系统的基础。在文献【1 1 】中给出了一 个相当广泛、全面的构件定义:构件是一个独立发布的功能部分,可以通过它的 接口访问它的服务。 为了满足封装和复用的要求,构件应具有以下特性:可封装的、可描述的、 可替代的、可部署的和可扩展的【1 2 】。可封装是指构件实现与接口分离,只规定 构件的外在接口形式,可以通过公布的接口访问它而不关心其内部实现方法,使 得构件既可用面向对象编程语言实现,也可用非面向对象的过程语言实现;可描 述性是指构件对三个重要组成部分是可描述的,对接口的描述说明构件的行为, 对实现的描述说明构件的构造方式,对部署的描述说明了构件运行的特定环境。 可替代性是指不同实现,相同接口的构件之间可以相互替换使用,使得系统可以 方便的升级与维护。可部署是指可以通过创建构件的可执行实例并且允许与它发 生交互。可扩展性是指可以扩充构件的服务范围,但却不影响构件的使用。 一般情况下,构件具有5 个要素,分别是【1l 】: 1 规格说明。它建立在接口概念之上,构件要求有一个关于它所提供的服 务的抽象描述,以作为客户方和提供方之间的契约。 2 一个或多个实现。构件必须被一个或多个实现所支持。这些实现必须符 合规格说明。 3 受约束的构件标准。软件构件存在于一个定义好的环境中,或称为构件 模型( c o m p o n e n tm o d e l ) 。构件模型是一套支持软件的服务,加上为了使构件刹 用这些服务而必须遵守的一套规则。已有的构件模型包括m i c r o s o f t 的c o m + 、 s u n 的j a v a b e a n s 和e j b ,以及o m g 的c o r b a 构件标准。这些构件模型中的 每一种都解决了诸如个构件怎样使其他构件可以获得它的服务、构件怎样被命 西北大学硕士学位论文 名以及怎样在运行时发现新构件和它们的服务这样的问题。 4 包装方法。构件可以按不同的方式分组来提供一套可以替换的服务。这 个分组就称为包。一般地,当从第三方获取构件的时候买卖的就是这些包。它们 代表了必须安装在系统中的功能单元。为了使这个包可以使用,在构件模型中要 有某种对包的注册机制。例如在m i c r o s o f t 环境中,这是通过一种特殊的已安装 构件的目录来实现的,这个目录称为注册表。 5 部署方法。一旦成品构件安装在一个运行环境中,它们就将被部署。这 是通过创建构件的可执行实例并且允许与它发生交互来实现的。一个构件可以部 署很多实例。每一个实例都独立的并且在它自己的进程中执行。 有效的构件可以包括已包装的应用程序、包装好的遗产代码和数据,以前项 目中开发的构件,以及为满足现在的业务需要而专门开发的构件。构件的来源可 能是多样的和分布广泛的,但由于以下几点原因,使得从这些构件组装解决方案 成为可能: 】使用构件模型作为所有构件必须遵循的标准,不管它们的来源如何。 2 一种构件管理方法,被适当的工具所支持,用于按要求存储、索引、查 找以及检索构件。 3 一种设计方法,允许从构件来设计一个解决方案的构架,可以仅考虑构 件的抽象功能,而忽略它们以后的实现特性。 2 2 基于构件的软件开发 基于构件的软件开发是从内部构件库和商业构件提供者那里获取的构件,利 用构件来构造新系统的系统化方法,以构件为核心,而且在需求分析阶段就可以 着手进行构件获取工作,增加了开发的并行程度,这从另一个方面提高了开发效 率。图2 - i 给出了基于构件的软件开发过程包括的几个主要活动 1 3 】: 1 领域分析领域建模 通过对特定领域应用软件进行分析,提炼其中的稳定需求和易变需求,建立 可复用的领域模型。根据用户需求和领域模型,产生应用系统的需求规格说明。 在领域模型的基础上,提炼面向特定领域的软件构件。在领域模型的指导下,通 过构件库中存放的面向特定领域的体系结构,创造适合该领域环境的构件,并加 西北大学硕士学位论文 以提炼入库,以备将来的复用。构件和连接件往往不是简单的模块或对象,它们 甚至还可能包含复杂的结构,因此可能需要多层次的构件组合设计。 构件的开发 特定领域 领域分析健模 领域体系结构设计 领域构件 应用程序的开发 应用程序需求 篓塑,k 土 型医赢 构件库及代理 构件的组合 应用程序 图2 - 1 基于构件的软件开发方法 于是,在得到某个特定领域的构件或者是体系结构之前,必须对这个领域进 行领域分析:领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能区 域 1 4 】。领域分析是为一组相似或相近系统的应用工程建立基本能力和必备基础 的分析过程。领域分析有助于解决可复用信息的识别、组织和利用的问题,从而 对软件复用提供有力的支持。领域分析有助于在领域内产生具有较高可复用性的 构件,而且通过产生体系结构定义了复用的时机和复用的上下文。这样就对开发 者复用这些构件提供了有力的支持,使复用变得规范、系统和高效。 2 领域体系结构设计 我们通过对一个领域中的若干应用系统进行领域分析,识别其共同特征和可 变特征,进行抽象,形成领域模型,依据领域模型产生出领域中类应用系统共 同具有的体系结构,即特定领域的软件体系结构( d o m a i ns p e c i f i cs o f t w a r e a r c h i t e c t u r e ,缩写为d s s a ) ,并以此为基础识别、开发和组织可复用构件。这 样,当开发同一领域中的新应用时,可根据领域模型,确定新应用的需求规约, 根据特定领域的软件体系结构形成新应用的设计,然后从以此d s s a 为基础设计 的可复用构件库中选择合适的构件进行组装,从而形成新系统。 3 领域构件的开发 虽然已经存在数量巨大的构件供软件开发人员使用,但无论存在的构件数量 西北大学硕士学位论文 如何丰富,仍然不能满足特定领域内的所有,因此有必要开发领域内构件,领域 内的构件有些构件是在整个领域中无须改动便可使用的构件,有些构件专用于领 域内的某一些特定情况,如专门用于w o r d 的拼写检查构件等。领域构件与领域 体系结构相适应,构件间关系较紧密,它们以构架所确定的方式进行通信,完成 领域相关的功能,使得它们在特定领域中能得到大粒度的复用。 4 应用程序开发 基于构件的应用程序的开发过程与搭积木的过程很类似,一般是先构筑系统 的总体软件体系结构,然后挑选各个构件,并依次把构件安装到系统中去。软件 体系结构是对系统整体结构设计的刻画,可以作为一种大粒度的、抽象级别较高 的软件构件进行重用,而且它还为软件的组装提供了基础和上下文。 基于构件的软件开发方法是在吸取已有的软件开发方法的经验基础上结合 构件技术和软件重用技术而产生的一种新的、高效的开发方法。基于构件的软件 开发方法与面向对象的开发方法相类似,它们都采用自顶向下和自底向上相结合 的方法,面向对象的方法支持类的重用,但基于构件的软件开发方法的底是可重 用的构件,顶是可重用的应用系统原型、应用体系结构,这样它的重用广度和粒 度都大大高于面向对象的开发方法,从根本上解决了应用软件开发中存在的开发 质量和开发效率问题。 2 3 本章小结 本章对构件技术和基于构件的软件开发过程作了详细介绍,为下面构件的描 述和检索提供理论基础。 西北大学硕士学位论文 第三章特定领域的本体建模 本体( o n t o l o g y ) 作为一种能在语义和知识层次上描述信息系统的概念模型 建模工具,自提出以来就引起国内外众多科研人员的关注,并在计算机的许多领 域得到了广泛应用,如知识工程、数字图书馆、软件复用、信息检索和万维网上 异构信息的处理、语义网等。 在本文中主要用到两个典型的本体:领域本体和辞典。其中领域本体描述了 特定领域的业务及业务之间的关系,辞典描述了术语( 如词性等) 以及术语之间 的关系。 本章首先介绍本体的相关概念,然后将详细介绍领域本体和辞典。 3 1 本体概述 3 1 1 简介 本体最早是一个哲学上的概念,后来被人工智能界赋予新的定义。1 9 9 3 年, g r u b e 将本体定义为:“本体是概念模型的明确的规范说明”。后来b o r s t 在此基 础上给出了本体的另一种定义:“本体是共享概念模型的形式化规范说明”。s t u d e r 等对上述两个定义进行了深入的研究,给出了目前最通用的定义为 1 5 】:“本体是 共享概念模型的明确的形式化规范说明”。这包含了4 层含义:概念化 ( c o n c e p t u a l i z a t i o n ) 、明确( e x p l i c i t ) 、形式化( f o r m a l ) 和共享( s h a r e ) 。“概 念化”指通过抽象出客观世界中一些现象( p h e n o m e n o n ) 的相关概念而得到的 概念模型,其表示的含义独立于具体的环境状态。“明确”指所使用的概念及使 用这些概念的约束都有明确的定义。“形式化”指本体是计算机可读的( 即能被 计算机处理) 。“共享”指本体中体现的是共同认可的知识,反映的是相关领域中 公认的概念集,它所针对的是团体而不是个体。 本体的目标是获取、描述和表示相关领域的知识,提供对该领域知识的共同 理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词 汇( 术语) 和词汇之间相互关系的明确定义。 p e r e z 等人用分类法组织本体,归纳出本体的5 个基本构成元素 1 6 】,分别 为:( 1 ) 类( c l a s s e s ) 或概念( c o n c e p t s ) 。指任何事物,如工作描述、功能、行 西北大学硕士学位论文 为、策略和推理过程等。从语义上讲,它表示的是对象的集合,其定义一般采用 框架( f r a m e ) 结构,包括概念的名称,与其他概念之间的关系的集合,以及用 自然语言对概念的描述。( 2 ) 关系( r e l a t i o n s ) 。指在领域中概念之间的交互作用, 形式上定义为n 维笛卡儿积的子集:r :c t c 2 c 。如子类关系 ( s u b c l a s s o f ) 。在语义上关系对应于对象元组的集合。( 3 ) 函数( f u n c t i o n s ) 。 它是一类特殊的关系。该关系的前n 一1 个元素可以唯一决定第n 个元素。形式 化的定义为f :c i c 2 c 。1 一c 。如m o t h e r - o f 就是一个函数,m o t l l e r o f ( x ,y ) 表示y 是x 的母亲。( 4 ) 公理( a x i o m s ) 。它代表永真断言,如概念乙属于概念 甲的范围。( 5 ) 实例( i n s t a n c e s ) 。它代表属于某概念类的基本元素。从语义上 讲实例表示的就是对象。 在实际的应用中,不一定要严格地按照上述5 类元语来构造本体,可以根据 具体应用的情况作适当的改变。 对于本体的作用,总的来说构建本体都是为了实现某种程度的知识共享和复 用。本体澄清了领域知识的结构,可以复用,从而避免了重复的领域知识分析, 统一的术语和概念也使知识共享成为可能。m i k eu s e h o l d 更具体地总结了本体的 作用 1 7 】,即通讯( c o i n m u n i c a t i o n ) 、互操作( i n t e r - o p e r a b i l i t y ) 和系统工程( s y s t e m s e n g i n e e r i n g ) 。具体阐述如下: 1 通讯:主要为人与人之间或组织之间的通讯提供共同的词汇。 2 互操作:在不同的建模方法、范式、语言和软件工具之间进行翻译和影 射,以实现不同系统之间的互操作和集成。 3 系统工程,本体能够为系统工程提供以下的益处:复用( r e u s a b i l i t y ) 。 本体可以作为领域知识的形式化描述。这种形式化描述可作为软件系统中可复用 和共享的组件。知识获取( k n o w l e d g e a c q u i s i t i o n ) 。当构建基于知识的系统时, 用已有的本体作为起点和基础来指导知识的获取,可以提高其速度和可靠性。 可靠性( r e l i a b i l i t y ) 。形式化的表达使得自动的一致性检查成为可能,从而提高 了软件的可靠性。( s p e c i f i c a t i o n ) 。本体可以协助知识系统进行需求识 别和定义规范描述。 3 1 2 本体描述语言 本体的广泛运用需要一个重要的先决条件,即一个描述本体并使得它们能够 西北大学硕士学位论文 进行信息交换的语言标准。本体描述语言起源于历史上人工智能对知识的研究 1 8 ,代表性的有k i f 、o n t o l i n g u a 、l o o m 、o c m l 、f l o g i e 等。近年来,随着 w e b 技术的发展,基于w e b 标准的本体描述语言成为研究的应用和热点,如 s h o e 、x o l 、r d f ( s ) 、o i l 、o i l + d a m l 、o w l 等。标准方面,w 3 c 先后 推荐了r d f ( s ) ,d a m l + o i l 和o w l 作为本体描述语言标准。 r d f r d f s 是w 3 c 所提供的基于x m l 语法的一种简单的知识本体描述语 言。r d f 采用“资源”( r e s o u r c e s ) 、“属性”( p r o p e r t i e s ) 以及“声明( s t a t e m e n t s ) ” 等三元组来描述事物。r d f s 则做进一步扩展,采用了类似框架的方式,通过添 加r d f s :c l a s s ,r d f s :s u b c l a s s o f , r d f s :s u b p r o p e r t y o f , r d f s :d o m a i n ,r d f s :r a n g e 等原语, 对类、父子类、父子属性以及属性的定义域和值域等进行定义和表达。已有的许 多语言,如o i l ,d a m l + o i l 和o w l 都是对r d f ( s ) 的扩展。 o i l 以r d f ( s ) 为起点,将框架系统、描述逻辑( d e s c r i p t i o nl o g i c s d l ) 和w e b 标准集合起来,提供了通用的语义w e b 标记语言。d a m l 扩展r d f ,增 加了更多的更复杂的类、属性等定义。后来d m a l 的研究者和o i l 的研究者合 作推出了d a m l + o i l 1 9 语言,成为w 3 c 的标准。 2 0 0 2 年7 月w 3 c 在提交的d a m l + o i l 的基础上发展了o w l 2 0 语言,以 使其成为国际通用的标准本体描述语言,它在x m l r d f 的基础上,通过添加大 量的基于描述逻辑的语义原语来描述和构建各种本体。o w l 有三个表达能力递 增的子语言:o w l l i t e ,o w l d l 和o w l f u l l 。o w l l i t e 是表达能力最弱的 子语言,用于提供给那些只需要一个分类层次和简单的属性约束的用户。o w l d l 支持那些需要在推理系统上进行最大程度表达的用户,这里的推理系统能够 保证计算完全性( 即所有的结论都能够保证被计算出来) 和可决定性( 即所有的 计算都在有限的时间内完成) 。它包括了o w l 语言的所有约束,但是可以被仅 仅置于特定的约束下。o w lf u l l 支持那些自由地在r d f 上进行最大程度表达的 用户。它允许一个本体在预定义的( r d f 、o w l ) 词汇表上增加词汇,从而任 何推理软件均不能支持o w lf u l l 的所有特征。 多个文献都从表达能力等多方面比较了多种常见的本体描述语言,普遍认为 o w l 是l f l 前综合性能较好的语言。 西北大学硕士学位论文 3 1 3本体的表示及存储 为了以一致的方式表示语义信息,本文采用概念图( c o n c e p tc , r a p h ) 表示本 体。用o w l 语言存储本体。下面首先介绍概念图的基本概念,然后介绍概念图 与o w l 的转换。 概念图是用来组织和表征知识的工具【2 1 】。概念( c o n c e p t s ) 、命题 ( p r o p o s r i o n s ) 、交叉连接( c r o s s 1 i n k s ) 和层级结构( h i e r a r c h i c a lf r a m e w o r k s ) 是概念图的四个图表特征。概念是感知到的事物的规则属性,通常用专有名词或 符号进行标记:命题是对事物现象、结构和规则的陈述,在概念图中,命题是两 个概念之间通过某个连接词而形成的意义关系;交叉连接表示不同知识领域概念 之间的相互关系;层级结构是概念的展现方式。一般隋况下,最一般、最概括的 概念置于概念图的最上层,从属的概念安排在下面。因此,概念图是表示概念和 概念之间相互关系的空间网络结构图。 概念图的图表结构包括节点( 又称结点) 、连线和连接词三个部分。节点就 是置于圆圈或方框中的概念。连线表示两个概念之间的意义联系,连接可以没有 方向,也可以单向或双向。位于上层的概念通常可以引出好几个知识分支,不同 知识领域或分支间概念的连线就是交叉连接( 又称横向联系) ,交叉连接常常形 成方向性意义,也是产生创造性思维的关键之处。连接词是爱于连线上的两个概 念之间形成命题的联系词。如“是”、“包括”、“属性”等。图3 1 是概念图的 个简单例子。 图3 - 1 概念图例子 本体是描述概念及概念之间关系的概念模型。概念图是对知识予以全面描述 的表达形式,它的结构符合人的思维方式,表达接近于自然语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- vivo校招真题及答案
- OPPO校招笔试题及答案
- BMS软件工程师招聘题目及答案
- 2025自媒体校招面试题及答案
- 浙教版八年级科学上册教学设计1.5 物质的溶解(第3课时)
- 航空安全员教员课件
- 2025年大学《社会体育指导与管理-社会体育概论》考试模拟试题及答案解析
- 2025年大学《化学生物学-生物化学》考试模拟试题及答案解析
- Unit 3 Keep Fit SectionB 1a-1d教学设计2024-2025学年人教版(2024)七年级英语下册
- 2025年大学《出入境管理-出入境违法违规行为处理》考试模拟试题及答案解析
- 英语A级常用词汇
- 公司派车单及公司车辆管理制度
- 运维总监工作总结
- 护理质量管理制度
- 2025年杭州市萧山区国有企业招聘笔试参考题库含答案解析
- 农行财务合规培训
- 大连海事大学《工程材料及制造技术基础》2023-2024学年第一学期期末试卷
- 中国融通集团笔试题库
- 【MOOC】英文学术写作实战-北京大学 中国大学慕课MOOC答案
- 电力系统电瓷外绝缘防污闪技术管理规电力系统外绝缘防污技术管理规范
- 《自贡市医疗服务项目价格汇编(2023版)》
评论
0/150
提交评论