基于角色的构件合成 基于角色的构件合成

基于角色的构件合成

  • 期刊名字:计算机工程与科学
  • 文件大小:548kb
  • 论文作者:
  • 作者单位:
  • 更新时间:2020-07-07
  • 下载次数:
论文简介

CN43-1258/TP计算机工程与科学2005年第27卷第11期ISSN 1007-130XCOMPUTER ENGINEERING & SCIENCEVol. 27,No. 11,2005文章编号:1007-130X(2005)011-0069-02基于角色的构件合成Role- Based Component Integration卢炎生,于本志,徐丽萍LU Yanr sheng, YU Ben-zhi,XU Li-ping(华中科技大学计算机科学与技术学院,湖北武汉430074)(School of Compater Science and Technology, Huazhong University of Science and Technology, Wuhan 430074,China)摘要:构件合成技术已成为软件复用研究的热点,本文给出了一种基于角 色的构件合成方法,并讨论了基于该方法的构件的逻辑合成和物理合成两种合成方式。该方法通过引入角色有效地描述了各个子构件所提供的功能服务之间的交互关系,这种方法自身的特点使其既适用于进行本地构件的合成也适用于进行分布式的构件合成。Alstract:Component integration is hot in the software reuse research field. This paper gives a rolebased component in-tegration method and discusses its logic and pbysical integration. By roles, the method effectively describes the interactiverelations between services supplied by subcomponents. The characterstics of this method make it suitable for both localcomponent integration and distributed component integration.关键词:软件复用;构件;构件合成;角色Key words: software reuse; software component; component integration; role中图分类号:TP311文献标识码:A系结构中,如对象连接式体系结构、接口连接式体系结构、1引言插头式体系结构等2]) ,构件都是必不可少的元素,软件体系结构是系统实现的蓝图,它定义了组成系统的构件之间的软件复用的目的就是为了能够最大限度地复用已有的交互作用关系,它也为构件的合成以及构件的集成组装提软构件,已成为解决软件危机、提高软件生产率和质量的最供基础和上下文。有效、最具潜力的手段之- -.构件的粒度大小是影响系统复用效率的主要因素之软件构件模型是关于开发可重用软件构件和构件之间-。 近年来,已经提出了一些通过不同的合成策略将小粒相互通信的- -组标准的描述。构件是指- -个定 义良好的、度构件合成大粒度构件的技术,如应用于Macro的文本合符合一个构件模型的、可替换的、可复用的、能够被第三方成、通过参数调用函数的函数合成、针对模块的模块合成、组装的功能实现。构件技术把构架从系统逻辑中隔离出面向对象技术通过继承引入的面向对象的合成等。这些技来,可以用来分析复杂的系统、组织大规模的开发提高系术在实际应用中的表现各有所长,使得软构件合成技术的统的开发效率。研究方兴未艾。基于构件的软件开发方法(Component Based SoftwareDevelopment,简称CBSD)可以提高软件的可重用性”,使2基 于角色的构件模型软件开发可以按照工业化的方式进行。CBSD使构件技术贯穿于软件系统的分析、设计、开发等各个阶段,是在吸取构件通过功能接口提供- - 个或多个服务功能,对于复了已有软件开发方法的经验基础上的一种全新的、高效的杂的合 成构件则需要由多个其他子构件的不同功能接口的开发方法,现在已经成为软件复用研究的热点。交互作用来提供服务功能。构件与体系结构是密不可分的,在各种典型的软件体--个基于角色的构件模型(Role-BasedComponent中国煤化工国防预研(10104010201 )作者简介:卢炎生(1950-),男,湖北罗田人,教授,博生导师,研究方向,MYHCN M H G硕土,研究方向为软通讯地址:430074湖北省武汉市华中科技天学计算机科学与技术学院; Tel; (027)87556601 E-mail: ybzhi@12cn .com.Address: School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan, Hubei 430074,P.R ChinaModel)如图1所子构件可以串行地调度运行,也可以并行地调度运行[0,可;1)示,包括以下成R_ _RoleP. _Role以大大提高系统的性能;子构件的修改升级直接体现到合分:RequstlProvidel成构件中,使得合成构件无需修改就可以达到与子构件的(1)角色修改升级同步;这种合成方式中,各个子构件可以存在本S2S3(Role);角色是地,也可以存在异地,所以可以方便地进行分布式的软构件指一组功能接口图1基于角色的构件模型合成以及构建基于构件的分布式应用系统。的抽象0。它包基于角色的构件合成方法中进行构件合成的成分是以括请求服务功能角色和提供服务功能角色。请求服务功能角色方式提供的服务,于是构件合成就需要描述各个以角角色是构件为提供服务需要其他构件提供的功能接口的集色方式提供的服务间的交互关系。鉴于-般的接口定义语合,提供服务功能角色是构件提供的功能接口的集合。角言(DL)在描述交互能力上的不足[5] ,我们使用扩展的接色可描述为ROLE:= I ,其中R_口定义语言(EIDL)来描述它们之间的交互关系。Role是请求服务功能角色,P_ Role是提供服务功能角色。(1)串行交互。在串行交互关系中,各个服务的调度执(2)提供功能接口(Provide Interface) :描述构件可对行是串行的、同步的,一个调用者必须等待被调用服务处理外提供的功能,每个功能接口向外界提供不同的功能,完成结束才能继续进行下面的动作。特定的任务。提供功能接口可描述为PI:= ,例如,为了显示灰度图像和彩色图像,需要新的合成构其中PB是该接口行为的一般规约描述, PC用来描述所需件来提供新的显示功能服务。- - 个提供显示灰度图像和彩子服务间的交互关系。色图像功能的合成构件的描述如下:(3)请求功能接口(Request Interface) :描述构件需要Component displayCC其他构件提供的功能服务,构件在内部通过它们的交互来Role tanslator//请求服务功能角色向外界提供不同的功能。请求功能接口可描述为RI:= ,其中RB是该接口行为的一般规约描述。构件实例通过向系统注册的方式来提供服务,构件实Role displayer { //请求服务功能角色例为每个提供服务接口分别注册一个角色名和服务名。 一byte imageDisplayBW (in bytes IM);个服务可以加人多个角色,一个角色的成员可以来自多个Role imageDisplayer Interface//提供服务功能角色不同构件。系统根据角色名和服务名来匹配符合条件的服public byte imageDisplayGray(in bytes GIM){ bytes gim= translator. GrayToBW (GIM);务,如果匹配得到的是原子构件提供的服务,则调度其执byte result- displayer. imageDisplayBW (gim);行,如果匹配得到的是合成构件提供的服务,则根据交互关public byte imageDisplayColor (in bytes CIM)系分别调度执行各个子服务。{ bytes cim= translator. Color ToBW (CIM);例如,对于黑白显示器,能够提供以黑白两种颜色显示byte result= displayer.imageDisplayBW (cim);文字或者图像的功能。一个显示黑白图像的原子构件可用扩展的接口定义语言(EIDL)描述如下: .Component displayC该合成构件包括两个请求服务功能角色translator与{ //提供服务 功能角色displayerdisplayer及-个提供服务功能角色imageDisplayer. trans-Role displayer Interface {byre mgDisplayBw (in byres IM); }lator提供了两个服务分别用来实现从灰度图像和彩色图像到黑白图像的转换;displayer提供了一个服务,用来实现该构件向外提供-个显示图像的功能接口imageDis-对黑白图像的显示;提供服务功能角色inageDisplayer由playBW ,构件实例通过将其注册成为角色displayer的-一个两个功能接口组成,分别用来支持对灰度图像和彩色图像服务成员来向外界提供打印服务。在单色显示器上面的显示。在EIDL中,通过“;”运算符定了translator. GrayToBW和displayer. imageDisplayBW3基于角色的构件合成服务间的串行交互关系,先通过角色translator提供的服务将灰度图像转换为黑白图像,然后请求displayer角色的3.1逻辑合成imageDisplayBW服务来实现对图像的显示。随着软件复用技术研究的不断深人,新的复用理论和(2)并行交互。这种并行交互关系中,各个服务的调度方法不断被提出,构件的含义范围也不断变化。构件的逻执行是并行的、异步的,在EIDL中用运算符“1|”来定义。辑合成是指通过规约描述来描述构件以及子构件间的交互依据使用方式的不同,所描述的并行交互在语义上是不同关系,强调构件规约和构件实现相分离,使用构件时不需要的,实现功能服务的方式和达到的效果也不相同。以下是知道构件的实现,只需要知道构件的接口即可,在进行合成几种基于角色的服务并行交互的使用方式:时根据构件的接口规约在规约层次上描述多个子构件之间中国煤化工IM)的交互关系,而粘贴代码和各子构件之间相互独立。这种YHC N M H Gaim2=口2. ColorToBW .合成构件并不改变原有构件,合成构件和各子构件符合同(CIM) ;一构件模型,可以使用同一种规约语言进行描述。在执行(下转第83页)合成构件的功能时调用或通知各子构件进行协同工作,各7(的类及其相应属性的XML Schena。例如,假设EAI消息... }需要描述类powerplant及其相应的属性location, annual-在ColorToBW_ A中,两个服务t1. ColorToBW和t2.output和capacity,则ConceptSet O' = {powerplant, loca-ColorToBW是相互独立、并行调度执行的,并分别将结果tion, annualoutput, capacity), SchemaSet T= {Schena A,返回给ciml、cim2;在ColorToBW_ B中,两个调用t1. Col-B}。表1列出了SchemaA.B中与概念集O'最为匹配的orToBW和t2. ColorToBW也是相互独立、并行调度执行概念及其相应的相似度。的,但与ColorToBW_ A不同的是,当有一个结果返回时,表1最匹配的概念及相应的相似度就将结果返回给cim,另-个返回结果被忽略;在ColorTo-BW_ C中,向所有的translator实例广播对ColorToBW的Tpowerplant location anualoutput capacity调用,当接受到第-一个返回结果时就将结果给cim,其他返Schemapower.location(1)annuacapacity(1)回结果均被忽略,并继续后面的操作。A(MS)plant(1)output(1)(3)复杂的交互。串行交互和并行交互关系是各个服plantwattsB(MS)(0.81)0Wh(O.3)(O. 6)务间基本的交互关系,通过他们的不同组合可以表达各子findSchema函数可以计算出Schema A的匹配度sim服务间复杂的交互关系。=(1+1+1+1)/4=1 ,Schema B的匹配度sim =(0. 81+3.2物理合成0+0.3+0.6)/4=0. 428。由于Schema A的匹配度大于构件物理合成是根据各子构件的接口规范描述,通过Schema B,故Schema A更加符合客户的需求。添加描述子构件间交互关系的粘贴代码并编译连接各子构件生成新的构件。由于合成的新构件是由原子构件代码合3结束语成,内部包含了所有原子构件的代码,导致合成构件的体积上述方法是从已有的Schema中找到符合项目要求的随着粒度的变大不断增大,冗余代码也会越来越多。合成Schema。大型企业中的Schema成百上千,涉及到的领域构件可以提供各子构件的服务功能,也可以不提供各子构也是各种各样。所以,满足要求的Schema不难找到。但件的服务功能。如果原子构件进行升级,则合成的新构件是,该方法仍然不能解决找不到所需的Schema和两个组也必须重新编译、链接才能实现构件的升级,这样就导致一织结构不同的Schema文档之间转换的问题。如果在某些个原子构件的改动会影响粒度不同级别的构件都要重新编特殊的情况下,找不到所需的Schema,能够通过本体信息译连接。这给维护工作带来极大的困难,同时也给开发工模型创建-个Schema c0。如果一个Schema文档不符合作带来不利的影响。所以,在基于构件的软件开发过程中,要求,它可以通过相应转换为其它的需求服务。本体信息主要:是采用逻辑合成方式进行构件的合成。模型也可以在两个Schema的相互转换中起平衡作用,就4结束语如在EAI的情况下一个应用的输出Schema必须转换为另一个应用的输入Schema[5]。通过这两个拓展,该方法可以基于构件的软件开发方法是软件复用技术发展的必然进一步解决在复用XML Schema中出现的问题。结果构件合成技术已成为关注热点之一。角色的引人能够参考文献:有效地描述各个服务之间的交互关系,使用基于角色的构件[1] OWL Web Ontology Language Overview[EB/ OL]. http://合成方法进行合成构件时只需关心角色与服务。本文讨论了功能服务之间基本的交互关系以及在此基础上的构件合www. w3. org/ TR/ 2003/ WD owl-features, 2003-03.2] HDo, E Rahm. COMA-A Systerm for Flexible Combination成方法,以后工作的重点将深人研究各个功能服务间复杂的of Schema Matching Approach[A]. VLDB[C].2002.交互关系,并将在构件合成的合成策略方面作进-步研究。3] Miller, George A. WordNet; A Lexical Database for Eng-lisb[J]. Conumunications of the ACM, 1995,38(11) :39-48.4] 马坚,楼宇波,张亮.基于本体的XML Schema生成方法[J].[1] Jibhyun Lee, Jinsam Kim, Gyu Sang Shin. Facilitating Reuse计算机工程与应用,2003,39<11):65-68.of Software Components Using Repository Technology[A].[5] Lucas Zamboulis XML Scherma Matching & XML Data Mi-10th Asis-Paific Software Engineering Conf[C]. 2003.136-gration & Integration:A Step Towards the Semantic Web Vi-143.sion[EB/OL]. http:// www. dcs bbk. ac uk/ ~ lucas/[2] 张世琨,张文娟,常欣,等基于软件体系结构的可复用构件VivaTechRep. pdf, 2003-03.制作和组装[J].软件学报,2001,12(9); 1351-1359.[3] Dirk Riehle, Thomas Gros Role- Model Based Framework De(上接第70页)sign and Itegration[AJ. Proe 0OPSLA'98[C]. 1998. 17-133.. }[4] Frantisek Plasil. Behavior Proools for Software Componentspublie bytes ColorToBW_ B (in bytes CIM)ering,2002, 28(11):{ translator t1,t2;中国煤化工bytes cim;cim=tl. ColorToBW(CIM)|I t2. ColorToBW(CIM);[s] DYHC N M H Gfinition Languages toSupport rath expressions ana rrogramming by Contractpublic bytes ColorToBW _C (in bytes CIM)[A]. Technology of ObjectOriented Languages and Systems{ bytes cim;cim = translator| I. ColorToBW (CIM);26th Int'l Conf(TOOLS USA98)[C]. 1998. 308-317.83

论文截图
上一条:昔多芬的合成
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。