(基础心理学专业论文)基于构件的软件开发关键问题研究.pdf_第1页
(基础心理学专业论文)基于构件的软件开发关键问题研究.pdf_第2页
(基础心理学专业论文)基于构件的软件开发关键问题研究.pdf_第3页
(基础心理学专业论文)基于构件的软件开发关键问题研究.pdf_第4页
(基础心理学专业论文)基于构件的软件开发关键问题研究.pdf_第5页
已阅读5页,还剩119页未读 继续免费阅读

(基础心理学专业论文)基于构件的软件开发关键问题研究.pdf.pdf 免费下载

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

文档简介

目录i i m m h i i i i h ly 2 2 5 112 9内容摘要ia b s t r a c t i i i第1 章绪论11 1 研究背景及意义11 2 研究现状31 2 1 构件模型的研究现状一31 2 2 构件的描述与检索研究现状71 2 3 构件的自动化测试研究现状91 2 4 构件组装研究现状111 3 本文的研究内容1 41 4 本文的组织结构1 5第2 章相关概念及理论172 1 构件定义172 1 1 软件构件定义1 72 1 2 构件库及其管理系统182 2 形式化方法192 2 1 形式化方法的定义和发展历史1 92 2 2 形式化方法在现阶段的主要研究内容2 02 3 指称语义基础2 12 3 1 概述2 12 3 2 动态语义2 22 4 遗传算法2 32 4 1 遗传算法的思想起源2 32 4 2 基本概念2 42 4 3 计算过程2 52 5c s p 概:述2 72 5 1c s p 运算符2 72 5 2c s p 基本定义及语法2 82 5 3c s p 语义2 92 5 4 进程变换3 0第3 章构件形式化描述模型3 33 1 引言3 33 2 构件的属性描述一3 53 3 构件的接口描述3 63 4 构件的类别描述3 73 5 构件的环境描述3 83 6 构件的附加文档3 9第4 章基于认知理论的构件检索4 14 1 引言4 14 2 基于本体的构件属性比较一4 34 2 1 本体的定义4 34 2 2 本体的组成4 44 2 3 本体分类4 44 3 形式化的构件检索4 64 3 1 构件的匹配级检索4 64 3 2 构件的原型级检索4 74 3 3 构件的特征级检索4 74 4 检索证明4 74 4 1 公理化方法4 84 4 2 公理化证明4 94 5 实验514 5 1 系统的开发环境5 24 5 2 基于0 w l 的构件描述5 24 5 3 核心算法5 64 5 4 系统检索效率对比分析5 9第5 章面向构件的测试用例的自动生成6 15 1 引言6 l5 2 构件内置测试模型一6 25 3 构件内置测试点的自动选择一6 45 4 构件内置测试数据的自动生成一6 75 5 基于遗传算法的构件内置测试用例生成方法一7 15 5 1 测试用例编码7 15 5 2 遗传操作7 35 5 3 适应度函数7 45 5 4 遗传算法的求解步骤7 65 6 实验7 65 6 1 参数设定7 85 6 2 测试数据分析7 85 6 2 实验结果8 15 7 本章小结8 3第6 章基于c s p 的构件组装机制8 56 1 引言一8 56 2 构件的组装机制描述8 76 3 构件规约8 86 3 1 构件端口规约8 86 3 2 构件的行为规约9 06 4 实例分析一9 2第7 章工作总结与展望9 7参考文献9 9致谢10 9作者在攻读博士学位期间发表的论文目录1 11作者在攻读博士学位期间参加的科研活动1 1 5图目录图1 1 基于构件的软件开发过程1图4 1 检索模型4 2图4 - 2c i s b f d 系统架构5 1图4 3 实验结果6 0图5 1 软件构件的内置测试模型6 3图5 - 2 程序结构图示例6 6图5 3 简单数据类型测试数据的生成过程7 1图5 4 测试用例序列与覆盖率增长曲线7 5图5 5 实验系统结构关系图7 7图5 - 6 被测程序7 8图5 7 程序内置测试点分析7 9图6 1 构件组装实例9 3表目录表4 1 属性力度比较库示例4 6表5 1 程序结点表6 7表5 2 原始数据类型的测试数据6 9表5 3 测试用例覆盖的语句模块:一7 5表5 4 遗传操作参数设定7 8表5 5 结点编号8 0表5 - 6 程序可测试路径:8 0表5 7 第0 代适应度前1 0 的个体8 1表5 - 8 第1 3 代适应度前1 0 的个体8 l表5 - 9 第5 l 代适应度前1 0 的个体8 2表5 1 0 三种算法运行结果8 3内容摘要基于构件的软件开发关键问题研究基础心理学专业博士研究生丁晓明指导教师邱玉辉教授内容摘要软件开发方法与技术一直是软件工作者的主要研究方向,随着以计算机软件为核心的信息时代的来临,软件开发技术受到了越来越多的关注。近年来软件领域研究的一个重要进展就是软件构件化。基于构件的软件开发方法( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t c b s d )将已有的构件集成到具体应用环境中来构建面向特定应用的软件系统,不仅能提高生产效率,降低开发成本,还能显著提高软件的可靠性。因此,构件技术已成为当前软件领域的研究热点。拥有大量可重用构件的构件库是支撑c b s d 的前提条件。然而,一方面传统的构件描述方法缺乏对构件功能的形式化描述,导致用户难以从海量构件中快速、准确地检索到满足用户功能需求的构件;另一方面,为了确保构件系统的质量,构件入库前必须进行全面、充分的测试,由于构件固有的封装性、平台独立性,以及接口组装等特性,使现有的软件测试方法并不适合于海量构件的测试环境,因此,必须开发适合构件特性的自动化测试方法和工具,以对构件进行有效的测试;此外,在组装的构件数量较多的情况下,构件用户难以预料组装后的构件接口和行为特征,导致构件组装的结果往往难以符合设计需求。上述问题极大地限制了c b s d 的实际应用。如何描述构件的动态行为以准确地检索到所需求的构件,如何自动化地产生构件测试用例以支持构件的充分测试,如何组装已有的构件以满足系统的应用需求并对组装的系统端口和行为进行规约成为当前此领域的研究热点和难点。形式化方法因其精确性和严密性,能较好的满足构件功能描述与接口规约的要求,c b s d 与形式化方法的融合对于开发构件软件系统具有重要的理论价值和实际意义。本文将形式化方法和遗传算法应用于构件检索、构件测试,以及构件组装等构件软件开发的关键步骤,旨在有效地支持构件软件系统的开发。本文的研究成果及核心内容归纳为如下三个方面:本文首先参照3 c 构佴:模型,提出一种基于形式化方法的,可扩展的构件描述模型,包括构件的功能描述、接口描述、环境依赖描述等,并保留了构件关键字、非功能属性等描述项。在此描述模型基础上根据心理学认知理论提出了构件的多模糊级分步检索法,以方便用户对西南大学 尊士学位论文构件的检索,并保证了检索的准确性和有效性。其次,为了提高构件自动化测试效率,本文提出了一种基于遗传算法的构件内置测试用例生成方法,设计了测试点的染色体编码方法,以及基于构件刻面描述的测试数据自动产生方法;为了提高测试用例的生成质量,并加快遗传算法的收敛速度,我们改进了算法的适应度函数的计算方法,适应度函数不仅考虑了用例对路径的覆盖率,而且考虑了路径覆盖率的增加速率,从而有效地提高了路径的覆盖率,同时降低了用例产生代价。本文第三部分的工作提出了六种构件组装机制:构件顺序组装机制,构件选择组装机制、构件循环组装机制、构件并行组装机制、构件同步组装机制、构件中断组装机制。并对如何根据多个构件的语义规约推导出复合构件的语义规约等相关问题进行了研究,提出了基于c s p的构件端口和行为规约描述方法以及相关推导算法,并通过实例对方法的有效性进行了验证。关键词:构件描述;构件检索;构件测试;构件组装;形式化;语义a b s t r a c tr e s e a r c ha b o u tk e yp r o b l e m so fc o m p o n e n tb a s e ds o f t w a r ed e v e l o p m e n ts u p e r v i s o r :p r o f y u h u iq i up h d c a n d i d a t e :x i a o m i n go i n ga bs t r a c ts o f t w a r ed e v e l o p m e n tm e t h o d sa n dt e c h n o l o g i e sa r et h em a i nr e s e a r c ha r e ao fs o f t w a r ee n g i n e e r w i t ht h ea d v e n to ft h ei n f o r m a t i o na g ew i t ht h ec o r eo fc o m p u t e rs o f t w a r e ,s o f t w a r ed e v e l o p m e n tt e c h n o l o g yh a sr e c e i v e dm o r ea n dm o r ea t t e n t i o n i nr e c e n ty e a r s ,a ni m p o r t a n tp r o g r e s si nt h es o f t w a r ef i e l dr e s e a r c hi st h es o f t w a r ec o m p o n e n t t h em e t h o d so fc o m p o n e n t - b a s e ds o f t w a r ed e v e l o p m e n t ( c b s d ) i n t e g r a t et h ee x i s t i n gc o m p o n e n t si n t os p e c i f i ca p p l i c a t i o ne n v i r o n m e n tt ob u i l ds o f t w a r es y s t e m sf o rs p e c i f i ca p p l i c a t i o n ,n o to n l yi m p r o v et h ep r o d u c t i o ne f f i c i e n c y , r e d u c et h ed e v e l o p m e n tc o s t ,b u ta l s os i g n i f i c a n t l yi m p r o v et h er e l i a b i l i t yo ft h es o f t w a r e t h e r e f o r e ,t h ec o m p o n e n tt e c h n o l o g yh a sb e c o m eah o tr e s e a r c hf i e l d c o m p o n e n tl i b r a r yw i t hal a r g en u m b e ro fr e u s a b l ec o m p o n e n t si st h ep r e r e q u i s i t e so fs u p p o r tc b s dd e v e l o p m e n t h o w e v e r ,o nt h eo n eh a n d ,t h et r a d i t i o n a lc o m p o n e n td e s c r i p t i o nm e t h o d sa r el a c ko ff o r m a ld e s c r i p t i o no fc o m p o n e n tf u n c t i o n ,c a u s i n gt h eu s e r sh a r dt or e t r i e v ec o m p o n e n t ss a t i s f y i n gu s e rf u n c t i o n a lr e q u i r e m e n t sf r o mt h em a s s i v ec o m p o n e n t sq u i c k l ya n da c c u r a t e l y ;o nt h eo t h e rh a n d ,i no r d e rt oe n s u r et h eq u a l i t yo fc o m p o n e n ts y s t e m ,c o m p o n e n tm u s tb ec o m p r e h e n s i v e ,f u l l yt e s t e db e f o r es t o r a g e d u et ot h ec h a r a c t e r i s t i c so ft h ec o m p o n e n t si n h e r e n te n c a p s u l a t i o n ,p l a t f o r mi n d e p e n d e n c e ,a n di n t e r f a c ea s s e m b l ya n ds oo n ,e x i s t i n gs o f t w a r et e s t i n gm e t h o d sa r en o ts u i t a b l ef o rm a s s i v ec o m p o n e n tt e s t i n ge n v i r o n m e n t t h e r e f o r e ,i ti sn e c e s s a r yt od e v e l o pa u t o m a t e dt e s t i n gm e t h o d sa n dt o o l st h a ts u i t a b l ef o rt h ec o m p o n e n tc h a r a c t e r i s t i c st oe f f e c t i v e l yt e s t i n gc o m p o n e n t s i nc a s eo fl a r g en u m b e ro fa s s e m b l e dc o m p o n e n t s ,c o m p o n e n tu s e r sa r ed i f f i c u l tt op r e d i c tt h ea s s e m b l e dc o m p o n e n ti n t e r f a c ea n db e h a v i o r a lc h a r a c t e r i s t i c s a sar e s u l t ,a s s e m b l yc o m p o n e n t sa r eo f t e nd i f f i c u l tt om e e tt h ed e s i g nr e q u i r e m e n t s a b o v ep r o b l e m sg r e a t l yr e s t r i c tt h ep r a c t i c a la p p l i c a t i o no fc b s d h o wt od e s c r i b et h ed y n a m i cb e h a v i o ro fac o m p o n e n tt oa c c u r a t e l yr e t r i e v et h ed e m a n dc o m p o n e n t ,h o wt oa u t o m a t eg e n e r a t ec o m p o n e n tt e s t i n gc a s e sf o rc o m p o n e n tf u l l yt e s t i n g ,a n dh o wi i i西南大学博士学位论文t oa s s e m b l ee x i s t i n gc o m p o n e n t st om e e tt h ea p p l i c a t i o nr e q u i r e m e n t so ft h es y s t e ma n ds p e c i f i c a t i o nt h ea s s e m b l e ds y s t e mi n t e r f a c e sa n db e h a v i o r sb e c o m er e s e a r c hh o t s p o t sa n dd i f f i c u l t i e s b e c a u s eo fi t sp r e c i s i o na n dr i g o r , f o r m a lm e t h o d sc a nb e t t e rm e e tt h ec o m p o n e n tf u n c t i o nd e s c r i p t i o na n di n t e r f a c es p e c i f i c a t i o nr e q u i r e m e n t s f u s i o no fc b s da n df o r m a ld e v e l o p m e n tm e t h o df o r t h ed e v e l o p m e n tc o m p o n e n ts o f t w a r es y s t e mh a si m p o r t a n tt h e o r e t i c a lv a l u ea n dp r a c t i c a ls i g n i f i c a n c e i nt h i sp a p e r ,f o r m a lm e t h o d sa n dg e n e t i ca l g o r i t h mi sa p p l i e dt ot h ec o m p o n e n tr e t r i e v a l ,c o m p o n e n tt e s t i n g ,c o m p o n e n ta s s e m b l ya n do t h e rc o m p o n e n t so fs o f t w a r ed e v e l o p m e n tk e ys t e p s ,d e s i g n e dt oe f f i c i e n t l ys u p p o r tc o m p o n e n tb a s e ds o f t w a r ed e v e l o p m e n t t h er e s e a r c hr e s u l t sa n dt h em a i nc o n t e n t so ft h i sp a p e ra r es u m m a r i z e di nt h ef o l l o w i n gt h r e ea s p e c t s :t h i sp a p e rf i r s tr e f e r e n c e3 cc o m p o n e n tm o d e l ,p r o p o s e da ne x t e n s i b l ec o m p o n e n td e s c r i p t i o nm o d e lb a s e do nf o r m a lm e t h o d ,i n c l u d i n gt h ec o m p o n e n tf u n c t i o nd e s c r i p t i o n ,i n t e r f a c ed e s c r i p t i o n ,e n v i r o n m e n t a ld e p e n d e n c yd e s c r i p t i o n ,a n dr e t a i n e dd e s c r i p t i o n ss u c ha sc o m p o n e n tk e y w o r d s 、n o nf u n c t i o n a la t t r i b u t e sa n ds oo n b a s e do nt h i sd e s c r i p t i o nm o d e la n dt h ep s y c h o l o g yc o g n i t i v et h e o r y ,am u l t i p l ef u z z yl e v e la n dm u l t i s t a g ec o m p o n e n tr e t r i e v em e t h o di sp r o p o s e d i ti sc o n v e n i e n tf o ru s e r st or e t r i e v et h ec o m p o n e n ta n de n s u r et h er e t r i e v a la c c u r a c ya n de f f e c t i v e n e s s s e c o n d l y , i no r d e rt oi m p r o v et h ee f f i c i e n c yo fc o m p o n e n ta u t o m a t e dt e s t i n g ,t h i sp a p e rp r o p o s e dac o m p o n e n t sb u i l t i nt e s t i n gc a s eg e n e r a t i o nm e t h o d sb a s e do ng e n e t i ca l g o r i t h m ,d e s i g n e dt h ec h r o m o s o m ee n c o d i n gm e t h o do ft h et e s t i n gp o i n t sa n dt e s t i n gd a t aa u t o m a t eg e n e r a t i o nm e t h o db a s e do nc o m p o n e n tf a c e t sd e s c r i p t i o n f o ri m p r o v i n gt e s t i n gc a s eg e n e r a t i o nq u a l i t ya n ds p e e d i n gu pt h ec o n v e r g e n c er a t eo ft h eg e n e t i ca l g o r i t h m ,t h i sp a p e ri m p r o v e dt h ec a l c u l a t em e t h o do ft h ef i t n e s sf u n c t i o no ft h ea l g o r i t h m t h ef i t n e s sf u n c t i o n sc o n s i d e r e db o t ho ft h ec o v e r a g eo ft h eu s ec a s et ot h ep a t ha n dt h ei n c r e a s er a t eo ft h ep a t hc o v e r a g e i te f f e c t i v e l yi m p r o v e st h ec o v e r a g eo ft h ep a t ha n dr e d u c e st h ec o s to fu s ec a s e s t h et h i r dp a r to ft h i sp a p e rp r e s e n t ss i xk i n d so fc o m p o n e n ta s s e m b l ym e c h a n i s m :c o m p o n e n t ss e q u e n c ea s s e m b l ym e c h a n i s m ,c o m p o n e n ts e l e c t i o na s s e m b l ym e c h a n i s m ,c o m p o n e n tc i r c u l a t i o na s s e m b l ym e c h a n i s m ,c o m p o n e n tp a r a l l e la s s e m b l ym e c h a n i s m ,c o m p o n e n ts y n c h r o n o u sa s s e m b l ym e c h a n i s ma n dc o m p o n e n ti n t e r r u p ta s s e m b l ym e c h a n i s m b ys t u d y i n gt h ew a yo fd e r i v e dc o m p o s i t ec o m p o n e n ts e m a n t i cs p e c i f i c a t i o na c c o r d i n gt ot h em u l t i p l ec o m p o n e n t so ft h es e m a n t i cs p e c i f i c a t i o na n dt h er e l a t e dp r o b l e m s ,p r o p o s e dac s pb a s e dc o m p o n e n ti n t e r f a c ea n db e h a v i o rs p e c i f i c a t i o nd e s c r i p t i o nm e t h o da n dt h er e l a t e dd e r i v ea l g o r i t h m s t h ee f f e c t i v e n e s so ft h em e t h o d si sv e r i f i e db yr e a lc a s e s k e y w o r d s :c o m p o n e n tc o m p o n e n ti vd e s c r i p t i o n ;c o m p o n e n tc o n t r i v e ;c o m p o n e n tt e s t i n g ;a s s e m b l y ;f o r m a l ;s e m a n t i c绪论1 1 研究背景及意义第1 章绪论近几十年来,由于应用的要求和人力成本的增长,使得软件系统的复杂性以及开发成本占比越来越高,软件企业难以忍受传统的软件开发技术造成的复杂性控制困难和成本压力。4 0 多年过去了,当初爆发出来的“软件危机”并没有因为技术的发展而获得很好解决,在各种技术和方法中,软件复用技术是理论上比较可行的途径之- 1 ,它可以极大地提高软件生产的效率,也能够较好地改善软件生产的质量。软件构件是一种可以被复用的软件实体,以构件为基础的软件开发技术成为软件复用的重要手段,也是软件复用领域当前研究的热点。l 一一问题反馈一i一,1 i舀_ 厂_ 爰r l o构件开发者构件测试者构件一,、i铲_ 一觞孓)i 一一问题反馈一1一。ir _ 7 j 铲厂落名赢?图1 - 1 基于构件的软件开发过程基于构件的软件开发( c o m p o n e n tb a s e ds o f t w a r ed e v e l o p i n g ,c b s d ) 过程如图1 1 所示,主要包括构件的生产过程,入库过程,查询过程,以及组装过程。首先由构件开发者( c o m p o n e n tp r o g r a m m e r ) 针对特定应用领域开发专用构件,并提交给独立的构件测试人员( c o m p o n e n tt e s t e r ) 对构件进行充分测试;测试人员将构件测试中发现的问题反馈( t e s tr e s p o n s e ) 给构件开发者进行修改,同时将通过测试的构件提交给构件库进行统一描述,描述的内容包括构件的标识符、功能特征、非功能特征等;之后基于构件的特点分类,如应用领域、功能特征等将构件按照类别存入构件库( c o m p o n e n tl i b r a r y ) ;用户则基于特定的构件描述方法,向西南大学博士学位论文构件库提交查询需求,并从查询结果中选择符合要求的构件进行组装( c o m p o n e n ta s s e m b l e ) ,以完成基于构件的软件开发。c b s d 的开发过程建立在构件开发、构件测试验证、构件库建设、构件库管理、高效率高质量的构件检索以及构件组装基础之上,缺少其中的任意一方面,c b s d都不能获得成功 2 】。而其中构件库的有效管理和构件的高效检索均依赖于存在合理准确的构件描述。传统上构件的描述包括刻面描述方法、编目描述方法和关键值描述方法等,但它们均是非形式化的描述方法,主要用于构件的组装和使用,不能充分支持对构件的检索;同时这些方法没有对接口元素问的语义关系进行描述,由于构件描述的不精确,这些方法在对构件进行检索时普遍存在查准率低和查找效率低的问题【3 。人们也提出了一些构件的形式化描述方法,如基于语义网络的描述方法、基于特征空间的语义定义方法等。由于采用了形式化的手段,这些方法能够较为精确的描述构件的功能语义,但问题是它们都建立在严密的数理逻辑基础上,并且使用了若干专用定义符号,这造成多数用户在需要进行构件查找时却难于构造出查询语句;同时,这些方法在进行构件检索时,容易忽略其他功能相近的构件,使得构件查全率不高 4 6 】。为了保证构件软件系统的质量,必须对构件进行充分的测试 7 】。然而由于构件本身固有的一些特点,如封装性、分布式运行、平台独立性等,使得传统的程序分析测试技术和模型不再完全适用 8 。通常构件的开发者并非构件的使用者,开发者可能并没有对构件做充分的测试,然而构件使用者却因无法获取构件的源代码而无法确定构件中的潜在问题。因此,在构件发布前,需要使用大量有效的测试用例对构件进行充分测试,以检测构件中可能潜在的各类错误,确保构件质量 9 。为了保证构件软件测试的覆盖率,需要能够高效的生成测试用例,这需要采用一些自动化或半自动化的手段,但这样产生的测试用例通常数量庞大,会造成测试效率很低,因此在c b s d 方法中,需要采用有效的优化算法来对庞大的构件测试用例集进行优化 8 9 】。影响c b s d 过程的另外一个关键问题是构件的组装方法。所有的构件软件系统都必须基于多个构件按照一定的规则组合而成。从技术角度来说,复合构件的组装与应用软件系统的组装所使用的原理都是一样的,即通过构件之间的服务请求与服务提供关系进行匹配组装 1l 】。无论是复合构件的组装还是应用系统的组装,它们都有一个共同的任务,那就是如何根据构件的功能行为、质量属性推导出系统整体( ,或复合构件) 的功能行为和质量属性,这是通过c b s d 提高软件产品质量的关键 1 2 。但是由于目前的构件规约缺乏形式语义信息,导致无法对构件的结构和行为进行属性约束,更不可能仅仅根据构件的文本描述来决定构件的功能特绪论性,这样就经常导致多个构件组装到一起后可能产生意想不到的交互结果 1 1 1 5 】。当前,产业界面临的最大压力是产品的功能要求越来越复杂,而用户或市场却要求越来越短的产品交付周期。如何在软件的复杂性不断增长的情况下还能构造出正确可靠的系统,是软件工程领域的一个重要课题,形式化方法是一种比较有效的途径 4 。近年来,受其他工业产品高效率、高质量生产过程的启发,人们逐渐认识到软件复用是既能满足软件生产率和质量的要求,又能实现软件的工业化生产的切实可行的途径 4 1 2 】。目前,软件复用技术已经成为软件工程若干问题研究中的一个主要方向。基于这样的现状,本文的工作就是试图把形式化方法用到软件构件的描述、检索以及组装的多个过程中,为软件复用能够达到实用化建立较为完整的一个基础。1 2 研究现状1 2 1 构件模型的研究现状构件模型( c o m p o n e n tm o d e l ) 是对构件特征及构件间的关系进行的一种抽象描述。目前己经提出或实现的有多种构件模型。理论界对3 c 模型以及r e b o o t模型开展了比较充分的研究,其中3 c 构件模型被普遍认为是一个具有较强指导性意义的模型,该模型从概念( c o n c e p t ) 、内容( c o n t e n t ) 和语境( c o n t e x t ) 三个不同方面来描述构件;r e b o o t 模型主要关注对已有构件的刻面分类和检索,从多个角度去刻画构件的属性。北京大学开展的青鸟工程以r e b o o t 模型为基础,并对该模型进行了较大的丰富和拓展,提出了青鸟构件模型,从“形态”、“层次”、“表示”3 个视角和“概念”、“操作规约”、“接口”、“类型”、“实现体”、“构件复合”、“性质”、“注释”、“语境”9 个方面来对构件进行刻画 5 。在工业界,实现的构件模型主要有c o r b a 、d c o m c o m 和e n t e r p r i s ej a v a b e a n ,它们均对构件技术的发展产生了较大影响,但它们对构件语义的深入支持都存在欠缺。下面介绍几个具有代表性的构件模型。1 ) 3 c 模型3 c 构件模型是关于构件模型的一个指导性模型 8 】,是一些系统工程领域专家在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 o n c e p t ) 、内容( c o n t e n t ) 、语境( c o n t e x t ) 。“概念”是关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。概念包括构件的接口规约和构件的语义描述两部分。“内容”是概念的具体实现,描述构件如何完成概念所刻画的功能。西南大学博士学位论文“语境”是构件和外围环境在概念层和内容层上的关系描述。语境用于刻画构件的应用环境,为使用者选择构件或对构件进行适应性修改提供指导。3 c 模型在定义构件和开发构件活动中具有一定的宏观指导意义,但它是非形式化的定义,不够严谨也容易引起误解,因此难于在软件工程中的得到广泛应用。2 1r e b o o t 模型r e b o o t 提供了一个包含各种工具的环境,可以对构件进行“产生”、“认证”、“插入”、“提取”、“评价”,以及提供一个可复用构件的构件库。其构件分类策略为刻面分类,而且主要针对面向对象( 0 0 ) 的构件。r e b o o t 定义的刻面包括“抽象”、“操作”、“操作于”、“依赖”四种。使用这些刻面对构件进行分类时,“抽象”刻面一般为类名,“操作”刻面一般是类的方法,“操作于”刻面用于描述与该构件合作的其它构件。r e b o o t 的刻面分类模式主要对源代码级构件进行描述,没有描述大粒度和复杂结构构件( 如模式、框架等) 的能力。3 ) 青鸟模型青鸟模型以三个视角和九个方面来定义构件模型。其三个视角分别为“形态”、“层次”和“表示”。下面介绍九个方面:( 1 ) 概念:指对构件的功能进行的抽象描述。( 2 ) 接口:构件对外的行为描述。( 3 ) 操作规约:构件能够对外提供的、可以被请求的服务。( 4 ) 类型:定义可用作为操作参数的值。( 5 ) 实现体:构件的实现部分,实际完成被请求服务的系统。( 6 ) 构件性质:用于指明构件的“形态”、“层次”和“表示”,即模型的三个视角。( 7 ) 构件复合:构成复合构件或应用系统的手段。( 8 ) 构件注释:描述与构件库相关的其他性质。( 9 ) 构件语景:描述使用构件的软、硬件环境以及实现的依赖。青鸟模型在r e b o o t 模型基础上做了许多的改进,比如加强了构件的易理解性、提高了构件的封装性、加强了构件相互间的关系,给构件提供了更为明确的对外接口,能够实现构件提供者和请求者的适度分离,也能够建立构件与使用者之间的交互。但该模型没有关注语义问题,也不是形式化的定义,最大的问题是缺乏具体的实现技术。4 ) c o r b a c c m 模型c o r b a 3 0 是对象管理组织( o b j e c tm a n a g e m e n tg r o u p o m g ) 于2 0 0 2 年8月发布的,其实质是r p c ( r e m o t ep r o c e d u r ec a l l ) 与面向对象技术的有机综合,它的核心部分是对象请求代理( o b j e c tr e q u e s tb r o k e r ) 8 。在c o r b a 中,每个4绪论构件都定义为含有一个基于面向对象的接口的对象,内部的代码可以是面向对象( o b j e c to r i e n t e d o o ) 的,也可以是非o o 的,c o r b a 上的对象能够被任何其他对象所使用。c o r b a 所建立的规范是一种开放分布式对象的计算结构,为异构的计算环境下的互操作提供了标准。通过c o r b a 规范,可以在不关心各个应用程序所在的位置、所采用的语言以及运行于何种操作系统环境的情况下,实现应用程序之间的相互通信。c c m 是指c o r b ac o m p o n e n tm o d e l ,它是在支持可移植对象适配器( p o r t a b l eo b j e c ta d a p t e r - p o a ) 的c o r b a 规范的基础上,结合e j b 规范而建立的一种c o r b a 构件模型,是o m g 制定的一个服务器端中间件模型规范,用于开发和配置分布式应用,c c m 主要包括如下内容:( 1 ) 抽象构件模型,描述服务器端构件的结构以及构件间互操作的结构;( 2 ) 构件容器结构,提供构件运行和管理的通用环境,同时支持对事务、安全和持久状态等系统服务的集成;( 3 ) 构件的配置和打包规范,使用打包技术管理构件的可执行代码与配置信息,制定了构件包的具体内容,以及基于x m l 的文档内容标准。当前关于c c m 实践的代表包括法国l i l l e 大学的o p e n c c m 、f p x 开发的m i c o c c m 、d o c 和w a s h i n g t o n 大学开发的c i a o 以及我国国防科技大学的s t a r c c m 等。科研机构正在致力于实现c c m 规范 2 0 2 6 】。5 )c o m d c o m c o m +c o m p o n e n to b j e c tm o d e l ( c o m ) 是由m i c r o s o f tc o r p o r a t i o n 提出的一种构件对象模型,运行于w i n d o w s 系列平台上。c o m 对构件与客户的交互方式进行了定义,因此c o m 中系统不再需要任何的中间件。c o m 定义了构件和客户间动态互操作的标准,这对软件的在线升级和异种语言构件的复用极有价值。d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ( d c o m ) 是m i c r o s o f tc o r p o r a t i o n 与其他厂商合作提出的一种分布式构件对象模型 2 7 】,其将c o m 扩展到了分布式计算的环境下,可以在分布式网络的环境中实现构件的高效、安全、可靠地互操作。d c o m加强了构件通信的安全保障,并支持许多种通信协议。因为是一个分布式模型,在建立d c o m 时除了使用c o m 对象的方式外,需要加入一个机器名称的参数来定位对象。c o m + 对c o m 构件进行了提升,使其成为了一种满足企业应用要求的构件模型 2 9 】。c o m + 的底层结构虽然仍以c o m 为基础,但把操作细节交给了操作系统,使其与操作系统结合得更加紧密【2 8 】,同时c o m + 在应用的方式上继承了m i c r o s o f tt r a n s a c t i o ns e r v e r ( m t s ) 的对象环境、安全模型、配置管理等处理机制。c o m +西南大学博士学位论文有机地统一了c o m 、d c o m 和m t s ,并提供了事件模型、内存数据库、负载平衡、队列服务等一些新的服务。6 ) j a v ab e a n s e j be j b 是由s u n 提出来的一种基于组件模型的分布式对象标准架构,其全称是e n t e r p r i s ej a v a b e a n 。制订e j b 规范的根本意图是提供一个组件的开发平台,让任何一个满足e j b 规范要求的组件,在不必考虑移植等细节的情况下,都可以灵活、方便地部署到任何一个支持e j b 的运行平台上,实现类似于硬件“即插即用的效果 3 0 】。e j b 使得企业的应用程序更加容易开发,由于e j b 规范了j a v a 开发及部署服务器端应用程序的业务逻辑,能够将e j b 的应用程序部署到任何兼容j 2 e e的服务器上,还能够重用每个企业b e a n ,大大简化了复杂企业应用程序的构建过程。e j b 主要由e j b 容器、e j b 服务器、本地接口和远程接口等组成 3 1 。( 1 ) e j b 容器是e j b 类实例的抽象,用于管理一个或多个e j b 类实例,e j b 容器通过e j b 规范中定义的接口来保证e j b 类访问所需要的服务。( 2 ) e j b 服务器是管理e j b 容器的应用程序或进程,提供了对可访问j a v an a m ea n dd e s c r i p t i o ni n t e r f a c e 的名称服务及事务服务的支持。( 3 ) 本地接口定义了创建、查找、删除e j b 类实例的方法。它通过e j b 容器的本地对象来实现。( 4 ) 远程接口提供了e j b 类中的商务方法,使客户端可以通过远程接口来访问e j b 实例的商务方法,但客户端不能直接获得e j b 实例的引用,远程接口是由e j bo b j e c t 实现的,客户端只能得到对应的e j bo b j e c t 实例的引用。e j bo b j e c t 如同一个“代理

温馨提示

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

评论

0/150

提交评论