(计算机软件与理论专业论文)分布式构件库系统框架研究.pdf_第1页
(计算机软件与理论专业论文)分布式构件库系统框架研究.pdf_第2页
(计算机软件与理论专业论文)分布式构件库系统框架研究.pdf_第3页
(计算机软件与理论专业论文)分布式构件库系统框架研究.pdf_第4页
(计算机软件与理论专业论文)分布式构件库系统框架研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机软件与理论专业论文)分布式构件库系统框架研究.pdf.pdf 免费下载

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

文档简介

摘要 捅矍 目前i n t e r n e t 上出现了很多专门的构件库,但是不同的构件库有不同的组织 和访问方式,从而导致了对各构件库中的构件访问困难,本文主要研究分布式环 境下构件库的系统框架。 本文在深入分析现有构件描述方法的基础上,提出一种基于x m l 的、适于软 件复用的通用构件描述方法。该方法将各构件库中的构件描述转化为这种通用构 件描述,形成构件索引项,存于构件目录库中,从而实现了对各构件库中的构件 的管理和控制,解决了对各构件库访问的一致性问题,也便于人和计算机理解构 件的作用和功能。 结合本课题的实际应用背景,本文提出了一种基于l d a p ( l i g h t w e i g h t d i r e c t o r ya c c e s sp r o t o c 0 1 ) 和多a g e n t 的分布式构件库系统框架。在该框架中, 通过采用分布式目录服务代替关系数据库来组织和管理构件,大大提高了构件的 管理和访问效率;通过采用多a g e n t 和x m l 等多种技术,有效地解决了异质构件 库的检索问题。最后,作者通过采用j 2 e e 企业计算平台,设计出了该系统的主要 实现框架,以验证该系统框架的可行性。 关键词:构件分布式构件库多a g e n t目录服务构件目录库 a b s l r a c t a b s t r a c t a l t h o u g ht h e r ea r eaf e ws p e c i a lc o m p o n e n tl i b r a r i e so nt h ei n t e r n e t ,t h em e t h o d s o fo r g a n i z i n gt h e s el i b r a r i e sa r en o tc o n s i s t e n tas t a n d a r di n t e r f a c et h a th e l p st oa c c e s s t h e s ec o m p o n e n tl i b r a r i e si sn e c e s s a r y c o m p o n e n tl i b r a r ys y s t e m f r a m e w o r ki n d i s t r i b u t e de n v i r o n m e n ti st h ef o c u so f t h i sp a d e l i nt h i sp a p e r ,an e ws e l f - d e f i n ex m lb a s e dd e s c r i p t i o no f c o m p o n e n ti n f o r m a t i o n , w h i c hc a nb eu s e df o r t h es o f t w a r er e u s e ,i sp r o p o s e d u s i n gt h i sw a y ,v a r i o u s c o m p o n e n td e s c r i p t i o i l sc a nb et r a n s l a t e di n t ot h i sg e n e r a ld e s c r i p t i o no fc o m p o n e n t l i b r a r ya n ds t o r e di n t h ec o m p o n e n tc a t a l o g u ed a t a b a s e ,w h i c hc a nb es e e na sa c o m p o n e n ti n d e x ,s ot h ep r o b l e mo fa c c e s s i n gd i f f e r e n tc o m p o n e n tl i b r a r i e sc a nb e s o l v e d ,a n di t se a s yf o rp e o p l ea n dc o m p u t e r t oc o m p r e h e n dt h ef u n c t i o n o f c o m p o n e n t a c c o r d i n gt ot h ec h a r a c t e ro ft h i ss t u d y i n gb a c k g r o u n d ,t h i st h e s i sp r o p o s e sa d i s t r i b u t e dc o m p o n e n tl i b r a r i e ss y s t e mf r a m e w o r k ,w h i c hi s b a s e do al i g h t w e i g h t d i r e c t o r ya c c e s sp r o t o c o l ( l d a p ) a n dm u l t i - a g e n tt e c h n o l o g y i nt h i sf r a m e w o r k ,t h e e f f i c i e n c y o fc o m p o n e n ta c c e s si sg r e a t l yi m p r o v e db yu s i n gd i r e c t o r ys e r v i c e t e c h n o l o g ya n dt h ep r o b l e mt h a t 1 0 wt os e a r c hc o m p o n e n tf r o ms p e c i a lc o m p o n e n t l i b r a r yi ss o l v e de f f e c t i v e l yb yu s i n gm u l t i a g e n tt e c h n o l o g ya n dx m lt e c h n o l o g y t o g e t h e r f i n a l l y , t h i st h e s i sd e s i g n ss e v e r a li m p o r t a n tm o d e l sb yu s i n gj 2 e ep l a t f o r m t ov e r i f yt h ef e a s i b i l i t yo f t h i ss y s t e mf r a m e w o r k k e y w o r d :c o m p o n e n t ,d i s t r i b u t e dc o m p o n e n tl i b r a r y ,m u l t i - a g e n t ,d i r e c t o r ys e r v i c e , c o m p o n e n td i r e c t o r yl i b r a r y 创新性声明 y85 86 3 1 创新性声明 本人声明所旱交的论文是我个人在导师的指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文巾 不包含他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技犬学或 其它教育机构的学位或证书而使用过的材料。与我- - l q 工作的同志对本研究所做 的任何贡献均已在论文中做了明确的况明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名f = | 期 ! ! ! ! 生! 旦2 1 日 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 7 l 二在校攻读学位期间沦文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文l 作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其他复制手段保存论文。( 保密的论 文在解密后遵:) :此规定) 本人签名 导师签名 蝉 兰l 茸 日期 ! q q 玺! 旦! q 曰 日期 ! ! 鳗生! 旦! ! 旦 第一章绪论 第一章绪论 1 1 问题的提出 计算机制造业突飞猛进的发展,硬件技术及硬件性能的提高速度总是快于软 件,著名的摩尔定律说明了硬件的发展速度。但考察一下软件开发的速度,可以 发现软件开发的速度一直远远落后于硬件的速度。实际上业内人士一直没有停止 过对软件开发思想的探索,只不过快速地对软件开发的需求掩盖了软件开发思想 的进步。 软件的应用领域也发生了根本的变化,模式从单机模式、c s 模式一直到现 在的网络计算。特别是网络计算带领软件产业进入了一个新的时代,以电子商务 为代表的技术潮流正将大到企业计算、小到个人数字代理的各种应用,在世界范 围内联结起来,软件制造业正面临着一些新的课题,如复杂的分布环境、灵活的 应用模式、广泛的包容性等,传统的软件设计思想已远远不够。 在这种背景下,软件构件技术应运而生,并逐渐迅速发展。不同于面向对象 技术强调对个体的抽象,构件则更推广了对象封装的内涵,侧重于复杂系统中组 成部分的协调关系,强调实体在环境中的存在形式,并形成了一个专门的技术领 域。而解决诸如此类问题的最佳方法是采用软件复用的方法和构件化进行软件开 发。 近年来,构件技术在研究领域和商业领域都引起人们的高度重视,在技术上 也出现了长足的进步,出现了许多软构件产品,如j a v ab e a n s e j b “1 1 、c o r b a “ 和c o m d c o m 4 。等等。可以把这些构件分为三类:第一类是在w e b 中存在的分散构 件;第二类是由专业的构件库提供的构件,如:i b ma l p h a w o r k s ,f l a s h l i n e 等构 件库”1 ;第三类是运行在i n t e r n e t 上各种应用服务器中构件提供的服务,其主 要代表是m i c r o s o f t 的n e t 框架以及s u n 公司的j 2 e e 支持下的w e b 服务。 随着软件复用及应用研究的深入,可复用软件构件库作为软件复用的一项重 要的基础设施已经越来越得到产业界与学术界的重视。但是,w e b 中分散的构 件资源由于没有遵循同一种构件发布标准,无法被其他系统直接重用。同时,各 种专业构件库的异构性和构件描述语义的无关联性,也对软件复用过程的实施造 成了巨大的障碍。所以,要实现有效的软件复用,必须要为这三类构件资源提供 统一的用于软件复用的访问接口。 分布式构件库系统框架研究 1 2 研究现状 目前,构件技术成为国内外研究的热点,逐渐引起软件工程研究人员的重视。 构件技术在理论和实际应用中已被人们普遍关注。理论上,北京大学、中科院软 件所、复旦大学、南京大学、华中科技大学、中山大学、吉林大学等高校和研究 所,陆续发表了许多非常有价值的学术论文,为构件技术在中国的发展指明了方 向。在实际应用中,北京大学和中科院软件所的青鸟工程在构件技术方面进行诸 多尝试。此外,构件技术在一些软件公司也得到应用,这些软件公司如中软公司、 特宝科公司、天中公司等,构件技术给这些公司带来极大的效益。获得普遍的好 评。在这些公司应用构件技术的成功为以后软件构件技术的发展积累了丰富经验, 预计将来不久,软件构件技术将大为普及。 国内外对构件库管理系统的研究己经有了很大的进展,主要成果有 a l o a f ( a s s e tl 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 ) 模型,r i g ( r e u s el i b r a r y i n t e r o p e r a b i l i t yg r o u p ) ,n a t o ( n o r t h a t l a n t i ct r e a t yo r g a n i z a t i o n ) 等组织制订的软件 复用标准,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 o l o g y ) 复用环境,北大 青鸟工程的j b c l m s ( j a d eb i r dc o m p o n e n tl i b r a r ym a n a g e m e n ts y s t e m ) 系统。 但是由于构件库的具构和多样性,使得目前还没有一种很好的分布式构件库 系统,文献“中提出一种用于主动服务的分布式构件库系统框架,具有智能性和 可扩展性的特点。该系统在查找构件时,当本地的目录库中未曾找到满足用户要 求的构件信息时,就启动移动代理到远程构件管理域进行搜索。这样存在以下两 个方面的问题: 查全率问题,当查找构件时应该给用户提供尽可能多的构件供其选择,而 不局限于本地的构件库。 查询效率问题,当本地查找不到构件时,启动移动代理到远程构件管理域 中进行搜索,对一个个构件目录库进行搜索,直到找到符合条件的构件为 i t 。 1 3 本文的研究目标和主要工作 针对文献“”提出的基于多代理的分布式构件库系统框架存在的问题,本文的 研究目标是在保留该框架智能性和可扩展性的前提下,引入l d a p ( l i g h t w e i g h t d i r e c t o r ya c c e s sp r o t o c 0 1 ) 和a g e n t 机制,提出了一种查全率更高,查找更快 的分布式构件库系统框架,以更好地管理分布式构件库。 本文主要工作就是解决以下几个问题: 第一章绪论 在构件目录库中引入l d a p 机制,以提高构件的查找效率: 采用多代理技术对多个构件管理域同时查找,反馈给用户所有符合条件的 构件; 实现对检索结果的过滤。 1 4 本文的组织结构 根据1 3 节阐述的本文的研究目标和主要工作,本论文的章节组织如下: 第一章,作者对本课题的研究背景、目前国内外的研究现状和进展以及本 论文的研究目标和主要工作进行简要地概述。 第二章,介绍与本论文相关的一些理论知识,包括软件复用、构件和构件 库的概念等基本知识。 第三章,在对构件的定义、分类和特点有了一定了解后,详细介绍了构件 的描述概念和描述模型,并提出了基于x m l 的构件描述方法,本文后面提出 的目录库的组织都是基于此构件描述方法的。 第四章,根据实际应用背景的特点,介绍了基于l d a p 协议的目录服务和 多a g e n t 机制。目录服务机制部分重点对目录服务的体系结构、协议模型l d a p 以及目录服务组织元数据的实现模型等方面进行了详细地阐述。多a g e n t 机制 部分重点讨论了多a g e n t 的协同工作机制,设计出了多a g e n t 的协同工作模型, 同时与实际应用背景相结合,对各个a g e n t 的功能、知识库和行为规则、多 a g e n t 间的协同工作及同步访问机制、多a g e n t 之间的通信等方而做了详细地 阐述。 第五章,基于第3 、4 章的阐述,提出了一种有着更高查询效率和查全率 新的分布式构件库系统框架,并对该框架的主要模块c a r p ( c e n t r a la g e n t r u n t i m ep l a t f o i t l l ) 平台和构件目录库进行了详细的论述,最后给出了它们的 主要实现。 第六章,本章对本论文的工作做了回顾和总结,归纳出了本论文的主要工 作和取得的成果,并对本研究课题做了分析以及对今后的进一步研究工作做了 展望。 第二章构件及构件库的理论与分析 第二章构件及构件库的理论与分析 2 1 软件复用的概念及意义 随着软件业的迅速发展,软件的应用月益广泛,软件的更新也越来越快,对 软件开发的速度、效率和质量提出了更多更高的要求,如:开发周期快,效率高, 质量高和维护容易等等,传统的软件开发模型己经不能再适应这些新的要求了, 在传统的软件开发模式中大量的重复劳动造成开发效率低等负面的影响,是软件 业向工业化发展的主要障碍。 在1 9 6 8 年n a t o ( j l 大西洋公约组织) 软件工程会议上,在m c l l o r y 的论文“大 量生产的软件构件”中第一次引入了“复用( r e u s e ) ”这个概念。软件复用改变了 传统的软件开发方法,也转变一些传统的观念,软件复用概念是指重复使用“为 了复用目的而设计的软件”的过程。采用软件复用技术,软件开发人员可以避免 在软件开发过程中的重复劳动,软件复用抛弃了传统软件开发中所采用的一切“从 零开始”的开发模式,而是目前己有的工作基础上,利用以往系统开发中积累的 经验和知识,将开发的重点集中在应用的特有构成成分上。 软件复用可以提高软件生产率并减少开发代价,还可以提高软件系统的质量, 具体可以归纳为下面五个方面:1 ) 提高生产率;2 ) 减少维护代价;3 ) 提高互操作性;4 ) 支持快速原型;5 ) 减少培训开销。 一般来说,软件复用的过程分为三个步骤:分类( c l a s s i f y ) ,检索( r e t r i e v e ) 和定 制( c u s t o m i z e ) 。分类就是把可复用构件存入可复用构件库r c l ( r e u s a b l e c o m p o n e n tl i b r a r y ) 的适当位置;检索就是根据用户的需求从可复用构件库r c l 中找到合适的可复用软构件;定制则是对检索到的可复用软构件进行一些必要的 修改,以使其能和用户设计的其他构件协调地工作。在软件复用的这三个过程中, 检索过程最为关键。 2 2 可复用软构件r s c ( r e u s es o f t w a r ec o m p o n e n t ) 2 2 1 构件的定义 构件来源于英文的“c o m p o n e n t ”,在有些文献中也称为组件。目前,对构件 的定义,软件产业界还未形成统一的认识。下面是许多大型公司对构件的定义“”: r a t i o n a ls o f t w a r e 公司的p h i l i p p ek m t c h e n 将构件定义为一个非平凡的、几乎独立 分布式构件库系统框架研究 的和可替换的系统组成部分,它在一个定义完善的体系结构环境下完成一个清晰的 功能,构件提供了一组接口的物理实现“。 g a r t n e rg r o u p 是这样定义的:运行时构件是一个动态可绑定程序包,内含一 个或多个程序作为整体来管理,通过在运行时文档化接口存取其中的信息”。 c o m p o n e n ts o f t w a r e 公司的c 1 e m e n ss z y p e r s k i 将软件构件定义为一个仅带 特定契约接口和显式语境依赖的结构单元,软件构件可独立部署,以易于第三方整 合。 对象管理组织o m g ( o b j e c tm a n a g e m e n tg r o u p ) 在m o d e l i n gl a n g u a g e s p e c i f i c a t i o n ( r e v i s i o ni 3 ) 中写道”“:构件是指系统中可替换的物理部分,该系统封 装了实现并提供了一组接口的实现,构件表示系统实现体的一个物理片段,包括软 件代码( 源代码、二进制代码或可执行代码) ,或者等同体,例如脚本或命令文件。 北京大学的杨芙清教授将构件定义为应用系统中可以明确辨识的构成成分,而 可复用构件是具有相对独立的功能和可复用价值的构件o “。 以上这些定义根据各自不同的目的从不同方面对构件进行了描述。在本文中, 一般认为构件是具有相对独立功能和具有可复用价值的软件构成成分。简单地说, 构件是具有独立的功能,能够独立工作或者同其他构件装配起来协调工作的程序 体。构件的使用与其开发无关。 构件是组成软件的基本单位,它包含以下三个内容: ( 1 ) 构件是可复用的、自包含的、独立于具体应用的软件对象模块; ( 2 ) 对构件的访问只有通过其接口进行; ( 3 ) 构件不直接与别的构件通信。 2 2 2 构件的特点 总的说来,软件构件具有以下特点“”: ( i ) 以二迸制形式存在,软件构件一般不再以源代码方式实现复用; ( 2 ) 可以与其它独立开发的软件构件协同工作,经过少量的修改,软件构件可 以很容易地移植到其它构件生产商所生产的构件中; ( 3 ) 软件构件具有相对独立的功能,可以顺利地将软件构件组合成一个应用系 统; ( 4 ) 程序设计语言无关,软件构件不依赖于任何。- 门编程语言,这便于软件开 发人员与别的软件构件组装: ( 5 ) 成为其它软件构件的生成模块,软件构件和般的对象相比,可大司小; ( 6 ) 存储在构件库中的长久实体,软件构件是一种带有插件的静态抽象; ( 7 ) 有提供和请求服务的插件,插件是构件与外部世界( 如消息、端口等) 通信 第二章构件及构件库的理论与分析 的渠道; ( 8 ) 具有良好定义的接口 ( 9 ) 属于某种构件模型; ( 1 0 ) 有充分的自容性。 2 2 3 构件的分类 构件分类是建立( 包括生成) 和维护构件目录信息的活动。分布式构件库包括 各种层次、类型的构件。从构件类型上说,包括不同程序设计语言、数据库系统、 其他系统所描述的构件和从不同软件系统中提取的构件。是否有效地对构件进行 分类存储将关系到生成的构件库的查询效率、可理解程度、可维护性等至关重要 的因素。选择合适的构件分类方式将降低构件的重用成本,使整个构件库中的构 件使用便于组织管理、方便查询和辅助理解。因此为了便于对软构件的存储、检 索和组装必须对软构件进行分类【l 。 针对构件的分类方法,一种较直接实用的方法是刻面分类法( m u l t i f a c e t e d c l a s s i f i c a t i o n ) 2 0 】。刻面分类法依据构件特征给出最能描述该构件的若干个互不依 赖的刻面( f a c e t ) ,每个刻面都从一个方面说明了构件间相互区别的特点,每个刻 面内部再利用一组有限的关键词说明构件。每一个加入构件库的构件都必须给出 在所有刻面上关键词描述。可采用以刻面分类法为主,关键词、属性,值、关系 索引等多种模式相结合的方法对构件进行分类。 我们可将构件按多个侧面分类如下: ( 1 ) 根据构件重用的方式,分为黑盒构件和白盒构件。 ( 2 ) 根据使用的范围,分为通用构件和专用构件。 ( 3 ) 根据功能用途,分为系统构件:在整个构件集成环境和运行环境都使用的 构件;支撑构件:在构件集成环境、构件库管理系统中使用的构件;领域构件: 为专门领域开发的构件。 ( 4 ) 根据构件粒度的大小,可以分为小粒度构件,即基本数据结构类构件;中 粒度构件,即功能构件;大粒度构件,即子系统级构件。 ( 5 ) 根据构件的结构,分为原子构件和组合构件。 ( 6 ) 根据构件重用时的状态,可以分为动态构件:即在软件运行时可以动态嵌 入的构件;链接构件:如对象链接和嵌入库( o l e ) 、动态链接库( d l l ) ;静态构件: 如原代码、系统分析构件、系统设计构件等。 分布式构件库系统框架研究 2 3 可复用构件库r c l ( r e u s ec o m p o n e n tl i b r a r y ) 构件库( l i b r a r y ) 是可复用软构件的集台,包括向用户提供构件时的过程和功 能。构件库是一个包括人员、工具和过程的组织,主要目的是提供软件生存周期 产品的复用机制以满足特定的软件代价效益和生产率的目标,并作为开发可复 用软构件和基于可复用构件开发这两个生存周期的联系体。具体地说,构件库就 是类似于用来存储、检索和管理构件的数据库,是开发可重用构件和使用可重用 构件的中间媒介。 构件库的分类模式标准:n a t o 标准推荐在构件库中采用刻面( f a c e t ,是一个 单词或短语的固定集合,用于描述构件的某个方面或视角) 分类模式,对构件的分 类使用组f 刻面,刻面术语( f a c e t e r m ,是来自构件库特定刻面术语列表中的单 词或短语) 1 对( 描述符) 来分类。刻面分类方法将关键词置于特定的语境中,从而避 免了关键词的杂乱无章,通过从不同视角孩g 面) 来观察要分类的项,可以进行更 加精确和准确的分类。 目前多数的构件库采用以刻面分类模型为主,同时也采用属性一值分类、关 键词分类、枚举分类和正文分类模型为辅。由于刻面分类检索的效率最高,有它 的明显优势,所以现有的构件库提供刻面分类和检索方法,又因为采用多种分类 检索方法可以帮助用户更容易检索到需要的构件,所以有些库同时可能还提供其 他的分类检索方法,为用户提供更有效、更全面的检索机制。 构件库目前面临的困境:一方面,为了满足构件的使用,构件库中必须有足够 的构件来支持软件的开发;另一方面,当大量的可重用构件库存在时,如何查找和 选择恰当的构件又变得十分困难:再一方面,现有的各个复用构件库各自采用不同 的数据模型、分类模式和术语,妨碍了构件库之间软件资产的共享。 鉴于i n t e m e t 和w w w 技术的日益普及和飞速发展,将构件库共享、提供服 务与i n t e r n e t 底层结构结合在一起,借助因特网覆盖广阔的特点,可使构件库的 应用超越地理位置的约束,从而有效地扩大了信息规模、拓展了构件库的使用范 围。 考虑到是在w e b 站点上构造分布式构件库,它的领域范围及构件数量的庞大, 因此应将软构件中的信息与代码两部分独立分开,各个构件库中并不保存各个构 件代码本身,而仅保存描述软构件特征属性和构件实际存放位置的u r l 地址。通 过u r l 地址建立构件信息与实际代码的链接。 分布式构件库由不同位置的可重用构件库组成,各个构件库可以位于本地机 上也可以位于远程的机器上。可以先将所有的构件库都放在同台机器中进行集 中式管理,进一步把构件库分布在i n t e m e t 上不同的结点中,它们按一定的方式 第二章构件及构件库的理论与分析 协调工作保持同步,维持整个系统数据的完整性和一致性。开发人员可以在分布 式构件库中检索自己需要的构件,从而避免重复劳动,提高开发的效率和质量。 2 4 本章小结 本章首先叙述了软件复用的基本概念和意义,进而引出构件的定义、特点和 分类。最后介绍了管理这些构件的构件库,并引申到本文的研究内容上一一分布 式构件库。通过这一章的介绍,让大家对构件及构件库有一个清晰的初步认识, 明确构件到底是什么,如何去管理等基本问题。 第三章基于x 扎的构件描述 第三章基于x m l 的构件描述 i n t e m e t 上不断扩展的网络构件资源是进行程序挖掘从而实现服务与计算定制 的基础。尽管i n t e m e t 上出现了多个专l 1 的构件库,如 a l p h a w o r k s ,c o m p o n e n t p l a n e t ,c o m p o n e n t s o u r c e ,f l a s h l i n e 等等,提供了多种现 成的可用构件,但由于这些构件库在组织结构、构件描述和访问方式上各不相同, 造成了构件选择、搜索、获取以及分析、组装等构件处理活动的困难。为便于软 件复用时的构件检索,首先要解决不同构件库之间构件访问的致性问题。构件 描述任务就是通过建立构件目录信息库,为不同的构件库提供统一的浏览和搜索 接口。在借鉴文献“”的基础上,本系统将采用如下基于x m l 的构件描述方法。 3 1 构件描述概念 构件的描述方法是构件检索技术的基础,决定了构件库的组织、管理,以及 构件库的查询和用户对软构件的理解,是软件重用的基础性问题。构件描述模型 定义了构件的本质属性,规定了构件接口的结构以及构件与软件构架、构件与构 件之间的交互机制。构件描述模型通常还提供创建和实现构件的指导原则。在学 术界和产业界已经出现了多种构件描述模型,3 c 模型和r e b o o t 模型”是构件 描述中的两个重要的描述模型。 l a t o t t r 等人提出了3 c 模型“,认为一个理想的构件的描述应当涵盖以下3 个方面概念( c o n c e p o 、内容( c o m e m ) 、语境( c o n t e x t ) 。其中。概念是关于“构件 做什么”的抽象描述,可以通过概念去理解构件的功能:内容是概念的具体实现, 描述构件如何完成概念所刻画的功能:语境是描述构件和外围环境在概念级和内 容级的关系,语境刻画构件的应用环境,为构件的选用和适应性修改提供指导信 息。 r e b o o t 模型是在r e b o o t 项目中总结提出的。1 1 ,它实质上是一个刻面分 类模型。该模型认为:可以用有限维信息空问的术语组合从若干个刻面的综合角 度来刻画一一个构件。具体到r e b o o t 项目,他门提出的刻面有以下4 个:依赖、 抽象、操作、操作对象。另外该模型还提出了用同义词典来提供术语间语义关系 的描述手段。 在实际使用中,这些模型需要被转化为具体的语言描述形式。目前研究的第 四代规约描述语言的工作主要集中在构件的语境描述上,即构件使用的语境信息。 有代表性的工作有k d l ( k n o w l e d g ed e s c r i p t i o nl a n g u a g e ) 语言和青鸟构件描述语 分布式构件库系统框架研究 言。”“1 ,它们不仅能够描述构件,更提供了对构件子系统的描述能力。但他们 都无法提供满足分布式构件库系统要求的足够构件描述信息。因此,在分布式构 件库系统中,以其他构件描述语言为基础,提出了一种新的构件描述方法,全面 描述构件的静态属性、接口行为、组织分类和资源位置等信息,并将这些信息用 x m l 表示出来,方便程序挖掘过程中构件信息的交换与处理。3 3 节中,我们将 详细介绍基于x m l 的构件描述方法。 3 2 构件描述模型 构件功能与行为特征的准确描述是建立构件目录索引的基础,由于现有构件库 中构件的描述与组织方式各不相同,为了给这些库中的构件建立索引,需要建立 一种通用的构件描述模型和描述方法。在软件复用中,采用c a t a l y s i s 规范“中 的构件模型作为构件描述的基础,该模型在构件开发与复用研究中被广泛采用, 如m i c r o s o f tr e p o s i t o r y “”,c o o l :g e n 。8 2 ”等等。按照该模型,每个构件包括规 约、实现和可执行三个部分。各部分说明如下: 构件规约 构件规约是指构件行为的定义。说明构件“做什么? ”通常情况下,构件的行 为由一个或多个接口来表示,接口分为两种:提供的接口和需要的接口,构件提供 的接口代表构件提供的服务,它一股由一组客户可调用的命名操作组成,在构件 规约中,每个操作的格式和语义都需要明确定义;构件需要的接口说明构件的需 求,即该构件正常运行需要外界提供的服务,构件的需求也称为上下文依赖关系 ( c o n t e x td e p e n d e n c y ) ,说明构件在组装和发布时需要指定的上下文。构件规约 相当于构件提供者与构件用户之间的一个合同,也为实现该构件提供了参考。 构件实现 构件实现是指实现构件规约的内部逻辑和相应的代码。构件实现部分与构件 规约应该相互独立,这样,在遵循构件规约的条件下,构件实现部分的修改( 如算 法的更新、结构的改变等) 不会影响客户对构件的使用。构件规约可以对应多种不 同的构件实现,只要构件的实现遵循规约中对构件行为的定义,可以灵活选择构 件实现语言和实现方法。 可执行模块 构件的可执行部分与构件实现和运行平台密切相关,它由一组完成特定功能 的可执行模块组成,可能包括可执行文件( e x e ) 、动态链接库( d 1 1 ) ,j a v a 归档 文件( j a r ) 等多种形式的文件。 c a t a y s i s 规范中的构件模型是分布式构件库系统框架中构件描述的基础,分 布式构件库中构件的检索、获取和分析比较等处理要求对构件规约的精确描述:在 第三章基于x m l 的构件描述 构件容器中对构件的组装链接等操作需要指定构件的位置和资源文件:同时,随 着构件数量的不断增加,需要按照某种分类模式对构件进行分类组织,以便迅速 确定构件在目录信息库中的位置,因此,构件描述中还应该包括构件的组织分类 信息。 3 3 基于x m l 的构件描述方法 3 3 1 构件分类标准 参照构件库c o m p o n e n tp l a n e t 中的构件分类方法,我们从构件模型、应用领 域、实现语言、运行平台等多个刻面对构件进行分类,每个刻面代表理解构件的 一个上下文,在刻面的限定下,构件被进一步细分为多个子类。通常情况下,一 个构件可以在多个刻面下归到不同的类别中。分类刻面从不同的角度为构件目录 库建立视图,组织成层次化的多目录树结构。如果有新的一组构件出现,可以在 分类树的不同层次随时增加新的表项以扩充目录库,如有必要,还可以增加分类 刻面,建立新的目录子树。构件分类的每个刻面对应一个目录子树,对构件的多 刻面分类形成目录库的多目录树结构。对构件的分类是为了提高对构件库中构件 的检索速度。 本文中,我们从6 个角度对构件进行分类,每个角度代表目录库的一个刻画, 每个刻面由一组基本的术语( t e r m ) 构成,所有的术语构成该刻面的词表,进一步确 定构件所属的类别。本目录库采用的刻面及其术语词表如下: 构件模型体系结构 构件模型是指为构件的运行、操作提供服务或接口的标准框架( f r a m e w o r k ) , 该框架在构件的连线或组装过程中提供必要的事件适配、方法调用、参数传递等 服务。该刻面的词表根据现有的多种构件标准设定。 词表:c o m 、d c o m 、c o r b a 、j i n i 、e j b 、j a v a b e a n 、j 2 e e 、j 2 e e s e r v l e t 、 x - w i n d o w s 、m o t i f , o t h e r ; 资源语种 实现构件所采用的编程语言。 词表:c 、c + + 、c s h a r p 、p a s c a l 、v i s u a l b a s i c 、f o r t r a n 、j a v a 、a d a 、a s s e m b l y 、 d e l p h i 、p r o l o g 、l i s p 、p y t h o n 、p e r l 、o t h e r ; 应用领域 构件的应用领域是该构件实际应用的具体商业领域,如农业、商业、医疗等 等。 分布式构件库系统框架研究 词表:农业( a g r i c u l t u r e ) 、航空( a e r o s p a c e ) 、汽车业( a u t o m o t i v e ) ,银行业 ( b a n k i n g ) 、生物技术( b i o t e c h ) 、商、j k ( b u s i n e s s ) 、通讯( c o m m u n i c m i o n ) 、建筑 ( c o n s t r u c t i o n ) ,网络商业( d o t c o m ) 、财政( f i n a n c i a l ) 、保险( i n s u r a n c e ) 、医疗 ( h e a l t h c a r e ) 、生产( m a n u f a c t u r i n g ) 、房地产( r e a l e s t a t e ) 、零售( r e t a i l ) 、公共管理 ( p u b l i ca d m i n i s t r a t i o n ) 、服务业( s e r v i c e s ) 、软件开发( s o f t w a r ed e v e l o p m e n t ) 、电 信( t e l e c o m m u n i c a t i o n ) 、运输( t r a n s p o r t a t i o n ) 、实用技术( u t i l i t i e s ) 、贸易 f w h o l e s a l e t r a d e ) 、其他( o t h e r o 软件平台 构件所支持的操作系统平台。 词表:s o l a r i s 、l i n u x 、h p u x 、m a c 、w i n t e l 、w i n d o w s 、n t 、w i n 2 0 0 0 、o t h e r ; 硬件平台 构件所支持的硬件环境。 词表:i n t e l p c 、s u n s p a r c 、h p r i s c 、i b m 、m a c 、o t h e r 。 构件功能 构件所提供功能的说明及描述,构件功能是构件描述的核心之一。这里的构 件功能是指构件在软件开发过程中,发挥作用的环节。如用户接口设计、网络功 能、文件操作、图形处理等等。该刻面根据软件开发流程和构件的具体功能分为 1 0 个类别,每个类别下细分为多个子类。 词表:开发工具( d e v e l o p m e n tt o o l s ) 、文件处理( f i l em a n i p u l a t i o n ) ,多媒体 ( m u l t i m e d i a ) 、网络工具( n e t w o r kt o o l s ) 、科学计算( s c i e n t i f i c c o m p u t i n g ) 、用户接 口( u s e ri n t e r f a c e ) 、字处理( w b f dp r o c e s s i n g ) 、因特网2 业内部网( i n t e m e t i n t r a n e t 、数据库( d a t a b a s e1 、杂项( m i s c e l l a n e o u s ) 。 每个类别对应的子类: ( 1 ) 开发工具( d e v e l o p m e n t t o o l s ) 应用服务:器r ( a p p l i c a t i o ns e r v e r s ) 、构件管王里器r ( c o m p o n e n tm a n a g e r s ) 、构件 生成器( c o m p o n e n tc r e a t i o nt o o l s ) 、代码生成( c o d ec o m p o n e n t s ) 、配置与初始化 f c o n fg u r a t i o n & i n i t i a l i z a t i o nc o m p o n e n t s ) 、跟踪测试( d e b u g g i n g & t e s t i n g c o m p o n e n t s ) 、安装工具( i n s t a l l a t i o n t o o l s ) 、本地化工具( l o c a l i z a t i o n c o m p o n e n t s ) 、 软件注册( s o f t w a r el i c e n s i n gc o m p o n e n t s ) 、源代码生成构件( s o u r c ec o d e g e n e r a t o r s1 、软件升级( s o f t w a r eu p g r a d ec o m p o n e n t s ) 、版本控制( v e r s i o nc o n t r o l c o m p o n e n t s ) 、帮助构件( h e l pc o m p o n e n t s ) 、其他( o t h e r s ) ( 2 ) 文件处理( f i l em a n i p u l a t i o n ) 压缩( c o m p r e s s i o n ) 、加密( e n c r y p t i o n ) 、转换i 具( c o n v e r tt o o l s ) 、文件拆分 f f i l e s p i tt o o l s ) 、图标工具( i c o nt o o l s ) 、文件上载( f i l eu p l o a d c o m p o n e n t s ) 、图形 构件( i m a g i n gc o m p o n e n t s ) ,p d f 工具( p d ft o o l s ) 、其他( o t h e r s ) 第三章基于x m l 的构件描述 ( 3 ) 多媒体( m u l t i m e d i a ) 声音( a u d i o , m i d i & s o u n dc o m p o n e m s ) 、语音识别( s p e e c hr e c o g n i t i o n c o m p o n e n t s ) 、d i r e c t x 构件( d i r e c t xc o m p o n e n t s ) 、m p 3 构件( m p 3c o m p o n e n t s ) 、 视频构件( v i d e oc o m p o n e m s ) 、服务质量控制构件( q o sc o m p o n e n t s ) 、多媒体邮件 ( m u l t i m e d i am a i l ) 、协作构件( c o l l a b o r a t i v e ) ,视频会议( v i d e oc o n f e r e n c i n g ) 、3 d 建 模( 3 dm o d e l i n gc o m p o n e n t s ) 、其他( o t h e r s ) ( 4 ) 网络工具( n e t w o r kt o o l s ) 聊天工具( c h a t t i n gt o o l s ) 、电子公告版( b b s ) 、拨号构件( d i a l u pc o m p o n e m s ) 、 通用网关接口( c g i ) 、服务器小程序( s e r v

温馨提示

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

评论

0/150

提交评论