(计算机应用技术专业论文)基于本体论的可复用构件表示研究及应用.pdf_第1页
(计算机应用技术专业论文)基于本体论的可复用构件表示研究及应用.pdf_第2页
(计算机应用技术专业论文)基于本体论的可复用构件表示研究及应用.pdf_第3页
(计算机应用技术专业论文)基于本体论的可复用构件表示研究及应用.pdf_第4页
(计算机应用技术专业论文)基于本体论的可复用构件表示研究及应用.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)基于本体论的可复用构件表示研究及应用.pdf.pdf 免费下载

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

文档简介

摘要 近几年来,软件复用研究已称为热点问题,被视为能解决软件危机,提高软 件生产效率和质量的现实可行的途径。经过了几十年的努力与发展,软件复用的 思想虽然己目趋完善与成熟,软件复用的方法却并没有在软件生产中被广泛地系 统化与实践化,如何有效去获取构件的信息成为研究的主要问题。在构件库中要 检索自己所需的构件,则必须具有构件的相关信息,那也就意味着构件的描述需 能代表构件的特征,因此构件的表示成为软件开发过程中的一个核心问题。 构件的表示与检索是构件库研究的关键技术,而构件的表示是构件检索的基 础,本文主要研究的是构件的表示。在传统的构件表示方法中,采用最多的是刻 面分类方法,然而该方法存在一定的局限性,即不能全面的将构件的信息表示出 来,也就是说在表达语义的能力上存在一定的约束。本文在传统的表示方法的基 础上引入了本体的概念,建立起基于刻面的构件分类和描述结构,建立构件本体, 以为提高构件的识别能力。本文主要从本体论的角度对构件的表示做了以下研 究: 首先,对现有构件的表示方法进行分析与研究,并重点分析了构件的刻面表 示方法。在分析的过程中,参照国内外构件库系统的表示方式,给出构件表示模 式。 其次,对领域本体的组成、描述方法及如何构建进行了研究。采用o w l 语言 对本体进行描述。提出了一个面向对象的领域本体构建方法,并根据该方法建立 c e m ( 高校教育管理) 领域本体。通过对传统方法的研究,在对构件进行刻面表 示的基础上引入本体,将刻面分类方法和领域结合起来,建立一个构件的表示模 型。与传统的方法相比,此方法更能提高构件的语义表达能力,从而提高构件的 检索能力。 最后,在所提出的构件表示模型的基础上,开发了一个基于演绎的构件生成 与组装平台,在此平台上,该方法得以实现。 关键字:软件复用;构件;本体;领域本体;o w l ;刻面分类;x i i l a b s t r a c t i nr e c e n ty e a r s ,t h er e s e a r c ho fs o f t w a r er e u s eh a sb e e nr e f e r r e dt oa sh o t s p o t s ,w h i c ha r ec o n s i d e r e dt ob ea l le f f i c i e n tw a y ss o l v i n gt h es o f t w a r ec r i s i sa n d i m p r o v i n g s o f t w a r ep r o d u c t i v i t ya n dq u a l i t y a f t e rd e c a d e so fe f f o r t sa n d d e v e l o p m e n t ,w h i l ei d e ao fs o f t w a r er e u s ea r em a t u r i n ga n dr i p e , h o w e v e r , t h e a p p r o a c ho fs o f t w a r er e u s eh a sn o tb e e ni nt h es o f t w a r ep r o d u c t i o na n dp r a c t i c eo f s y s t e m a t i cb r o a d - b a s e d ,a n dh o wt og ot oo b t a i ni n f o r m a t i o no fc o m p o n e n tb e c o m e t h em a i np r o b l e mo fr e s e a r c h s e a r c h i n gt h ec o m p o n e n tn e e d e di nt h ec o m p o n e n t l i b r a r y , w em u s th a v es o m ei n f o r m a t i o na b o u tc o m p o n e n t i tm e a n st h a td e s c r i p t i o n o fc o m p o n e n tc a nd e n o t ei t s od e n o t a t i o no fc o m p o n e n ti sak e yp r o b l e mi nt h e p r o c e s so fs o f t w a r ed e v e l o p m e n t t h ed e n o t a t i o na n dr e t r i e v a lo fc o m p o n e n ta r et h ek e yt e c h n o l o g i e s a n dt h e r e t r i e v a li sb a s e do nt h ed e n o t a t i o n t h i sa r t i c l em a i n l yr e s e a r c hd e n o t a t i o no f c o m p o n e n t i nt h ew a yo ft h et r a d i t i o n a lc o m p o n e n td e n o t a t i o n ,f a c e t b a s e dc l a s s i f i e d a n dd e s c r i p t i o no fc o m p o n e n td e n o t a t i o n ,b u ti th a v es o m el i m i t a t i o n si ns e m a n t i c d e s c r i p t i o n t h i sa r t i c l el e a di n t oo n t o l o g yc o n c e p to nt h eb a s e do ft r a d i t i o n a lw a y , e s t a b l i s h i n gb a s e do nf a c e t e dc l a s s i f i c a t i o na n dd e s c r i p t i o no ft h ec o m p o n e n t s t r u c t u r ea n ds e t t i n gu po n t o l o g yc o m p o n e n t st h a te n h a n c et h ea b i l i t yt oi d e n t i f y c o m p o n e n t s i nt h i sp a p e r , a u t h o rm a i n l ym a k et h ef o l l o w i n gr e s e a r c hf r o mt h e p e r s p e c t i v eo fo n t o l o g y f i r s t l y , a n a l y z e da n d r e s e a r c h e dt h em e t h o do fd e n o t a t i o nc u r r e n t l ya n ds t r e s st h e f a c e td e s c r i p t i o nm e t h o d ,i nt h ep r o c e s so fa n a l y s i s ,i nt h el i g h to fd o m e s t i ca n d f o r e i g nc o m p o n e n t ss y s t e m ,t h em o d e lo fc o m p o n e n td e n o t a t i o nh a sb e e ng i v e n s e c o n d l y , a c c o r d i n gt ot 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 t h e np r o p o s e s a n o b j e c t - o r i e n tc 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 ee 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 t h ep a p e rb r i n g st h eo n t o l o g yb a s e d t h ef a c e tc l a s s i f ya f t e rt h er e s e a r c ho ft r a d i t i o n a lm e t h o d c o m b i n e st h ef a c e ta n d d o m a i n ,p r o p o s e sam o d e lo fc o m p o n e n td e n o t a t i o n c o m p a r e dw i t ht r a d i t i o n a l m e t h o d s ,i tc a ni m p r o v et h ea b i l i t yo fc o m p o n e n t se x p r e s s i o na n dt h ec a p a b i l i t i e so f c o m p o n e n t sr e t r i e v a l f i n a l l y , o nt h eb a s e do ft h ec o m p o n e n t sd e n o t a t i o nm o d e l ,w ed e v e l o p e da i l c o m p o n e n tg e n e r a t i o na n da s s e m b l yp l a t f o r m o nt h ep l a t f o r m ,t h ek e yt e c h n o l o g y c a nb ei m p l e m e n t e d k e y w o r d s :s o f t w a r er e u s e ;c o m p o n e n t ;o n t o l o g y ;d o m a i no n t o l o g y ;o w l ; f a c e t e dc l a s s i f i c a t i o n ;x m l i i i 硕士学位独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得或其他教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示 谢意。 学位论文作者签名:签字日期:年月 日 学位论文版权使用授权书 本学位论文作者完全了解江西师范大学研究生院有关保留、使用 学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅。本人授权江西师范大学研究生院 可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:导师签名: 签字日期:年 月 日 签字日期:年月 基丁本体论的可复,甘构件表示研究及应用 第一章概述 1 1论文研究背景和意义 2 0 世纪6 0 年代以前,计算机刚刚投入使用,软件设计只是为了一个特定的 应用而在指定的计算机上设计编制。软件的规模比较小,很少会使用系统化的开 发方法,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生 产方式。6 0 年代中期,随着大容量、高速度计算机的出现,使计算机的应用范 围迅速扩大,软件开发急剧增长。软件系统的规模越来越大,复杂程度越来越高, 软件可靠性也越来越突出,这使得原有的设计方式已不能满足现有的要求。迫切 需要改变软件的生产方式和提高软件的生产率。当落后的软件生产方式无法满足 迅速增长的计算机软件需求,从而导致软件开发维护过程中出现一系列严重问题 的现象,我们称之为“软件危机”。自从m c l l o y 在1 9 6 8 年的n a t o 软件工程会 议上正式提出软件复用的概念以来,软件复用已有了近四十年的发展历程,复用 的对象也从早期的代码复用扩展到对软件开发过程中一切有价值的信息的复用, 包括需求、需求规约、设计、源代码、测试计划和测试案例等。时间证明,软件 复用可以有效的提高软件的质量和生产率,是解决当前“软件危机的一条现实可 行的途径 。 软件复用,是将已有软件的各种有关知识用于建立新的软件,以缩减软件开 发和维护的费用。当前许多软件组织机构都在建立自己的可复用软件库,以实现 软件的可复用价值,降低生产的成本。在现实的软件开发中,必然存在大量的重 复劳动。而软件复用作为提高软件生产率和质量的一种重要技术,能够使人们在 软件开发中不必“重新发明轮子 或“一切从零开始”,提高了软件生产率和质 量,更有效的缩短了开发周期,降低了开发成本。 经过了几十年的努力与发展,软件复用的思想虽然己日趋完善与成熟,软件 复用的方法却并没有在软件生产中被广泛地系统化与实践化,主要是因为软件 复用中的一些关键的技术问题并没有得到很好的解决,如:如何来表示和描述可 复用构件以及如何从构件库中检索构件等等。同时,在现实中,软件复用也面临 着一个矛盾:一方面存在大量的可复用软件;另一方面复用者很难找到真正需要 的构件。要解决这个问题,就需要借助检索工具对构件库进行有效的查询,而对 构件进行有效的分类是检索的基础。一个好的分类模式可以提高构件检索的效 率。因此,要提高构件的检索能力,则必须要选择一个合适的分类方法。对构件 的分类就是为了高效方便的检索,而构件的分类最终体现在构件的分类描述上。 硕十学位论文 即要解决的关键问题是应用什么分类方法对构件进行表示提高检索速度。 随着不同领域的可复用构件的数量增加,要在庞大的构件库中查找相应的构 件很困难,对检索构件增加了难度,而要检索所需的构件,这又依赖于对构件的 有效表示和描述,以提高对构件的查全率和差准率。w f r a k e 从构件表示出发, 将现有的方法分为人工智能方法、超文本方法和信息科学方法。w f r a k e 重点讨 论了信息科学方法,因为这是在软件复用项目中,应用较为成功的途径。在信息 科学方法中,常见的方法有枚举、刻面、属性值、关键词和正文检索。其中,以 刻面和关键词应用最多。 1 2论文的研究现状 1 2 1 构件库的研究现状 构件库作为软件复用的基础设施,成为近十几年来软件复用的研究热点和重 点。构件技术在理论和时机应用中已被人们普遍关注。国内外学术界对可复用构 件库系统及其相关技术进行了比较深入的研究。当前已有一批典型的构件库研究 系统工作。如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 ) 标准和r i g ( r e u s e l i b r a r yi n t e r o p e r a b i l i t yg r o u p ) 标准等;r e b o o t ( r e u s eb a s e d o n o b j e c t o r i e n t e dt e c h n i q u e s ) 系统和青鸟构件库管理等系统,以及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 ) 等模型方面的研究。 m c l l r o y 在1 9 6 8 年n a t o 软件工程会议上提出了一个刻面分类模式。其中的 刻面不必彼此独立或适用于所有的构件。在对构件进行分类的时候,并不一定要 求所有的刻面术语都应出现在刻面上,但是,一个典型的刻面集合包括:对象、 功能、算法、构件类型、语言和环境心1 。用户没有必要了解所有的刻面术语,刻 面术语之间具有同义词关系,一组同义词表达一个概念,术语空间由这些俗语构 成术语之间没有一般特殊,即术语空间是非结构化的。 r i g ( r e u s e1 i b r a r yi n t e r o p e r a b i l i t yg r o u p ,可复用库互操作组织) 是 一个支援的基于一致意见的组织,由来自政府、学校和私人企业的成员组成。r i g 认为,当前几乎没有有效的方法在众多的政府和企业界软件复用库间共享软件构 件,其结果是低效和不必要的冗余。可互操作性,即复用库问软件构件的共享, 可能是在短期内提高效率、增加复用库的价值和影响,并在长期中避免不兼容协 议的爆炸性增长的关键“。 r e b o o t 是欧盟信息技术计划e s p r i t 中的一个项目,目标是研究、开发以及 推广复用驱动和面向对象的软件技术;是一个包括储存可复用软件构件的数据库 和一组产生、认证、插入、提取、评价和适配可复用构件的工具的环境h 1 。在对 构件分类的过程中主要采用了刻面的分类方式,这个策略主要针对面向对象的构 2 基丁本体论的可复用构件表示研究及应用 件。但是,从整体上来说,它的刻面分类模式主要针对的是源代码级别的构件, 没有描述粒度较大、结构较复杂的构件如模式、框架等的能力。 青鸟构件库管理系统( j b c l m s ) 是国家“九五”重点科技攻关项目之一。是 “基于构件一构架模式的软件复用支持系统”的核心子系统,用于对可复用构件 进行描述、管理、存储、分类和检索,以满足基于“构件一架构”复用的软件开 发过程中的需要。在对构件分类的过程中,青鸟构件库系统采用的是以刻面分类 方式为主,多种分类模式相结合的构建表示方法、它定义了5 个刻面:使用环境、 应用领域、功能、抽象层次和表示方法。 a l o a f 是由美国的s t a r s ( s o f t w a r et e c h n o l o g yf o ra d a p t a b l e ,r e li a b l e s y s t e m s ) 项目为了解决构件库之间共享资源和实现无缝互操作的问题,于9 2 年 所提出来的一个开放体系结构的构件框架。在该文档中包括构件库框架的参考模 型、互交换构件的所需的数据模型和约定格式的规约以及一个在参考模型上支持 构件互交换和构件描述的框架服务规约。 1 2 2 构件表示的研究与现状 构件的表示与检索是构件库研究的关键技术,研究人员对它已有一定的研究, 并提出了许多相应的表示方法。w f r a k e s 从构件的表示出发,将现有方法分为 人工智能方法、超文本方法和信息科学方法,其中信息科学方法是实际的复用项 目中应用比较成功的途径,常见的有枚举、刻面、属性值、关键字和正文检索。 h m i l i 则按照复杂度和检索效果的递增,将其分为基于文本的、基于词法描述 的、基于规约的编码和检索3 类。 在实际复用项目中,应用较为成功的是信息科学方法,具体分类图如下图卜1 所示: 于不受控的词汇表 白正文l ! 术语取皇正文 术语有语义jl 术语无语义 图l - 1 信息科学方法编目方法分类图 在该分类方法中,枚举、刻面、属性值、关键字和正文检索是常见的,但最 为常用的是刻面和关键字。 1 3论文主要研究内容 硕十学位论文 构件库系统主要解决的问题是构件的表示、检索、管理、安全和维护等功能。 其中,对构件进行有效的表示和检索是构件库管理系统的关键技术。构件的检索 效率是衡量构件库管理系统的一个重要的指标,而要提高构件的检索效率,则必 须有一个优质的表示模型。因此,它们一直是构件管理系统研究的一个重点、难 点和热点。目前应用最多的构件分类方式是刻面分类方式,本文在对构件进行表 是的过程中,采用刻面分类方式并在此基础上引入领域本体的概念,建立一个构 件表示模型。 通过上文的介绍,本文研究的基本内容主要有: 1 对现有构件的表示方法进行分析与研究。在分析的过程中,参照国内外 构件库系统的表示方式,给出构件表示模式。 2 对领域本体的组成、描述方法及如何构建进行了研究。采用o w l 语言对 本体进行描述。 3 在对构件进行刻面表示的基础上引入本体,将刻面分类方法和领域结合 起来,建立一个构件的表示模型。 1 4 本文的内容组织 ,: 本文组织结构如下: 第一章概述:介绍了论文的研究背景与研究意义、分析了当前国内外构件库 系统的研究现状和构件表示的研究现状和本文的主要工作以及论文安排。 第二章构件以及构件库理论:本章主要从构件的定义和特点对构件进行详 细的阐述,同时分析了目前构件的分类方法和形式化描述语言,给出来当前现有 的构件模型。在此基础上介绍了软件构件库。 第三章本体及其理论研究:本章主要阐述了本体的定义及本体的分类方法, 介绍了本体的描述语言,给出了当前较常见的本体构建方法。 第四章基于刻面分类的构件表示:介绍了刻面分类方法的定义和分类模式, 分析了当前几个常见的刻面分类模型,给出了构件的描述语言x m l ,并指出刻 面分类的不足以及解决方法。 第五章基于本体与刻面相结合的构件表示:在本章中提出了一个新的分类 方法,即在刻面分类的基础上,引入领域本体的概念。通过此方法,给出了刻面 分类与本体相结合的表示模型并建立了c e m ( 高校教育管理) 领域本体。同时, 实现了基于o w l 的构件表示。 第六章构件表示方法在c p a p 系统中的实现:本文首先对构件组装平台 ( c p a p ) 进行介绍,在此系统中,给出了具体的刻面实现方法,建立了c e m 领 域本体库,并给出了领域构件生成方法,在c p a p 平台中,实现了基于本体论下 的构件的表示模型。 4 基丁 本体论的可复用构件表示研究及应用 第七章总结与展望:总结全文,对于构件刻面描述的分类的工作作出总结, 并提出进步完成的工作。 硕士学位论文 第二章构件以及构件库理论 2 1 构件概述 软件构件技术是支持软件复用的核心技术。构件技术以面向对象技术为基 础,并很好的发展了面向对象技术。目的是要将对象,包括用户界面、对外接口 等属性以及对象的功能实现封装成一个规范的、标准的、可以方便地被构件容器 所操纵和使用的整体,使其称为一个通用、高效的软件部件。 2 1 1 构件定义 软件构件技术是支持软件复用的核心技术,是近几年来迅速发展并受到高度 重视的一个学科分支,其主要研究内容包括构件获取,构件模型,构件描述语言, 构件分类与检索,构件复合组装和构件标准化。目前,关于构件并没有一个统一 的定义,以下是一些典型的有关构件的定义: 1 ) s a l n e t i n g e r 认为:构件是自包含、可清晰标识的片断,执行特定的功能, 有着清楚的接口、恰当的文档和己定义的复用状态t 5 1 。 2 ) 文献1 认为:构件是指语义完整、语法正确和有重用价值的单位软件,包 括程序代码、测试用例、设计文档、设计文档、设计过程、需求分析文档甚至领 域知识等。 3 ) o m g 组织在制定u m l 规范时认为:构件是系统的一个物理的、可替换的 部分,它包装实现并且提供了一组接口的实现。一个构件表示系统实现的一个物 理部件,包括软件代码或者其等价物,如脚本或命令文件等1 7 1 。 4 ) c a m e g i e m e l l o n 大学软件工程研究所的b a c h x n a n 认为:构件是非透明的功 能实现,可供第三方组装,并遵循一个构件模型1 8 1 0 5 ) h e i n e m a n 认为:构件是这样的构件元素,它符合一种构件模型,能被独 立地部署,且可未经修改地依据一种合成规范被组装1 9 1 。 6 ) 著名软件构件学者s z y p e r s k i 认为:构件是一个带有契约化接口规约和显 示上下文依赖的组装单元,构件可以被独立发布并且可以被第三方组装。该定义 已被广泛的接受l o i 。 总的来说,不论哪种定义,可复用构件应具备以下几个基本要求: ( 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 ) 适应性( a d a p t a b i l i t y ) :构件应该易于通过参数化等方式在不同语境中 6 基丁本体论的可复川构件表示研究及应用 进行配置; ( 5 ) 可移植。l 生( p o r t a b i l i t y ) :构件应能在不同的硬件运行平台和软件环境中 工作。 2 1 2 构件特点 从抽象程序来看,面向对象技术是以类为封装单位的,从理论上说已经达到 了类及重用( 代码重用) ,但是这种重用的粒度还太小,不足以解决异构互操作 和效率更高的重用。而构件是将抽象的程度提高到了个更高的层次,它是对一 组类的组合进行封装,并代表完成个或多个功能的特定服务,也为用户提供了 多个接口。构件具有两大特点:一是构件隐藏了具体的实现,只用接口对外提供 服务。二是构件之间是相互独立存在的,彼此之问的操作互不干扰。 构件应该具备以下几个特征t l ll t ( 1 ) 自描述:构件必须能够识别其属性、存取方法和事件,这些信息可以使 开发环境将第三方软件构件无缝地结合起来。 ( 2 ) 可定制:提供一个典型的图形方式环境,软件构件的属性只能通过控制 面板来设置。 ( 3 ) 可集成:构件必须可以被编程语言直接控制。构件也可以和脚本语言连 接或者从代码级访问构件的环境连接,这个特性使得构件可以在非可视化开发项 目中使用。 ( 4 ) 连接机制:构件必须能产生事件或者具有让程序员从语义上实现相互连 接的其它机制。这意味着程序员可以很容易地向按钮添加代码,使点中按钮就可 以影响其它构件的动作。 以上均充分的说明了构件的独立性、互换性和功能性,即构件不存在于某一个 系统,它可以被相同功能的构件所替换,并且具有实际的功能意义。 2 2 构件的分类与描述 2 2 1 构件的分类方法 软件复用被视为能解决软件危机,提高软件生产效率和质量的现实可行的途 径。对单个构件的复用可以划分为构件的识别与检索、构件理解和适应性修改三 部分,复用公式为: 复用成本= 检索成本+ 理解成本+ 修改成本【1 2 】 由此我们可以看出,要将复用的成本降低,则需提高系统对构件的理解能力, 即采用合适的构件表示方法,对构件进行有效的分类和描述,才能降低系统对构 件的检索成本、理解成本和修改成本。 对大量构件进行分类有三个好处:便于组织管理、方便查询和辅助理解。构 7 硕十学位论文 件分类是建立和维护构件目录信息的活动,构件的检索方法依赖于构件的表示和 分类。对可复用构件进行分类应该满足下面的标准1 1 3 i : 1 可以容纳不断扩大的构件集合,这是大部分软件组织的特点之一。 2 支持寻找相似构件的能力,而不是精确匹配。 3 支持跨领域寻找功能等同构件的能力。 4 准确并且有较强的描述能力。 5 易于维护,即增加、删除、更新分类的结构和词汇不需要对构件重新分 类。 6 对于管理人员和用户来说都易于使用。 7 服从自动化的过程。 构件分类是软件复用的关键问题之一,目前已经有多种不同的分类方法用于 组织软件构件,以便构件的查询和检索。从不同的角度可以对分类模式进行不同 的划分:h m i l i 根据构件检索的复杂度将构件分为基于文本的、基于词法描述子 的和基于规约的描述方法三类:从构件的表示出发,w f r a k e s 将现有的构件分类 方法划分为人工智能方法、超文本方法和信息科学方法三类。其中,信息科学方 法在实际构件库的项目中应用较为成功。信息科学方法又分为基于受控词汇表 ( 如枚举、刻面) 分类和基于不受控词汇表( 如关键词) 分类两种形式。其中关 键词分类、枚举分类、属性值分类、刻面分类是构件库中较为常见的分类方法【h 】, 如图2 1 所示。 图2 - 1 信息科学方法编目方法分类图 在此分类方法中,基于受控词汇表的分类方法为研究的重点,它的主要特点 就是用来进行分类检索的词汇表是一个有限集合。基于不受控词汇表的分类方 法,一般是对构件描述信息的全文进行处理的方式。以下是对目前几种常用的分 类方法的简要介绍: 1 ) 枚举分类:将一个相关的领域严格划分为若干不相交的子领域,通过若 干次分解形成构件的层次结构。实际的构件处于最底层,其他层次则表示构件所 属的父类或祖先类。该方法对问题进行划分后,概念清晰,便于理解和使用,但 基丁本体论的可复用构件表示研究及应刚 是此分类模式难以伴随领域的变化而演化,所表示的关系也受到限制。 2 ) 刻面分类:由术语或刻面、刻面的值的集合描述。将术语置于一定的语 境中,从反映构件本质特性的不同刻面对构件进行分类。一个刻面分类模式由一 组描述构件本质特征的刻面所组成【l5 】( 即术语空间) ,每个刻面从不同的侧面对 构件库中的构件进行分类。与枚举等分类方法相比,刻面方法更灵活、精确,具 有较好的扩展能力。 3 ) 关键词分类:关键词分类简单而且普遍,每个构件以一组与之相关的关 键词编目,一般认为关键词的取值不受限制。由于关键词缺少上下文语境而不够 精确,导致该方法所支持的查询效率不高。 4 ) 屙陛值分类:该分类中每部分由属性和相关的值的集合所描述。与刻面分 类相似,所不同的是刻面对应的术语空间是有限的不定空间,而属性的值域往往 是无限的确定空间,刻面的选择也远比属性要慎重。 在上述各种分类模式中,各有各的优缺点,但是刻面分类方法使用更为广泛。 刻面分类方法从不同的角度去描述问题,弥补了关键词分类策略的杂乱无章,结 构上也比属性值分类更为合理,也没有枚举分类方法开销大,并却容易扩展。 也正由于它具有如此多的优点,本文在本体的基础上,采用了刻面分类的方法对 构件进行有效的分类。 2 2 2 构件的形式化描述 构件描述是指对构件的功能与接口进行说明,为构件的组装提供必要的信 息。描述构件的方法有多种,可以采用形式化的规格描述方法,也可以用其他形 式话的技术,一般使用基于形式化的构件描述语言进行构件的描述。目前国际软 件工程界已提出了多种形式化描述语言,如:r a p i d ,w r i g h t ,c 2 ,d a r w i n ,s a d l 等。他们的特点和应用领域各不相同。对于大多数人来说,形式化描述不熟悉, 且形式化描述又是领域相关的,以至于难于理解,不利于推广,但是,形式化描 述方法在精确定义概念,如:无二义性、完整性和一致性等,都能达到所预期的 效果。因此,越来越多的研究者使用形式化描述方法进行体系结构及构件的描述、 设计和开发。 构件可以用一个四元组来表示: 构件( 构件标识符,构件说明,构件体,接口) n 引; 其中构件标识符是构件在构件库中的唯一标识。把构件说明、构件体和接口 分开的原因是考虑到同一个构件说明可以由不同的程序设计语言来实现。即使同 一个构件可以有多个不同语言实现的构件体。值得说明的是,构件的接口不仅要 提供外部物理实现接口,而且还要提供一个外部逻辑接口,外部逻辑接口是给用 户提供一个非形式化的该构件的功能描述,这样更能方便用户了解和使用构件。 2 2 3 构件模型 9 硕十学位论文 构件模型是关于开发可重用软件构件和构件之i 日j 相互通信的一组标准的描 述,是对构件本质的抽象描述,主要是为构件的制作与构件的重用提供依据。本 文是在本体的基础上对构件进行研究,研究领域是高校教育管理领域。目前,学 术界和产业界都己出现了多种构件模型。对它们进行研究和探讨,有利于该领域 系统软件构件模型的建立。 以下是对几种具有影响力的构件模型的介绍,目的是以此为基础,研究构件 的基本性质,给出领域构件的表示模型。 1 ) 3 c 模型。3 c 模型是学术界普遍认同的一个具有指导性作用的构件模型, 最早在8 0 年代由“r e u s ei np r a c t i c e ,工作室提出。该模型从概念( c o n c e p t ) 、 内容( c o n t e n t ) 和语境( c o n t e x t ) 三个不同的方面来描述构件。概念是关于对“构 件做什么? 的抽象描述,构件使用者可以通过概念去理解构件的特征 ( s i g n a t u r e ) 、行为( b e h a v i o r ) 和功能( f u n c t i o n ) 。通常,概念应包括接口说明 和语义描述两个部分,前者用于描述构件的特征和行为,后者用于描述构件的功 能。内容是概念的具体实现,描述构件如何完成概念所刻画的功能。语境则是构 件和外围环境在概念级和内容级上的关系。语境刻画了构件的应用环境,为构件 的选用和适应性修改提供指导。 2 ) r e b o o t 模型。r e b o o t 构件模型最大的特色就是将刻面分类的方法运用于 构件模型的建立。因此,r e b o o t 模型也被称为刻面分类模型( f a c e t e d c l a s s i f i c a t i o nm o d e l ) 。在该模型中考虑了四个与复用紧密相关的刻面:抽象 ( 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 e ) 。 在模式设计时,考虑到了灵活性和可扩展性问题,即可以自由地增加新的刻面或 在某个刻面的术语空间中增加新的术语,并且在修改概念的层次( h i e r a r c h y ) 结 构时不会影响到已有构件的分类。 构件的表示和检索机制的研究一直是构件库研究的主要问题。r e b o o t 模型 所采用的刻面分类方法能够表达丰富的构件信息,为人们所关注。在构件模型中 考虑构件的表示和检索问题,是r e b o o t 模型所揭示的成功经验。 3 ) f r i s c o 模型。f r i s c o 是一个面向文档( d o c u m e n t 一0 r i e n t e d ) 的软件工程 工具原型。f r i s c o 项目的一个主要目标是,开发一个图形化和文本化的编辑器 框架,使其具有一定的开放能力,即能够在加入新的编辑功能时,不必修改框架 代码。这种框架被称为开放式编辑框架( o p e ne d i tf r a m e w o r k ,o e f ) 。为了实现 o e f 对编辑功能的动态加载( l o a d ) 和卸载( u n l o a d ) ,f r i s c o 提出了一个基于面 向对象系统的构件模型以及相应的描述工具一构件接口图( c i d ) ,并以此来结构 化和描述组成框架的不同实体。 f r i s c o 模型在构造o e f 的过程中,并不是将应用系统的每个实体都定义为 构件,而是根据实际需求,允许有未被聚合成构件的独立对象存在。构件之间可 1 0 基丁本体沦的可复川构件表示研究及应用 以直接进行交互,也可以通过一些独立存在的对象进行连接。构件( 对象的聚集 体) 和游离态对象,都是组成应用框架的元素。因此,f r i s c o 模型本质上是一个 对象和构件的混合模型。 参照以上介绍的构件模型,本文在设计的过程中,采用了刻面分类的策略,并 在此基础上引入本体的概念,在增加构件的过程中,提高了构件的识别能力。 2 3 软件构件库 软件构件库是一种组织、收集、访问和管理若干构件的手段,它由两部分 组成,即构件库数据和构件库系统。构件库数据包括构件本身及描述信息和组织 性信息,总称为构件目录。其中描述性信息称为构件描述,组织信息称为库信息 模型。构件库中包含了大量的信息,包括构件、构件描述信息、构件库数据模型 等。它可以在一个形式化的配置管理系统中保存构件。构件库是领域工程和应用 工程开发的桥梁,它具有数据库的基本特征和功能,但是一个构件库管理系统必 须能够存储构件以及构件的相关信息:构件的描述,构件的分类,构件的形态和 构件的状态。 存储、查询、获取构件一直是复用技术的关键技术,为了能够有效的管理和 维护构件信息,构件库管理系统一般应具有以下的功能: 构件添加:通过添加模块将已经生成好的构件添加到构件库中。 构件检索:即构件的需求匹配,与一般的数据库不同,构件匹配只能是模糊 匹配。因此匹配后的结果通常不是令人完全满意,只能给出相关或相近的构件。 构件组装:软件复用的价值从构件组装后能真正的体现出来。从构件库中选 择合适的构件组装成一个新的系统。本文研究的课题背景是构件组装,包括手动 组装和自动组装。 其他构件库管理手段:构件的删除、备份、存取控制和异构构件库的连接等 等。构件库的作用关键是在构件的创建者和使用者之间架起一座理解构件含义的 桥梁,因此构件库的本质问题是如何建立构件模型,从而用合适的方法表示构件, 使基于构件架构的开发过程中的构件能够得到正确的理解和复用。 2 4 本章小结 本章给出了构件的定义和构件的特点,同时分析了目前构件的分类方法和形 式化描述语言,并讨论了目前存在的典型的构件模型,在此基础上介绍了软件构 件库。 硕十:学位论文 3 1 本体简介 第三章本体及其理论研究 3 1 1 本体定义 本体论( o n t o l o g y ) 是哲学概念,它是研究存在的本质的哲学问题。但近几十 年里,这个词被应用到计算机界,并在人工智能、计算机语言以及数据库理论中 扮演着越来越重要的作用。在诸多领域中,越来越多的人研究o n t o l o g y 然而,到目前为止,对于本体论,还没有统一的定义和固定的应用领域。1 9 9 3 年,t o mg u b r e r 将本体定义为:“本体是概念模型的明确的规范说明 1 7 1 0 后来 b o r s t 在此基础上给出了本体的另一种定义:“本体是共享概念模型的形式化规 范说明”。s u t d e r 等对上述两个定义进行了深入的研究,给出了目前较通用的定 义为:“本体是共享概念模型的明确的形式化规范说明 n8 j 。这包含了4 层含义: 概念化:通过抽象出客观世界中一些现象的相关概念而得到的概念模型;明确: 指所使用的概念及使用这些概念的约束都有明确的定义;形式化:指本体可被计 算机识别;共享:指本体中出现的知识是被公共认同的。此外,s w a r t o u t 将本 体定义为:“本体是一个为描述某个领域而按层次关系组织起来的一系列术语, 这些术语可以作为一个知识库的骨架”。n o yf n 定义“本体是对某个领域中概 念的形式化的明确表示,每个概念的特性描述了概念的各个方面及其约束的特征 和属性。 f o n s e c a 定义“本体是以某一观点用详细明确的词汇表描述实体、概 念、特性和相关功能的理论 。s t a r l a 认为“本体必需包括所使用术语的规范说 明,大家一致认可的该术语的含义,以及术语之间的联系,从而表达概念”。 本体的目标是获取、描述和表示相关领域的知识,提供对该领域知识的共同 理解,确定该领域内同认可的词汇,并从不同层次的形式化模式上给出这些词汇 ( 术语) 和词汇之间相互关系的明确定义。目前,普遍认为本体由以下5 个元素组 成: 1 ) 类( c l a s s ) 或者概念( c o n c e p t s ) :除了一般意义上的概念外,还可以是 任务、功能、行为、策略、推理过程等。本体中的这些类通常构成一个分类层次。 从语义上讲,类表示对象的集合,包括概念的名称,与其它概念之问的关系的集 合,以及用自然语言对概念的描述。 2 ) 关系( r e l a t i o n s ) :指在领域中概念之间的交互作用,形式上定义为n 维笛卡儿积的子集:r :c 1 c 2 x c n 。如子类关系( s u b c l a s s o f ) 。在语义 上关系对应于对象元组的集合。 1 2 基丁本体论的可复用构件表示研究及应用 3 ) 函数( f u n c t i o n s ) :指一类特殊的关系。该关系的前n 1 个元素可以唯 一决定第n 个元素。形式化的定义为f :c 1 c 2 x x c n 一1 一c n 。如b r o t h e r o f 就是一个函数,b r o t h 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 类元素来构造,可 以根据具体的应用情况来做适当的更改,以满足应用的需要。总的来说,构建本 体就是为了知识的表示、共享和重用。 3 1 2 本体的分类 为了对本体( o n t o l o g y ) 进行有效的分类,g u a r i n o 在文献n 9 1 中以领域依赖 度和详细程度两个维度作为对本体进行划分的基础。 依照详细程度本体可分为: 1 ) 参考本体,详细程度高; 2 ) 共享本体,详细程度低。 依照领域依赖程度,本体可划分为: 1 ) 顶级( t o p - l e v e l ) 本体,描述的是最普通的概念和概念之间的关系,如空

温馨提示

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

评论

0/150

提交评论