下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 形式化方法对构件库管理系统支持的探讨 边小凡1,朱建林1,王 倩2 时间:2008年06月04日 字 体: 大 中 小 关键词: 摘要:关键词: 构件模型 构件库 形式化方法 形式化描述。在基于构件的软件开发(CBSD)1
2、21 当前典型构件模型简介与分析3就是用来刻划构件规约和组装的。3C模型是一个指导性的构件模型,它从概念、内容、语境三个部分来描述构件,但是3C模型缺乏形式化定义和易懂的描述,因此仅具有一定的宏观指导意义。(3)构件实现的模型用于帮助人们决定如何用某种程序设计语言或以某种可执行单元的形式来实现构件。有代表性的实现级工业标准构件模型有CORBA、DCOM/COM和Enterprise JavaBean,三足鼎立构成竞争与互操作并存的格局,工业构件模型最大的缺点在于其缺乏对构件语义的深入支持。综合考虑现有的构件模型,可得出以下结论:(1)现有的面向构件描述和分类的模型缺乏对构件语义特别是构件领域特
3、征的语义的描述,而这些正是理解构件基于领域的复用价值的关键。(2)现有的面向构件规约和组装的模型缺乏对构件演化的支持,对构件组装的支持机制也未达到标准化。(3)现有的构件模型都很少涉及有关构件复用和构件管理的信息,比如构件的复用度等。(4)在构件库系统中,构件模型的应用是既面向构件描述和分类又面向构件规约和组装的,而目前关注如此多方面的构件模型还不多见。2 对构件库中构件模型的改进人们对构件库中构件的操作包括入库、检索、学习、组装和演化等,在对构件进行这些操作时,变换支持其实现的底层构件模型是不现实的。所以,笔者试图探求一种构件描述模型,并让它同时支持构件的语义检索、自动化组装、以及对演化的自
4、动化支持等。2.1 构件模型所要描述的信息在对构件进行描述之前,必须先明确有哪些信息需要被构件模型来描述。而要明确构件模型中到底需要记录那些信息,就应该看构件库中围绕构件都做了哪些活动。经过分析,构件库中分角色对构件的操作有:(1)构件发布者:注册构件描述、分类信息;注册构件实体信息(离线构件);注册构件接口信息(在线构件)。(2)软件开发人员:查询;下载构件实体(离线构件);获取构件接口信息(在线构件);学习构件的功用和构件的用法等信息;应用构件进行应用系统组装;对不适用的构件进行演化。为了支持这些活动,构件模型中应该具有下列信息:(1)面向构件描述和分类的信息所有对用户查找、理解、选择、适
5、应性修改以及使用构件有帮助的信息;所有对构件库管理者分类和管理构件及构件间关系有帮助的信息;构件的其他属性,包括:生产者、版本、使用者、反馈意见、知识产权控制等。(2)面向构件规约和组装的信息构件对外提供的功能;构件需要外界为它提供的功能;构件被用于什么语境;支持构件演化的信息。综上所述,不同的角色在构件库中对构件的操作也不同。所以,对构件的信息需求也不同。在一般情况下,可以认为在企业里构件的入库者就是构件的生产者3,他们应该将主要的构件描述信息在构件入库时录入进去;而构件使用者对构件的行为有查找、学习、组装和演化等,并且在构件使用者应用构件库进行软件开发时,在不同时期所关注的构件信息也是不同
6、的。所以,应该分阶段、分层次地把构件的信息展现给构件使用者。在这里,将按照查找、学习、组装与演化三个层次来展现构件的性质。2.2 构件模型构件(Component)是指语义完整、语法正确和有可复用价值的单位软件,是软件复用过程中可以明确辨识的系统构成4基于检索部分描述的主要目的是为了能够准确、快速地找到所需要的构件。很多专家学者在这方面已经做了很多工作,目前各类构件库中使用最多的是关键词分类法,枚举、层次分类法,属性-值分类法和刻面分类法5四种。这里选用了刻面分类法来描述构件,并加入了复用度这个属性-值对来描述构件的复用价值。刻面分类部分选取了功能(Functionality),层次(Leve
7、l),表示方法(Representation),硬件环境(HardwareEnvironment),软件环境(SoftwareEnvironment),程序语言(Programming Language)六个刻面来描述。定义1 基于检索部分(RetrievalPart)。基于检索部分可以表示为:RetrievalPart=Functionality,Level,Representation,Hard-wareEnvironment,SoftwareEnvironment,ProgrammingLanguage,ReuseDegree其中,功能选取的术语:任务管理,资源管理,时间管理,编程支持,
8、中断管理,异常管理,用户界面,安全管理,网络服务,数据库管理等;层次选取的术语:需求,设计,实现,实施,测试等;表示方法选取的术语:源代码,目标代码,文档,图表等;硬件环境选取的术语:CPU,内存,显卡,主板等;软件环境是所需软件的列表,其中既包括系统软件又包括应用软件,例如:Win98,Win2000,WinXP,Linux,Office2000等;程序语言选取的术语:C,C#,Visual C+,VB,Java,Visual Foxpro等。这里给选取的术语空间加入机器学习的机制,随着新构件的不断入库,更多、更规范的术语的出现,来不断丰富和完善各个刻面的术语空间。定义1.1 复用度(Reu
9、seDegree)。复用度等于初始值(Initialization)加上复用次数与入库时间的比值。ReuseDegree=Initialization+ReuseTime/EnterTime初始值在软件入库时由入库人员设定,并且在以后的构件库运行过程中可以由构件库管理人员或构件使用者更改。基于组装和演化部分描述的目的是为了更好地支持构件的组装和演化。在支持组装方面,此模型支持找出与构件组装相关的其他构件,提供构件接口的语法与语义描述和提供构件的实现体。在支持演化方面,此模型支持找出所有与演化构件相关的构件,分析是否有必要将相关构件一起演化。定义3 基于组装和演化部分(AssemblyAndEv
10、olvementPart)。基于组装和演化部分用来描述支持构件组装和演化的信息。这里从构件关系语境(ComponentRelationContext)、接口(Interface)、实现(Implementation)三个方面来刻划。AssemblyAndEvolvementPart=ComponentRelationContext,Interface, ImplementationComponentRelationContext:构件关系语境集合,描述构件间的关系;Interface:接口集合,接口是描述构件的通信接口规范和语法约束;Implementation:实现集合,实现是满足接口规范和
11、语义描述的实例。通过网上信息收集系统的实践和多年来的研究,总结构件间的关系有如下五种6,如表1所示。3 构件模型的应用本构件模型对构件库管理的支持是多方面,多角度的。理论上,它的提出就是为了更好地支持构件库中构件的重用。实践中,通过在网上信息收集系统构件库中加入构件模型的支持,使以前难以实现的一些功能得以实现,例如:基于语义的检索,对构件组装和演化的支持等。下面简单介绍一下此模型在这些方面的支持机制。3.1 如何支持构件的语义检索本模型支持构件的语义检索。它从应用领域,功能,层次,表示方法,硬件环境,软件环境,程序语言,复用度八个方面刻划构件的特征。根据刻面的重要性和在网上信息收集系统构件库中
12、的实践,笔者将各个方面的权值确定如表2。当检索时,可以从除复用度之外的7个刻面输入需求,然后计算出各个构件的匹配度,并且按照匹配度从高到低依次提供给构件检索者。如果在输入需求时没有输入某一刻面所需求的术语描述,则视为对这一刻面没有要求,则这一刻面按完全匹配看待。通过在网上信息收集系统构件库中的应用,证明了在此模型的支持下构件的查准率和查全率都有了明显的改善。更重要的是,这种查找支持了定量的语义匹配度查找。3.2 如何支持构件组装和演化具体的组装过程是由专门的组装工具来实现,此构件模型在网上信息收集系统构件库中对构件组装和演化的支持体现在提供构件组装、演化的语境支持和组装工具所需要的所有信息。(1)分析作为组装元素的构件的关系语境(ComponentRelationContext),可以得到此构件的组装语境和演化语境。组装语境刻划的信息是如果使用某一构件去组装,那么还必须使用哪些与此构件有关的其他构件来组装。演化语境确定哪些构件与本构件演化有关,关联的程度有多大,是否有必要也跟随这个构件一起演化;演化语境还要确定演化后的构件与周围构件的关系是否会发生变化,发生什么样的变化等。(2)提供接口、实现等信息给组装工具,由组装工具根据本构件模型所提供的信息实现组装。例如构件模型中对构件接口的描述提供了构件接口的语法描述和语义描述,这些都是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年虚拟现实设备舒适度创新报告
- 维修人员工作总结(汇编15篇)
- 26年护理禁忌案例解析课件
- 26年银发护理应急处置不当禁忌课件
- 2026春浙美版(新教材)小学美术二年级下册第四单元多姿多彩编出来《11.编织“小花衣”》教学设计
- 东方红印刷厂印刷厂印刷加工合同合同三篇
- 肾盂癌术后膀胱癌再发防控策略:多维度临床探索与实践
- 肾康注射液治疗慢性肾功能衰竭的疗效与机制探究:多维度临床分析与展望
- 肺癌诊疗新视角:肿瘤标志物的精准应用与价值评估
- 肺癌微波消融术前后血清VEGF、PDGF和Ang - 2水平变化及其临床关联研究
- 2022年浙江衢州市大花园集团招聘31人上岸笔试历年难、易错点考题附带参考答案与详解
- 劳动纠纷应急预案
- 培训中心手绘技能培训马克笔单体表现
- DB23T 2638-2020农村生活垃圾处理标准
- YC/T 205-2017烟草及烟草制品仓库设计规范
- 人行横洞施工技术交底
- 管事部培训资料课件
- 河北省衡水市各县区乡镇行政村村庄村名居民村民委员会明细
- 春潮现代文阅读理解答案
- 部编人教版八年级上册初中语文全册课前预习单
- 管桩应力释放孔施工方案
评论
0/150
提交评论