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

基于角色的構件合成

  • 期刊名字:計算機工程與科學(xué)
  • 文件大?。?48kb
  • 論文作者:
  • 作者單位:
  • 更新時(shí)間:2020-07-07
  • 下載次數:次
論文簡(jiǎn)介

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

論文截圖
上一條:昔多芬的合成
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院