(计算机软件与理论专业论文)基于本体的契约式构件描述与检索模型研究.pdf_第1页
(计算机软件与理论专业论文)基于本体的契约式构件描述与检索模型研究.pdf_第2页
(计算机软件与理论专业论文)基于本体的契约式构件描述与检索模型研究.pdf_第3页
(计算机软件与理论专业论文)基于本体的契约式构件描述与检索模型研究.pdf_第4页
(计算机软件与理论专业论文)基于本体的契约式构件描述与检索模型研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河海大学硕士学位论文基于车体的契约式构件描述与检索模型研究 摘要 构件技术是实现软件复用的有效途径,能大幅度提高软件的生产效率、降低 软件开发和维护成本、提高软件质量。构件的描述和检索是实现软件复用的关键 技术,对解决软件复用、降低软件成本和提高软件质量具有重要的意义。 传统的构件服务描述方法主要有基于框架、基于3 c 模型、基于演绎和基于 刻面的构件描述。这些方法对于构件的接口作了许多考虑,但多数都没有提供对 构件的准确规范的语义描述,以至于构件服务提供者和构件请求者无法对构件语 义信息共享。而且由于上述方法都没有对构件服务的前后置条件进行有效的描 述,因此,造成了构件服务使用者对构件检索或使用失败率很高。 本文在基于本体描述的框架下,设计了契约式构件描述与检索原型。针对当 前构件语义描述中只对i o 部分进行描述的现状,结合o w l 语言和s w r l 规则 语言,提出了基于本体的契约式构件描述语言c o c d l 及其描述方法,分别从构 件的i o p e 以及o o s 等五个方面对构件进行全面准确地描述。本方法不仅在构件 描述中加入了语义信息,而且引入了契约式设计的思想来规范构件服务的1 0 p e , 从而使软件构件检索的自动化成为可能。 结合c o c d l ,本文在研究传统的构件匹配方法基础上,提出了基于契约的 三步式匹配方法。运用相似度来量化匹配构件的i o 部分,结合s w i u ,规则并 分成三类进行陇推理匹配。 【关键词】本体,构件描述,契约式描述,i o p e ,c o c d l 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 a b s t r a c t c o m p o n e mt e c h n i q u ei sa ne f f b c t i v ew a yt oi m p r o 、r es o f t w a f ep r o d u c t i v i 可趾d q u a l i t y ,r e d u c es o f a r cd e v d o l m l e ma 1 1 dm a i n t e 咖c ec o s t s c o m p o n e md 阜s c r i p t i o n a n d 训e v a la r et t l ek e yt e c 虹1 0 l o g i e st os o l v et h es o 矗w a r er e l l s e ,da r co fg r e a t s i 鲥f i c a i l c et or c d u c es o 小a ”a n di m p r o v es o f 【、硼r eq u a l i 妙 t r a d i t i o n a lm e m o d so fc o m p o 脚nd e s c r i p t i o na r e m a i l l l yb 船e do n l e 五阳m e 、o r k ,b a s e do nt 1 1 e3 cm o d e l ,b 鹤e d 彻t l l ef 0 加1 a ld o d u c t i o n 姐db a u s e do nt h c f a j e t s t h e s em e 曲o d sm 盎d eal o to fc o n s i d e f a t i o n sf b fm ei n t e d k e so fc o m p o n e m , b mm 匈耐t ) ro f 山锄d i d l l 、tp r o v i d ea c c u r a t es 锄a n t i c d e s 嘶皿o n sa b o u tt l e c o m p o n e n t ss ot l l a tc o m p o n e mp f o v i d e r sa i l da s k e rc 柚ts h a r ec o m p o n e n ts e m 锄l i c i n f b n n a t i o n i n “sp a p e r ,w ed e s i g n e dc o m p o n e n td e s c r i 硼o n 柚dr e t r i e v a lp r o t o t y p eb a s e d o nc o m r a c t 、析t l lo n t 0 1 0 9 yf i a m e w o r k a i m i n ga t 廿l es 乜t l l sq u o 也a tt l l es e m a n t i c d e s 谢p t i o no fc o m p o n e n t i so n l yc o n c e m e da b o u tt l l ei ,o ,w c ,谢t l lo w l 柚ds w r l , p m p o s c d 也ed e s c r i 州o nl a n 鲫g eo fc o m p o n e n tb 部e do nt h ec o m r a c t - c o c d lt o r o u n d l yd e s c 抽et h e 丘v ea s p e c t so f i o p e 柚dq o s t 1 l 王sm e t l 州n o t0 1 1 l yj o i i l e dn l e s e m a n t i ci o r m a t i o ni m ot l l ec o m p o n e md e s 呻t i o n , b u ta l s oi n 仲o d l l c e dt 1 1 ec o n 位l c t l l 翻d e s i g ni d e at os 啪d a r d i z ei o p eo fc o m p o n e m ,s o t l l a tm a l ( e st 1 1 ea u 协m a t i o n o fs o f h 町ec o m p o m i n tr e 仃i e v a lp o s s i b l e w i t hc o c d la n ds t u d yo f 仃a d i t i o 叫c o m p o n e n tm a t c h i n gm e t l l o d s ,t t l i sp a p e r p m p o s e dt 1 1 r e e s t e pm a t c h i n gm e t l l o db a s e do nc o n 仃a c t a n dw i t ht h em e t t l o do f s i m i l a r i 母m a t c l l i n g 协q u a n t i 每i ,o ,a n dm a j 【i n gt h es w r l r u l ea s s o c i a t i o nw i 也j c s s r e a s o i l i n gm 础l i n e _ t op em 蛐g 【k e y w o r d s 】0 n t o l o g y ,d e s c r i t i o no fc o m p o n e n t ,d e s c r i p t i o nb e a d s 衄c o n t r a c t , i o p e ,c o c d l 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。如不实,本人负全部责任。 论文作者( 签名) : ( 注:手写亲笔签名) 学位论文使用授权说明 挣浑以月,日 河海大学、中国科学技术信息研究所、国家图书馆、中国学术期 刊( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文 档的内容和纸质论文的内容相致。除在保密期内的保密论文外,允 许论文被查阅和借阅。论文全部或部分内容的公布( 包括刊登) 授权河 海大学研究生院办理。 论文作者( 签名) : ( 注:手写亲笔签名) a 噼口舌月,日 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 1 1 研究背景 第一章绪论 传统的软件开发方法,一般从需求分析开始,经过设计,编码,测试,到最 后的交付使用。如果每个广泛应用系统的开发都是从零开始,则在系统开发过程 中就必然存在大量的重复劳动,如:用户需求获取的重复、需求分析和系统设计 的重复、程序编码的重复、测试的重复和文档的重复等。随着软件规模的不断扩 大,控制软件开发的费用,提高软件开发的效率,改进软件开发质量,保证软件 开发的一致性越来越难,由此引发了软件危机l l 2 j 。 随着计算机应用的逐步扩大,软件的需求量迅速增加,规模也日益扩大,带 来了软件的复杂程序的增加和程序代码的几何级增长。最终导致软件开发成本增 加,开发周期延长,产品的质量不高等问题。为了解决这些问题,必须真正实现 软件的工业化生产方式。而有效利用他人的成熟产品,即进行软件复用( s o 胁a r e r e u s e l ,是一条现实可行的途径【1 1 。目前,软件复用已经成为软件工程界的研究 热点。 软件复用是运用现存系统的软件制品或工程知识构造新系统,简单地说软件 复用就是在构造新软件系统的过程中使用现存的软件产品。软件复用本质上是运 用现存软件系统的产品或工程构造新的软件系统,在软件开发中避免重复劳动。 其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作 为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、 设计方案、源代码、测试计划及测试案例等,从而将开发的重点集中于应用的特 有构件成分。 依据复用的对象,可以将软件复用分为产品复用和过程复用。产品复用指复 用已有的软件构件,通过构件集成( 组装) 得到新系统。过程复用指复用已有的软 件开发过程,使用可复用的应用生成器来自动或半自动地生成所需系统。过程复 用依赖于软件自动化技术的发展。目前只适用于一些特殊的应用领域。产品复用 是目前现实的、主流的途径。当前,作为面向对象与软件复用思想相结合的产物 软件构件技术是支持软件复用的一项重要技术,是近几年来迅速发展并受到高 度重视的一门学科分支。 所谓软件构件( s o f t v 煅c o m p o n e n t ) 是指可被用来构造其他软件的软件组成 成份1 2 j 。一般来说,具有相对独立的功能和可复用价值的软件成分都可被称为可 复用构件( r e u s a b l ec o m p o n e n t ) 。随看对构件理解的深入,构件的概念己经不再 局限于源代码构件,而是延伸到系统和构件的需求规约、构架、文档、测试计划、 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 测试案例和数据以及其它对开发活动有利的信息。基于构件的复用是软件产品复 用的主要形式,也是当前复用研究的焦点。 然而,在实际的开发中,软件的复用程度并不理想【2 1 。软件复用面临一个矛 盾:一方面存在大量的可复用构件;另一方面,复用者却很难找到真正需要的构 件。要解决这个问题,就需要借助软件构件库实现构件的描述和有效检索。 1 2 国内外研究现状 1 2 1 德国工业社会的构件规约框架 德国工业社会的构件规约是目前公认的较全面的构件规约规范【引。该规约框 架包含了共计1 1 个方面来争取得到一个完整的构件规约( 见图1 1 ) 。这1 1 个方面 分为5 个不同的页:白页:提供了构件的一般性和商业信息;黄页:提供了枚举 和刻面构件分类;蓝页:包含了以领域术语形式显的构件功能信息;绿页:提供 接口规约;灰页:提供关于构件实现质量的额外功能信息。 图1 1 德国工业社会的通用构件规约框架图 1 2 2 主要的构件描述方法 传统的构件描述方法主要有:基于框架的构件描述与检索,基于3 c 模型构件 描述与检索、基于演绎的构件描述与检索、基于刻面的构件描述与检索和基于本 体的构件描述与检索。 ( 1 ) 基于框架的构件描述与检索 2 河海大学硕士学位论文 基于本体的契约式构件描述与检索模型研究 在软件主体和分布式计算领域提出的基于框架的构件描述和检索方法中,要 求所有的构件和检索查询都用相同的预先定义好的词汇来描述,即使用“属性一 值对”来对构件进行分类描述1 2 j 。 目前大部分商业化的构件服务搜索技术( 例如j 硫,e s p e a l 【,s a l u t a i o n ,u d d i ) 都使用基于框架的方法例。 这种方法通过构件描述和检索查询都使用相同术语的方法来提高查全率和 查准率,但它是以要求所有的构件服务都用框架进行建模为代价的,使其灵活性 受到制约,在实践中比较难以推广应用。 ( 2 ) 基于3c 模型构件描述与检索 3c 模型是在1 9 8 9 年的“r e u s ei np m c t i c ew b r k s h o p 中由一些系统工程领 域的专家提出的,它是学术界普遍认同的一个具有指导性作用的构件模型。该模 型从概念( c o n c e p t ) 、内容( c o n t e n t ) 和周境( c o n t e x t ) 三个不同方面来描述构件。概 念就是关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能,概念 包括接口规约和语义描述两个部分;内容就是概念的具体实现,描述构件如何完 成概念所刻划的功能;语境就是构件和外围在概念级和内容级的关系。语境刻划 构件的应用环境,为构件的选用和适应性修改提供指导【l 4 ,5 j 。 从3 c 模型中看出构件强调的实现( 即内容) 和接口( 即概念) 的分离,这是以 前的软件组成成分( 模块、子系统) 所没有明确提出的,这种方法强化了接口的独 立性。但是3 c 模型缺乏对构件形式化的定义和易懂的描述。 ( 3 ) 基于演绎的描述与检索 b f i s c h e r 等人提出的基于演绎的检索方法将基于框架的方法往前推进了一 步。它首先使用逻辑方法形式化地说明构件服务的属性( 例如输入、输出、功能 前 置条件、后置条件、不变量 、性能等) ,然后通过证明某个构件是否实现了检索 查询所描述的服务属性来进行构件检索【3 ,4 】。这种方法要求预先定义的逻辑谓词 不存在冗余,并且对所有的构件服务和检索查询都进行了完全形式化的规约,才 能获得比较理想的查全率和查准率。 与此类似的有a m ym o o m 猢等人针对构件的形式化规格说明提出的型构 ( s i 趴a t u r e ) 匹配( 接口规约) 和规约匹配( 功能规约) ,对构件的行为特征作形式化 说明以排除自然语言描述的二义性和不准确性,并且还可以利用规约说明之间 的偏序关系来组织构件库中的构件存储【1 2 】。基于规约匹配的构件检索能够提供 层次丰富的规约匹配类型,所以能够较好的满足用户对构件检索查准率和查全 率的综合要求。 但是,这些方法面临两个十分严峻的现实困难: 1 ) 用形式逻辑对所有构件服务语义进行建模的代价十分高昂。 2 ) 这种方法中的证明过程的计算复杂度很高,从而导致系统性能难以提高。 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 尤其是第一方面的问题限制了基于演绎的检索方法的可扩展性,使得它很难成为 实用的构件服务检索方法。 ( 4 ) 基于刻面的描述与检索 基于刻面的描述方法中,一个构件可以用多个刻面以及每个刻面中的多个术 语来刻画,不同的刻面从不同的角度对构件进行描述。这些特征使刻面方法能够 从多个角度、多个方面对构件作出更为全面的描述,在应用中取得了良好的效果。 北大青鸟构件库系统就是提供以刻面分类为主,关键词、属性一值、关系索引等 多种模式相结合的方法对构件进行分类。目前有五个刻面:使用环境( a p p l i c a t i o n e n v i r o m e n t ) 、应用领域( a p p l i c a t i o nd o m a i n ) 、功能( f u n c t i o n a l i t ) ,) 、层次( l e v e lo f a b s t r a c t i o n ) 、表示方法( r e p r e s e n t a t i o n ) 纠。 基于刻面的方法相比传统的基于关键字的方法有了很大进步,但也存在着一 定的局限性,主要体现在: 1 ) 刻面树和术语空间的表达能力有限,例如刻面之间主要是组成关系,而术 语之间主要是一般特殊关系和同义关系。 2 ) 术语空间往往只能体现一种概念分层模式,限制了构件描述的灵活性。 3 ) 匹配的灵活性不够。 4 ) 刻面及术语方案往往只能满足构件高层描述的需要,无法体现特定领域的 描述内容。 同时,也注意到,刻面方法中对于术语空间较为稳定的刻面如使用环境、应 用领域等,易描述、易检索,而对构件的服务和功能等刻面,由于未定义形式化 的描述方式,使得其描述内容往往过于自然语言化而导致精确性下降,而这样的 刻面又正是最具重要性的。而且,传统的刻面描述方法重视构件的静态特征描述 而没有提供对构件语义信息的描述机制,因此对于检索的查全率和查准率都会带 来不可忽视的影响。 ( 5 ) 基于本体的构件描述与检索模型 本体是用于描述或表达某一领域知识的一组概念或术语。它可以用来组织知 识库较高层次的知识抽象,也可以用来描述特定领域的知识给出构成相关领域词 汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则 的定义;概念模型明确、形式化和共享;一个本体包括一系列类( c l a s s e s ) 或概 念( c o n c e p t s ) ,它们是本体的核心,其定义一般采用框架结构,包括概念的名称、 概念之间关系的集合,以及用自然语言对概念的描述【l j 。 相对刻面描述,利用本体对构件进行全维度描述,保证本体的完备性。由于本 体描述的无二义性和逻辑推理的准确性,可以预期基于本体的推理能够很好地保 证构件检索的查全率和查准率i l j 。 但是,针对构件的行为属性,基于本体的构件描述方法还是表现得很无力, 4 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 因为单纯利用本体,无论是w s d l 还是o w l 在描述构件的前置条件和后置条件时都 不能充分体现它们的关系。 1 2 3 主要的构件描述语言 语言是软构件描述的工具,可以对模型加以描述和刻画,建立在模型的基础 之上,软构件描述语言以一种严格而又易于理解的方式为复用者提供全面准确的 信息。它是从7 0 年代的模块互连语言、8 0 年代的构件描述语言( c d l ) 和9 0 年代 的体系结构描述语言( a d l ) 发展而来的。较有影响的构件描述语言有l i l 、c d l 、 c i d e r 、i 沁s o l v e 、c o r b ai d l 和s o f ac d l 。 早期的模块互联语言,代表有m i l 7 5 【9 1 。7 0 年代以后研究的重点转向c d l 。 模块描述语言是申述性的,而c d l 是命令式的。c d l 是基于对象结构范型的构 件描述语言。其基本思想是将软构件看作黑盒,通过接口的语法和语义描述向外 界提供结构和行为信息。使复用者不必关心其内部细节。构件包括两部分:构件 接口和构件的设计。构件接口描述构件的输出以及与其他构件的关系;构件本体 用类a d a 符号描述,实现接口部分所体现的思想。c d l 语言是设计级的语言, 可以通过本身工具箱将c d l 转换为实现语言。 库互连语言l i l 是为开发大型软件系统而设计的c d l ,支持代码复用和经验 复用。允许软件软构件的垂直合和水平合成。 国内的研究人员也提出了很多不同的c d l ,这些c d l 都是为了从不同的角 度,运用不同的方法,进行构件的开发和复用。比如:青鸟的j b c d l l l ,面向 对象的o o c d l 【1 1 j ,支持系统组装的扩充c d l 【1 2 】,基于x m l 的w 曲应用构件 描述定义语言w a c d l 【1 3 】和支持管理在线构件管理的b c d l 【1 4 】等。 此外,c o i m a 、i d l 、d c o mo d l 和i d l 等接口定义语言都能够刻画软构 件接口的语法,并且具备编译和浏览工具的支持。然而,现在的接口描述语言和 c d l 在刻画构件接口语言和构件相互之间复杂协议方面却缺乏进一步的支持。 九十年代以来,构架描述语言( a d l ) 逐渐成为构件描述语言的主流,从一个 更高的层次来看待和解决构件应用开发和应用组装。a d l 可以视为对构件描述 语言( c d l ) 的进一步扩展。c d l 的基本思想是将构件看成是一个黑盒,仅描述构 件接口的语法和语义。而a d l 除了描述构件接口的语法和语义之外,还负责描 述系统中包括的构件和连接予以及它们之问的交互关系、构件的非功能类性质以 及构件间协议。 很多构件模型都有自己的a d l 。构架描述语言( a d l ) 基本实体是构件、接口 和连接器。构件是一个计算单元有自己的计算能力及数据。几乎每个构件都需要 其化构件的服务,同时经过计算和处理为另外的构件提供服务。构件和外界的交 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 互点即为构件接口,连接器连接构件,实现业务逻辑和构件间通讯的分离。很多 模型都有各自的a d l ,比如:s o f ac d l 【15 1 ,d a n v i n 【1 6 1 ,a c m e 觑衄e w o r k 【1 7 1 等。国内也有很多a d l ,例如:基于框架和角色模型的f r d l ,避免组合失配的 基于x a d l ,可视化软件体系描述语言i o s a d l ,基于x m l 的支持系统演化和 系统自动组装的a b c a d l 等。 然后,我们发现s o f ac d l 没有包含对构件的语义描述,不能为客户提供自 动化的构件检索与匹配。构件的选择和组装还是需要大量的人为参于。这也是大 多数构件描述语言的缺陷所在。因为很多工作都把注意力集中在组织如何组织一 系列的数据和硬件来实现信息系统上,很多语言都是以“程序员中心”,而非以 应用为中心,自动化程度底,开发时间长。 综上所述,现有的构件描述方法和描述语言对于构件的接口作了较为详尽的 考虑,但对于构件的语义规约和描述,则要么没有提供对构件行为和服务的准确 规范语义描述,要么进行了理论上的论证但实际操作可行性较小,要么服务提供 方与服务需求方无法做到要先沟通,也有一些系统,自己提出一套规范来提高查 全率、查准率以及性能,但是因为难以得到大范围的承认和推广,可操作性仍然 较低。为了解决这个问题,需要在构件语义层次上提供一种合适的面向服务的构 件描述和检索方法,一方面使用构件语义描述相对简单直观且规范,另一方面使 得在构件语义上执行的检索快速而准确。为了实现这一目标,构件提供者和构件 检索者必须描述构件所使用的术语的确切含义达成共识。这就意味着共享的理解 需要共享的定义,以及统一普适的描述语言。特别是对于构件服务,共享公共的 服务描述变得越来越重要。这迫切要求我们寻求一种与我们的需求相符的新型技 术手段。用领域本体论进行构件的描述检索,从理论和实践上都能有效地解决上 述问题,推动软件构件的发展。 1 3 论文主要研究内容和意义 本文针对当前构件描述方法与检索方法的不足,在基于本体描述的基础上, 引入了契约式设计思想,提出了基于本体的契约式构件描述语言c o c d l ,主要从 构件功能属性( 基于1 0 p e 四个方面) 和非功能属性( 安全性、可用性、事务性、吞 吐量等方面) 两个方面来对构件进行描述,并作为构件检索的依据。重点对构件 1 0 p e 中的p e 属性,即构件的前置条件与后置条件的语义描述,以及构件的服务 质量进入深入的研究,并给出统一的模型,从而达到构件的契约式描述。 现有的构件描述方法中,对构件的静态特征作了较为详尽的考虑,也获得了 较好的解决方案。但对于构件的行为约束以及构件的服务质量等在构件生命周期 中十分重要的属性缺乏准确有效的描述。利用契约式设计的思想来对构件进行描 6 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 述可以充分体现构件的功能( f 姗c t i o n a l ) 与非功能( e x t r a f u l l c t i o n a l ) 属性。 因此,在构件语义层次上提供一种合适的构件描述和检索方法,使构件提供 者和构件检索者对描述构件确切含义达成共识,并确保彼此明晰的义务和权利, 具有相当大的理论价值和实际的应用价值。 1 4 论文组织结构 本文主要围绕以下几个方面进行叙述: 第一章介绍了本文的研究背景、研究内容和意义,以及国内外研究的现状。 第二章介绍了语义w e b 服务描述语言o w l s 以及描述逻辑和s w r l 语法基础,并 引入了契约式设计的概念。 第三章提出了基于本体的契约式构件描述模型、描述方案、语法结构和上层 本体,并给出了基于本体的契约式构件描述语言c o c d l 。 第四章介绍了基于契约式的构件检索匹配设计。 第五章结合基于本体的契约式构件描述和匹配方法,给出了一个描述实例和 匹配实例,从而验证了本文所提出的描述方法和匹配方法。 第六章对本文的工作总结与展望。 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 第二章相关技术研究 2 1 语义w e b 服务描述语言一一o w l s o w l s ( w 曲o n t o l o g yl a i l g i l a g ef o rs e r v i c e s ) ,是语义w 曲中广泛用于描述 w 曲服务功能和属性的o w l 本体规范,它使用一系列的本体来来描述服务1 2 6 。, 具有良好定义的语义,需要互操作的多方可以用o w l s 来描述w 曲服务。它的早 期版本叫做d a m l s 【2 7 1 ,由美国国防高级设计研究组( d a 坡) 开发,目标是使得 w r e b 服务成为计算机可理解的实体,以便完成服务的自动发现、选择、调用、组 厶熊 口1 ro 在o w l s 中,描述w | e b 服务的基本信息主要有三类本体:s e 州c e p r o f i l e 、 s e r v i c e m o d e l 和s e i c e g r o u n d i n g ,如图2 1 所示。它们分别描述了“服务做了什么”、 “服务如何工作”、“服务如何访问”这三个方面的语义信息。 w 虹缸南c # c 抖斛s 旗c g ? l ,wl h c * c r i ( c 情u 矗c _ ? 图2 1o w l s 的顶层本体 s e r v i c e 类是对一个声明了的w 曲服务的结构化的引用点,每个s e i c e 实例将 对应一个发布的服务。而p r e s e n t s ,d e s c 抽e d b y 和s u p p o r t s 作为s e r v i c e 类的三个属 性,分别将值域映射到上面的s e r v i c e p r o f i l e ,s e r v i c e m o d e l 和s e r v i c e g r o n d i n g 。 其中: 、 s e i c e p r o f i l e :类似于服务的黄页,它描述了服务查询a g e n t 用来判断服务是 否满足它要求的一组属性信息,例如服务所提供的功能、它的输入、输出、执行 的前提条件、执行后产生的效果等。它还可以用来描述a g e n t 的需求,从而一个 匹配者可以做出双向的表达。该类用于服务的自动发现。 s e i c e m o d e l :描述了服务的过程模型( 使用服务时所涉及的控制流和数据 流) 。它描述了服务是如何工作的,和s e r v i c e g r o u l l d i n g 配合用于服务的自动组合 和执行。 s e r v i c e g r o u n d i n g :将过程模型的描述和w s d l 中的通讯协议及消息描述联 系起来。它描述了如何访问一个服务的细节,如制定消息格式、通信协议、服务 8 河海大学硕士学位论文 基于本体的契约式构件描述与检索模型研究 端口号等。 在这个对服务的上层描述中,只有两个数目上的约束:一个服务至多只能有 一个s e r v i c e m o d e l 描述:一个( r o u n d i n g 至多只能和一个服务相关联。该o n t 0 1 0 9 y 对d e s c 舶e d b y 属性没有最小数目上的限制,对p r e s e n t s 和s u p p o r t s 也没有最大数目 上的限制。 2 2 本体的d l 表示 2 2 1 描述逻辑d l 描述逻辑( d e s c r i p t i o nl o g i c ) 又称术语逻辑或概念表示语言,是基于对象 的形式化知识表示的方法。它是一阶谓词逻辑的可判定子集,能够提供可判定的 推理功能,是语义网络、框架系统方法统一的逻辑基础。描述逻辑建立在概念 ( c o n c e p t ) 和关系( r o l e ) 的基础上。一个描述逻辑系统包括四个基本的组成部分: 表示概念和关系的构造集,t b o x 断言集,a b o x 断言集,以及t b o x 和a b o x 上的推理 机制。不同的描述逻辑系统的表示能力与推理机制由于这四个组成部分的选择不 同而不同。 在描述逻辑的知识库中有两种知识:一种是关于问题领域的一般性知识,即 内涵知识;另一种是只与特定问题相关的外延知识。这两种知识分别存放在t b o x 和a b o x 中,t b o x 中的内涵知识描述的是概念的一般性质。由于概念之间存在包含 关系,t b o x 知识形成类似格的结构,这种数学结构是由包含关系所决定的,与具 体实现无关;a b o x 中的外延知识( 又称断言知识) 描述的是论域中的特定个体。一 般认为内涵知识是不变的,而外延知识依赖于特定环境,是可变的。t b o x 中声明 的基本形式是类定义,即使用已定义的概念构造算子来定义新的概念。构造术语 表的基本任务是分类,就是将一个新概念放在概念层次结构中合适的位置上。这 可以通过检查层次结构中每个概念与新概念表达式之间的包含关系来确定。新概 念的位置将位于包含它的最特殊概念和它包含的最一般概念之间。a b o x 包含论域 的外延知识,即关于个体的断言。进一步可分为概念断言和关系断言两类。即对 描述来讲,其知识库定义为:k = ,其中t 指t b o x 知识,a 指a b o x 知识。t b o x 中包含的断言形式为:c d ,其中c 和d 为概念;a b o x 中包含的断言形式为:c ( a ) 或r ( a ,b ) ,其中c 是概念,r 是关系,a ,b 是个体实例。通常描述逻辑包含以下构 造算子:交( 人) ,并( v ) ,非( 1 ) ,存在量词( 了) 与全称量词( v ) 。这种基本的 描述逻辑称为a l c ,s h o q ( d ) 是在a l c 的基础上增加了处理数据类型和命名等构造, 表达能力比a l c 更加强大。 描述逻辑的重要特征是其具有很强表达能力的同时又具有可判定性,它能保 9 河海大学硕士学位论文 基于本体的契约式构件描述与检索模型研究 证推理过程总能停止并返回正确结果。可满足性问题是描述逻辑推理的主要问 题。s h m i d t 和s m o l k a 首先提出了用于描述逻辑a l c 的t a b l e a u 算法【1 9 j ,该算法能在 多项式时间内判定a l c 概念的可满足性问题。h o r r o c k s 给出了用于s h o q ( d ) 逻辑的 t a b le a u 算法【2 0 1 。 描述逻辑作为一种用来描述概念和概念层次关系的知识表示语言,尽管没有 一阶逻辑的表达能力强,但推理复杂度是可知的,更适用于需要推理功能的应用。 而且描述逻辑的语法容易轮换成) ( m l r d f 形式,因此基于描述逻辑的本体模型更 适合用构件环境下概念建模与知识共享。 2 2 2 基于d l 的本体模型 一个本体通常由四部分组成:用来表示具有共同性质的一类事物的概念;用 来表示概念或它们的属性之间的关联的关系;用于对概念或实例的值进行约束的 公理,即一些永真式;以及用于表示类的一个具体的个体实例。 由描述逻辑的相关概念可知,描述逻辑的主要表达方式是用概念描述。它一 般是通过一组概念名和实例名,利用概念和构造算子递归定义新概念。本节将利 用描述逻辑来对本体进行抽象,建立基于描述逻辑的本体模型,通过这个模型, 可以看到本体知识可以完全使用描述逻辑进行描述。这也为本文后面用s w r l 来 描述构件的前后置条件提供了理论基础,具体详见第四章基于本体的契约式描 述。 首先,给出几个基于描述逻辑的相关符号: 设c s 是概念类集合,包括原子概念类a c ,原子属性a p 和复合概念类c c , 记为c s = 。其中c c 中的概念由a c 中的原子概念通过构件算子获得, 这里可以使用描述逻辑的构件算子集,记作s 。例如:在线支付构件服务描述中 的c l i e n t ,c r e d i t c a r d 为原子概念类,则利用c r e d i t c a r d v c l i e n t 就可以定义 复合概念,即某客户持用自己的信用卡对象。原子属性a p 包括两种属性:一种 是类属性,一种是类据属性,其中概念类属性用来描述概念间的关系,数据属性 用来表示概念类本身的属性。 本体模型可以表示一个四元组,记作:o = ,其中,s 也即是上 文提及的描述逻辑中的构件算子集,c s 为概念类集合,i s 为关系断言及概念断 言集,用来表明实例,r a 用来表明公理和关系,也即是本体知识中的概念用c s 表示,概念类间的关系一部分可以用c s 中的属性进行表示,例如h a s c r e d i t c a r d 属性可以用来表示概念c l i e n t 和概念c r e d i t c a r d 的关系,即c l i e n t 持有 c r e d i t c a r d ;另一部分概念间的关系表示层次关系,如概念g r e e n c a r d 是 c r e d i t c a r d 的子类。公理集r a 除包括类和属性层次关系外,还包括了其他的约 l o 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 束,例如:c r e d i t c a r d 至少对应一个c a r d n u m b e r 。本体知识中的实例集和断言 集用i s 表示,如实例s i m e n 分别是c l i e n t 概念类的一个实例。由于c c 中的复 合概念,公理约束集r a 是由a c 中的概念和a p 中的属性通过s 中的构造算子获 得的,因此构造算子的多少直接将决定了可定义的复杂概念的数量以及定义本体 的复杂程度。 2 2 3 基于d l 的本体推理 描述逻辑的推理主要包括:一致性、可满足性、包含检测、实例检测和可判 定性检测等。其推理功能主要集中在包含检测和可满足性上。 描述逻辑的推理问题具有很多领域的应用,本文主要关心如何运用描述逻辑 对构件服务的前后置条件进行推理。下面,对描述逻辑的推理在前后置条件中的 推理应用分别进行说明: 一、实例推理 实例推理即是描述逻辑的a b o x 层的推理。 a b o x 推理运用于构件描述的前后置推理主要用于实例检测,即检测某个给定 的个体是不是某个特定概念的实例,如检测s i m e n 是不是c 1 i e n t 的实例;知识 库一致性检测,即检测知识库中每个概念对应的实例集是否为空集。所有这些推 理问题都可以运用实例检测来完成。 实例推理在基于本体的构件服务描述的应用主要包括: 1 ) 分类:判断本体中的某个实例对象是否属于某个概念类,比如:已知s i m e n 是 个人,判断他是不是属于c 1 i e n t 类; 2 ) 实例之间的关系:判断两个实例之间是否具有某个关系或者某种属性关联,例 如:己知k 1 2 3 4 是张c r e d i t c a r d 的卡号,判断它是不是属于s i m e n 所持有。 3 ) 检索某个概念有哪些实例。 二、概念推理 概念推理,即描述逻辑的t b o x 层推理,主要包括两种: 1 ) 概念的可满足性推理:判断新引入的概念是否与已有的概念一致; 2 ) 包容( 蕴含) 关系的确定:决定某一前( 后) 置条件是否决定了另一个前后置条 件,特别地,在进行构件服务的检索时,当服务请求者提出一组请求时,推理机 就应该断判请求者所给了前置条件是否满足构件库中某些构件的所需的前置条 件,也即是构件库内的构件服务的前置条件是否蕴含了请求者所提交的前置条 件。 概念的可满足性即判断概念与已有的概念集是否相容,主要用于进行概念集 合的一致性检测。即判断一个概念是否有实例可以使它得到满足,例如 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 c 1 i e n t ( ? x ) c r e d i t c a r d ( ? x ) 这种概念很明显就是不可满足的。术语的可满足性 用于评介术语公式对于术语集是否有意义。 概念的包含性包括概念之间的包含关系检测和等价性检测,如 b a l a n c e ( ? x ) s w r l b :l e s s t h a n ( ? x ,5 0 0 0 ) 是否属于b a l a n c e ( ? x ) s w r l b :1 e s s t h a n ( ? x ,3 5 0 0 ) 即为包含性检测。等价性检测用于评价两个概念是否具有相同的实 例集。如果两个概念术语的解释的交为空,则称二者非交。 2 3s w r l 综述 s w r l 作为w 3 c 成员提交版于2 0 0 4 年5 月2 1 日发布【3 0 】,出发点是合并o w l 子语言0 w ld l o w ll i t e 与一元二元d a t a l o gr u l e m l 子语言,其中r u l e m l 是 t h er u l em a r k u pi n i t i a t i v e 【3 1 】的提案,着眼于规范规则的) ( m l 文法。自然,s w r l 搭建在) ( m l ,r d f ( s ) 和o w l 之上,并与r u l e m l 相融。 s w r l 在o w l 中加入了规则,因为规则能够提供更强的逻辑表达能力。例如, 可以定义: p a r e n t ( ? x ,? y )“b r o t h e r ( ? y ,? z )= u n c l e ( ? x , ? z ) o w l 则不能定义这样的关系。尽管s w r l 刚刚被研究,但是一阶逻辑已经被很 充分地研究过了。另外,结合一阶逻辑也使得s w r l 可以容易地与传统的关系数 据库进行交流。 s w r l 的特点是直接在o w l 上加h o r nr u l e ,并且对r u l e 的解释是和o w ld l 兼容的,为了这个兼容性,r u l e 里面常用的失败即否定( n e g a t i o na sf a i l u r e , n a f ) ,还有原子公式的否定都抛弃了,其原因主要是在语义w e b 这样的开放环境 下,确定一个全集是很困难的,因而也就无法表示一个原子的否定。尽管s w r l 仍然处于设计阶段,但是可以确定的一点是,s w r l 的计算复杂度是不可判定的 【3 2 1 ,另外,因为描述逻辑( d l ) 只是一阶逻辑( f o l ) 的一个子集,所以它的推理能 力要比一阶逻辑差许多。一个可行的解决办法是借鉴o w l 的方法一发展多个子 语言来获得推理能力与计算的复杂度的折衷,这项工作虽然还没有正式的开始, 但是已经被考虑过了。2 0 0 5 年9 月1 1 日p e t e rf p a t e 卜s c h n e i d e r 等人就提 出了一个s w r lf u ll 的候选方案s w r lf o l ,该提案通过一阶逻辑来扩展s w r l 以 获得更强的语义表达能力。另外,针对w e b 开放环境下的模糊性,也有学者提出 了利用模糊逻辑扩展s w r l 来处理w e b 上的不完整的和不精确的信息。 s w r l 规则主要分为四部分组成,分别是i m p 、a t o m 、v a r i a b l e 和b u i l d i n g 。 在i m p 中保留了r u l e m l 中以h e a d 表示推理结果,b o d y 表示推理前提的基本形 态。h e a d 和b o d y 中的允许出现的基本成分是原子,即其架构中所使用的h o r n 子句都是由原子所组成。i m p 的h e a d 部分只允许出现有一个原子,而b o d y 部分 1 2 河海大学硕士学位论文基于本体的契约式构件描述与检索模型研究 允许出现若干个原子的合取,即规则具有h o r n 子句的特征,而具有h o r n 子句形 式可以便于推理。原子中所使用的变量部分记录在变量中,在原子分为四种形式: c ( x ) ,c 是o w l 的类描述;r ( x ,y ) r 是o w l 的属性而x ,y 可以是变量,o w l 个 体或是o w l 数值;s a m e a s ( x ,y ) ,表示x 和y 等价;d i f f e r e n t f r 鲫( x ,y ) ,表示 x 和y 不同。 每条s w r l 规则可看作一条公理,其抽象文法为: a x i o m := r u l e r u l e := i m p li e s ( u r i r e f e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论