論文簡(jiǎn)介
CN43-1258/TP計(jì)算機(jī)工程與科學(xué)2005年第27卷第11期ISSN 1007-130XCOMPUTER ENGINEERING & SCIENCEVol. 27,No. 11,2005文章編號(hào):1007-130X(2005)011-0069-02基于角色的構(gòu)件合成Role- Based Component Integration盧炎生,于本志,徐麗萍LU Yanr sheng, YU Ben-zhi,XU Li-ping(華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北武漢430074)(School of Compater Science and Technology, Huazhong University of Science and Technology, Wuhan 430074,China)摘要:構(gòu)件合成技術(shù)已成為軟件復(fù)用研究的熱點(diǎn),本文給出了一種基于角 色的構(gòu)件合成方法,并討論了基于該方法的構(gòu)件的邏輯合成和物理合成兩種合成方式。該方法通過(guò)引入角色有效地描述了各個(gè)子構(gòu)件所提供的功能服務(wù)之間的交互關(guān)系,這種方法自身的特點(diǎn)使其既適用于進(jìn)行本地構(gòu)件的合成也適用于進(jìn)行分布式的構(gòu)件合成。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.關(guān)鍵詞:軟件復(fù)用;構(gòu)件;構(gòu)件合成;角色Key words: software reuse; software component; component integration; role中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A系結(jié)構(gòu)中,如對(duì)象連接式體系結(jié)構(gòu)、接口連接式體系結(jié)構(gòu)、1引言插頭式體系結(jié)構(gòu)等2]) ,構(gòu)件都是必不可少的元素,軟件體系結(jié)構(gòu)是系統(tǒng)實(shí)現(xiàn)的藍(lán)圖,它定義了組成系統(tǒng)的構(gòu)件之間的軟件復(fù)用的目的就是為了能夠最大限度地復(fù)用已有的交互作用關(guān)系,它也為構(gòu)件的合成以及構(gòu)件的集成組裝提軟構(gòu)件,已成為解決軟件危機(jī)、提高軟件生產(chǎn)率和質(zhì)量的最供基礎(chǔ)和上下文。有效、最具潛力的手段之- -.構(gòu)件的粒度大小是影響系統(tǒng)復(fù)用效率的主要因素之軟件構(gòu)件模型是關(guān)于開(kāi)發(fā)可重用軟件構(gòu)件和構(gòu)件之間-。 近年來(lái),已經(jīng)提出了一些通過(guò)不同的合成策略將小粒相互通信的- -組標(biāo)準(zhǔn)的描述。構(gòu)件是指- -個(gè)定 義良好的、度構(gòu)件合成大粒度構(gòu)件的技術(shù),如應(yīng)用于Macro的文本合符合一個(gè)構(gòu)件模型的、可替換的、可復(fù)用的、能夠被第三方成、通過(guò)參數(shù)調(diào)用函數(shù)的函數(shù)合成、針對(duì)模塊的模塊合成、組裝的功能實(shí)現(xiàn)。構(gòu)件技術(shù)把構(gòu)架從系統(tǒng)邏輯中隔離出面向?qū)ο蠹夹g(shù)通過(guò)繼承引入的面向?qū)ο蟮暮铣傻?。這些技來(lái),可以用來(lái)分析復(fù)雜的系統(tǒng)、組織大規(guī)模的開(kāi)發(fā)提高系術(shù)在實(shí)際應(yīng)用中的表現(xiàn)各有所長(zhǎng),使得軟構(gòu)件合成技術(shù)的統(tǒng)的開(kāi)發(fā)效率。研究方興未艾?;跇?gòu)件的軟件開(kāi)發(fā)方法(Component Based SoftwareDevelopment,簡(jiǎn)稱CBSD)可以提高軟件的可重用性”,使2基 于角色的構(gòu)件模型軟件開(kāi)發(fā)可以按照工業(yè)化的方式進(jìn)行。CBSD使構(gòu)件技術(shù)貫穿于軟件系統(tǒng)的分析、設(shè)計(jì)、開(kāi)發(fā)等各個(gè)階段,是在吸取構(gòu)件通過(guò)功能接口提供- - 個(gè)或多個(gè)服務(wù)功能,對(duì)于復(fù)了已有軟件開(kāi)發(fā)方法的經(jīng)驗(yàn)基礎(chǔ)上的一種全新的、高效的雜的合 成構(gòu)件則需要由多個(gè)其他子構(gòu)件的不同功能接口的開(kāi)發(fā)方法,現(xiàn)在已經(jīng)成為軟件復(fù)用研究的熱點(diǎn)。交互作用來(lái)提供服務(wù)功能。構(gòu)件與體系結(jié)構(gòu)是密不可分的,在各種典型的軟件體--個(gè)基于角色的構(gòu)件模型(Role-BasedComponent中國(guó)煤化工國(guó)防預(yù)研(10104010201 )作者簡(jiǎn)介:盧炎生(1950-),男,湖北羅田人,教授,博生導(dǎo)師,研究方向,MYHCN M H G碩土,研究方向?yàn)檐浲ㄓ嵉刂?430074湖北省武漢市華中科技天學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院; 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所子構(gòu)件可以串行地調(diào)度運(yùn)行,也可以并行地調(diào)度運(yùn)行[0,可;1)示,包括以下成R_ _RoleP. _Role以大大提高系統(tǒng)的性能;子構(gòu)件的修改升級(jí)直接體現(xiàn)到合分:RequstlProvidel成構(gòu)件中,使得合成構(gòu)件無(wú)需修改就可以達(dá)到與子構(gòu)件的(1)角色修改升級(jí)同步;這種合成方式中,各個(gè)子構(gòu)件可以存在本S2S3(Role);角色是地,也可以存在異地,所以可以方便地進(jìn)行分布式的軟構(gòu)件指一組功能接口圖1基于角色的構(gòu)件模型合成以及構(gòu)建基于構(gòu)件的分布式應(yīng)用系統(tǒng)。的抽象0。它包基于角色的構(gòu)件合成方法中進(jìn)行構(gòu)件合成的成分是以括請(qǐng)求服務(wù)功能角色和提供服務(wù)功能角色。請(qǐng)求服務(wù)功能角色方式提供的服務(wù),于是構(gòu)件合成就需要描述各個(gè)以角角色是構(gòu)件為提供服務(wù)需要其他構(gòu)件提供的功能接口的集色方式提供的服務(wù)間的交互關(guān)系。鑒于-般的接口定義語(yǔ)合,提供服務(wù)功能角色是構(gòu)件提供的功能接口的集合。角言(DL)在描述交互能力上的不足[5] ,我們使用擴(kuò)展的接色可描述為ROLE:= I ,其中R_口定義語(yǔ)言(EIDL)來(lái)描述它們之間的交互關(guān)系。Role是請(qǐng)求服務(wù)功能角色,P_ Role是提供服務(wù)功能角色。(1)串行交互。在串行交互關(guān)系中,各個(gè)服務(wù)的調(diào)度執(zhí)(2)提供功能接口(Provide Interface) :描述構(gòu)件可對(duì)行是串行的、同步的,一個(gè)調(diào)用者必須等待被調(diào)用服務(wù)處理外提供的功能,每個(gè)功能接口向外界提供不同的功能,完成結(jié)束才能繼續(xù)進(jìn)行下面的動(dòng)作。特定的任務(wù)。提供功能接口可描述為PI:= ,例如,為了顯示灰度圖像和彩色圖像,需要新的合成構(gòu)其中PB是該接口行為的一般規(guī)約描述, PC用來(lái)描述所需件來(lái)提供新的顯示功能服務(wù)。- - 個(gè)提供顯示灰度圖像和彩子服務(wù)間的交互關(guān)系。色圖像功能的合成構(gòu)件的描述如下:(3)請(qǐng)求功能接口(Request Interface) :描述構(gòu)件需要Component displayCC其他構(gòu)件提供的功能服務(wù),構(gòu)件在內(nèi)部通過(guò)它們的交互來(lái)Role tanslator//請(qǐng)求服務(wù)功能角色向外界提供不同的功能。請(qǐng)求功能接口可描述為RI:= ,其中RB是該接口行為的一般規(guī)約描述。構(gòu)件實(shí)例通過(guò)向系統(tǒng)注冊(cè)的方式來(lái)提供服務(wù),構(gòu)件實(shí)Role displayer { //請(qǐng)求服務(wù)功能角色例為每個(gè)提供服務(wù)接口分別注冊(cè)一個(gè)角色名和服務(wù)名。 一byte imageDisplayBW (in bytes IM);個(gè)服務(wù)可以加人多個(gè)角色,一個(gè)角色的成員可以來(lái)自多個(gè)Role imageDisplayer Interface//提供服務(wù)功能角色不同構(gòu)件。系統(tǒng)根據(jù)角色名和服務(wù)名來(lái)匹配符合條件的服public byte imageDisplayGray(in bytes GIM){ bytes gim= translator. GrayToBW (GIM);務(wù),如果匹配得到的是原子構(gòu)件提供的服務(wù),則調(diào)度其執(zhí)byte result- displayer. imageDisplayBW (gim);行,如果匹配得到的是合成構(gòu)件提供的服務(wù),則根據(jù)交互關(guān)public byte imageDisplayColor (in bytes CIM)系分別調(diào)度執(zhí)行各個(gè)子服務(wù)。{ bytes cim= translator. Color ToBW (CIM);例如,對(duì)于黑白顯示器,能夠提供以黑白兩種顏色顯示byte result= displayer.imageDisplayBW (cim);文字或者圖像的功能。一個(gè)顯示黑白圖像的原子構(gòu)件可用擴(kuò)展的接口定義語(yǔ)言(EIDL)描述如下: .Component displayC該合成構(gòu)件包括兩個(gè)請(qǐng)求服務(wù)功能角色translator與{ //提供服務(wù) 功能角色displayerdisplayer及-個(gè)提供服務(wù)功能角色imageDisplayer. trans-Role displayer Interface {byre mgDisplayBw (in byres IM); }lator提供了兩個(gè)服務(wù)分別用來(lái)實(shí)現(xiàn)從灰度圖像和彩色圖像到黑白圖像的轉(zhuǎn)換;displayer提供了一個(gè)服務(wù),用來(lái)實(shí)現(xiàn)該構(gòu)件向外提供-個(gè)顯示圖像的功能接口imageDis-對(duì)黑白圖像的顯示;提供服務(wù)功能角色inageDisplayer由playBW ,構(gòu)件實(shí)例通過(guò)將其注冊(cè)成為角色displayer的-一個(gè)兩個(gè)功能接口組成,分別用來(lái)支持對(duì)灰度圖像和彩色圖像服務(wù)成員來(lái)向外界提供打印服務(wù)。在單色顯示器上面的顯示。在EIDL中,通過(guò)“;”運(yùn)算符定了translator. GrayToBW和displayer. imageDisplayBW3基于角色的構(gòu)件合成服務(wù)間的串行交互關(guān)系,先通過(guò)角色translator提供的服務(wù)將灰度圖像轉(zhuǎn)換為黑白圖像,然后請(qǐng)求displayer角色的3.1邏輯合成imageDisplayBW服務(wù)來(lái)實(shí)現(xiàn)對(duì)圖像的顯示。隨著軟件復(fù)用技術(shù)研究的不斷深人,新的復(fù)用理論和(2)并行交互。這種并行交互關(guān)系中,各個(gè)服務(wù)的調(diào)度方法不斷被提出,構(gòu)件的含義范圍也不斷變化。構(gòu)件的邏執(zhí)行是并行的、異步的,在EIDL中用運(yùn)算符“1|”來(lái)定義。輯合成是指通過(guò)規(guī)約描述來(lái)描述構(gòu)件以及子構(gòu)件間的交互依據(jù)使用方式的不同,所描述的并行交互在語(yǔ)義上是不同關(guān)系,強(qiáng)調(diào)構(gòu)件規(guī)約和構(gòu)件實(shí)現(xiàn)相分離,使用構(gòu)件時(shí)不需要的,實(shí)現(xiàn)功能服務(wù)的方式和達(dá)到的效果也不相同。以下是知道構(gòu)件的實(shí)現(xiàn),只需要知道構(gòu)件的接口即可,在進(jìn)行合成幾種基于角色的服務(wù)并行交互的使用方式:時(shí)根據(jù)構(gòu)件的接口規(guī)約在規(guī)約層次上描述多個(gè)子構(gòu)件之間中國(guó)煤化工IM)的交互關(guān)系,而粘貼代碼和各子構(gòu)件之間相互獨(dú)立。這種YHC N M H Gaim2=口2. ColorToBW .合成構(gòu)件并不改變?cè)袠?gòu)件,合成構(gòu)件和各子構(gòu)件符合同(CIM) ;一構(gòu)件模型,可以使用同一種規(guī)約語(yǔ)言進(jìn)行描述。在執(zhí)行(下轉(zhuǎn)第83頁(yè))合成構(gòu)件的功能時(shí)調(diào)用或通知各子構(gòu)件進(jìn)行協(xié)同工作,各7(的類及其相應(yīng)屬性的XML Schena。例如,假設(shè)EAI消息... }需要描述類powerplant及其相應(yīng)的屬性location, annual-在ColorToBW_ A中,兩個(gè)服務(wù)t1. ColorToBW和t2.output和capacity,則ConceptSet O' = {powerplant, loca-ColorToBW是相互獨(dú)立、并行調(diào)度執(zhí)行的,并分別將結(jié)果tion, annualoutput, capacity), SchemaSet T= {Schena A,返回給ciml、cim2;在ColorToBW_ B中,兩個(gè)調(diào)用t1. Col-B}。表1列出了SchemaA.B中與概念集O'最為匹配的orToBW和t2. ColorToBW也是相互獨(dú)立、并行調(diào)度執(zhí)行概念及其相應(yīng)的相似度。的,但與ColorToBW_ A不同的是,當(dāng)有一個(gè)結(jié)果返回時(shí),表1最匹配的概念及相應(yīng)的相似度就將結(jié)果返回給cim,另-個(gè)返回結(jié)果被忽略;在ColorTo-BW_ C中,向所有的translator實(shí)例廣播對(duì)ColorToBW的Tpowerplant location anualoutput capacity調(diào)用,當(dāng)接受到第-一個(gè)返回結(jié)果時(shí)就將結(jié)果給cim,其他返Schemapower.location(1)annuacapacity(1)回結(jié)果均被忽略,并繼續(xù)后面的操作。A(MS)plant(1)output(1)(3)復(fù)雜的交互。串行交互和并行交互關(guān)系是各個(gè)服plantwattsB(MS)(0.81)0Wh(O.3)(O. 6)務(wù)間基本的交互關(guān)系,通過(guò)他們的不同組合可以表達(dá)各子findSchema函數(shù)可以計(jì)算出Schema A的匹配度sim服務(wù)間復(fù)雜的交互關(guān)系。=(1+1+1+1)/4=1 ,Schema B的匹配度sim =(0. 81+3.2物理合成0+0.3+0.6)/4=0. 428。由于Schema A的匹配度大于構(gòu)件物理合成是根據(jù)各子構(gòu)件的接口規(guī)范描述,通過(guò)Schema B,故Schema A更加符合客戶的需求。添加描述子構(gòu)件間交互關(guān)系的粘貼代碼并編譯連接各子構(gòu)件生成新的構(gòu)件。由于合成的新構(gòu)件是由原子構(gòu)件代碼合3結(jié)束語(yǔ)成,內(nèi)部包含了所有原子構(gòu)件的代碼,導(dǎo)致合成構(gòu)件的體積上述方法是從已有的Schema中找到符合項(xiàng)目要求的隨著粒度的變大不斷增大,冗余代碼也會(huì)越來(lái)越多。合成Schema。大型企業(yè)中的Schema成百上千,涉及到的領(lǐng)域構(gòu)件可以提供各子構(gòu)件的服務(wù)功能,也可以不提供各子構(gòu)也是各種各樣。所以,滿足要求的Schema不難找到。但件的服務(wù)功能。如果原子構(gòu)件進(jìn)行升級(jí),則合成的新構(gòu)件是,該方法仍然不能解決找不到所需的Schema和兩個(gè)組也必須重新編譯、鏈接才能實(shí)現(xiàn)構(gòu)件的升級(jí),這樣就導(dǎo)致一織結(jié)構(gòu)不同的Schema文檔之間轉(zhuǎn)換的問(wèn)題。如果在某些個(gè)原子構(gòu)件的改動(dòng)會(huì)影響粒度不同級(jí)別的構(gòu)件都要重新編特殊的情況下,找不到所需的Schema,能夠通過(guò)本體信息譯連接。這給維護(hù)工作帶來(lái)極大的困難,同時(shí)也給開(kāi)發(fā)工模型創(chuàng)建-個(gè)Schema c0。如果一個(gè)Schema文檔不符合作帶來(lái)不利的影響。所以,在基于構(gòu)件的軟件開(kāi)發(fā)過(guò)程中,要求,它可以通過(guò)相應(yīng)轉(zhuǎn)換為其它的需求服務(wù)。本體信息主要:是采用邏輯合成方式進(jìn)行構(gòu)件的合成。模型也可以在兩個(gè)Schema的相互轉(zhuǎn)換中起平衡作用,就4結(jié)束語(yǔ)如在EAI的情況下一個(gè)應(yīng)用的輸出Schema必須轉(zhuǎn)換為另一個(gè)應(yīng)用的輸入Schema[5]。通過(guò)這兩個(gè)拓展,該方法可以基于構(gòu)件的軟件開(kāi)發(fā)方法是軟件復(fù)用技術(shù)發(fā)展的必然進(jìn)一步解決在復(fù)用XML Schema中出現(xiàn)的問(wèn)題。結(jié)果構(gòu)件合成技術(shù)已成為關(guān)注熱點(diǎn)之一。角色的引人能夠參考文獻(xiàn):有效地描述各個(gè)服務(wù)之間的交互關(guān)系,使用基于角色的構(gòu)件[1] OWL Web Ontology Language Overview[EB/ OL]. http://合成方法進(jìn)行合成構(gòu)件時(shí)只需關(guān)心角色與服務(wù)。本文討論了功能服務(wù)之間基本的交互關(guān)系以及在此基礎(chǔ)上的構(gòu)件合www. w3. org/ TR/ 2003/ WD owl-features, 2003-03.2] HDo, E Rahm. COMA-A Systerm for Flexible Combination成方法,以后工作的重點(diǎn)將深人研究各個(gè)功能服務(wù)間復(fù)雜的of Schema Matching Approach[A]. VLDB[C].2002.交互關(guān)系,并將在構(gòu)件合成的合成策略方面作進(jìn)-步研究。3] Miller, George A. WordNet; A Lexical Database for Eng-lisb[J]. Conumunications of the ACM, 1995,38(11) :39-48.4] 馬堅(jiān),樓宇波,張亮.基于本體的XML Schema生成方法[J].[1] Jibhyun Lee, Jinsam Kim, Gyu Sang Shin. Facilitating Reuse計(jì)算機(jī)工程與應(yīng)用,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] 張世琨,張文娟,常欣,等基于軟件體系結(jié)構(gòu)的可復(fù)用構(gòu)件VivaTechRep. pdf, 2003-03.制作和組裝[J].軟件學(xué)報(bào),2001,12(9); 1351-1359.[3] Dirk Riehle, Thomas Gros Role- Model Based Framework De(上接第70頁(yè))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;中國(guó)煤化工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
論文截圖
版權(quán):如無(wú)特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請(qǐng)聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時(shí)內(nèi)刪除。