




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 基于刻面分類(lèi)的構(gòu)件檢索袁冬娟,周曉峰河海大學(xué)計(jì)算機(jī)及信息工程學(xué)院,江蘇南京(210098)摘 要:構(gòu)件庫(kù)是軟件復(fù)用技術(shù)的核心,而如何有效檢索到可復(fù)用的構(gòu)件是關(guān)鍵。在眾多的構(gòu)件檢索方法中,刻面檢索是一種得到廣泛應(yīng)用和高效的檢索方法。這方面的研究和實(shí)踐也一直是構(gòu)件檢索的重點(diǎn),并且結(jié)合新技術(shù)而不斷發(fā)展著。本文介紹了構(gòu)件刻面檢索的現(xiàn)狀,并對(duì)其未來(lái)的發(fā)展進(jìn)行了展望。關(guān)鍵詞:軟件復(fù)用,構(gòu)件檢索,刻面1 引言軟件構(gòu)件技術(shù)是影響整個(gè)軟件產(chǎn)業(yè)的關(guān)鍵技術(shù)之一1。它被認(rèn)為是有效提高軟件生產(chǎn)率、縮短軟件產(chǎn)品交付時(shí)間和提高軟件質(zhì)量的新途徑。近年來(lái),構(gòu)件技術(shù)的發(fā)展和基于構(gòu)件的軟件工程(Component - Based
2、 Software Engineering,CBSE)2的提出,使得構(gòu)件庫(kù)的建立成為發(fā)展的必然趨勢(shì), 因?yàn)榛跇?gòu)件的軟件開(kāi)發(fā)需要具有大量可供選擇的可復(fù)用構(gòu)件,提供驗(yàn)證合格的構(gòu)件就必須通過(guò)構(gòu)件庫(kù)來(lái)實(shí)現(xiàn),但如何有效地從構(gòu)件庫(kù)中準(zhǔn)確地檢索到所需要的構(gòu)件是構(gòu)建構(gòu)件庫(kù)的關(guān)鍵技術(shù)問(wèn)題。有效的構(gòu)件檢索機(jī)制能夠降低構(gòu)件查找和理解的成本,軟件構(gòu)件的分類(lèi)和檢索方法決定了構(gòu)件庫(kù)的組織、管理,以及構(gòu)件庫(kù)的查詢和用戶對(duì)軟件構(gòu)件的理解,是軟件復(fù)用的基礎(chǔ)性問(wèn)題,也是近來(lái)軟件復(fù)用研究的一個(gè)熱點(diǎn)?;诳堂娣诸?lèi)的構(gòu)件檢索方法以其能夠較大地提高檢索效率,而且有助于復(fù)用者理解構(gòu)件和目標(biāo)領(lǐng)域的優(yōu)點(diǎn)得到廣泛的應(yīng)用。2 構(gòu)件檢索的現(xiàn)狀隨著
3、軟件復(fù)用實(shí)踐的深入和構(gòu)件庫(kù)規(guī)模的擴(kuò)大以及新技術(shù)的不斷發(fā)展,出現(xiàn)了很多構(gòu)件檢索方法。目前的構(gòu)件分類(lèi)和檢索方法有兩種:一是W. Frakes從構(gòu)件表示出發(fā)分為的人工智能方法、超文本方法和信息科學(xué)方法三類(lèi)。信息科學(xué)方法是目前實(shí)際復(fù)用項(xiàng)目中應(yīng)用較為成功的一類(lèi), 又分為基于受控詞匯表(枚舉、刻面)分類(lèi)和基于不受控詞匯表(如關(guān)鍵詞)分類(lèi)兩種形式,其中以枚舉、刻面、屬性值、關(guān)鍵詞和正文檢索幾種方法較為常見(jiàn);另外就是H. Mili按照復(fù)雜度和檢索效果的遞增將其分為基于文本的、基于詞法描述子的和基于規(guī)約的編碼和檢索方法3。構(gòu)件檢索方法又可以歸結(jié)為三類(lèi):基于外部索引的檢索(如關(guān)鍵詞、刻面、屬性值)、基于內(nèi)部靜態(tài)索
4、引的檢索(基于規(guī)約的構(gòu)件檢索)和基于內(nèi)部動(dòng)態(tài)索引的檢索(基于行為的檢索)4。具體的研究和實(shí)際應(yīng)用例如Prieto-Diaz提出的基于刻面分類(lèi)的檢索5,Andy Podgurski等人提出的基于構(gòu)件行為采樣的檢索6,Merkl D.7等人首次將神經(jīng)網(wǎng)絡(luò)用于構(gòu)件檢索,Penix J.8等人提出利用語(yǔ)義特征對(duì)構(gòu)件進(jìn)行分類(lèi)檢索;到對(duì)構(gòu)件的形式化表示和檢索,在文9中作者提出對(duì)構(gòu)件的基調(diào)匹配和規(guī)約匹配;1999年Damiani E.在文10將模糊數(shù)學(xué)用于構(gòu)件的檢索。構(gòu)件搜索引擎是近年來(lái)CMU/SEI的Seacord等人研究和開(kāi)發(fā)的一種構(gòu)件搜索系統(tǒng)11,能夠在Internet的各個(gè)節(jié)點(diǎn)上自動(dòng)尋找和搜集Jav
5、aBeans、Active X、CORBA、EJB等構(gòu)件,獲得構(gòu)件的URL等相關(guān)信息,并為之建立索引。隨著www和Internet技術(shù)的發(fā)展,出現(xiàn)了xml 、Web Services等技術(shù)以及本體的理論都為構(gòu)件檢索提供更為廣闊的前景。在文12中將xml結(jié)合刻面分類(lèi)方法來(lái)對(duì)構(gòu)件進(jìn)行表示和檢索。李玉山等人在文13中介紹了在刻面分類(lèi)的檢索的基礎(chǔ)上采用Web Services技術(shù)對(duì)構(gòu)件進(jìn)行封裝實(shí)現(xiàn)-1- 了構(gòu)件庫(kù)的互操作功能。近年來(lái)隨著本體的理論研究和應(yīng)用的發(fā)展,本體在信息檢索特別是基于知識(shí)檢索中得到廣泛的應(yīng)用14,15。Ruben PrietoDiaz在他的文章16中給出了一種基于方面(Facet)
6、的本體構(gòu)建方法。目前基于刻面分類(lèi)的構(gòu)件檢索以其能夠豐富表達(dá)構(gòu)件,較大的提高檢索效率而且有助于復(fù)用者理解構(gòu)件功能而得到了廣泛的重視和應(yīng)用,被視為是一種比較理想的構(gòu)件庫(kù)分類(lèi)和檢索策略,被眾多構(gòu)件庫(kù)管理系統(tǒng)所采用。3 基于刻面分類(lèi)的構(gòu)件檢索3.1 刻面分類(lèi)的特點(diǎn)刻面(facet)17這個(gè)術(shù)語(yǔ)最早使用是在50年代,分別出現(xiàn)在Ranganathan的圖書(shū)館分類(lèi)系統(tǒng)中和Guttman的一項(xiàng)社會(huì)調(diào)查中。但是那時(shí)的刻面概念還比較模糊,刻面之間也存在著語(yǔ)義上的交迭等諸多不合理因素。然后Prieto-Diaz18將刻面分類(lèi)方法應(yīng)用于GTE公司的構(gòu)件項(xiàng)目時(shí),發(fā)現(xiàn)該方法能夠提高檢索效率,而且有助于構(gòu)件使用者理解構(gòu)件和
7、目標(biāo)領(lǐng)域。刻面是一個(gè)單詞或短語(yǔ)的固定集合,用于描述構(gòu)件的某個(gè)方面或視角(viewpoint)。每個(gè)刻面具有一組術(shù)語(yǔ),術(shù)語(yǔ)之間有類(lèi)層次關(guān)系和同義詞關(guān)系而形成結(jié)構(gòu)化的術(shù)語(yǔ)空間。不同的刻面(刻面,術(shù)語(yǔ))構(gòu)成分類(lèi)中子集合中元素的滿足條件。構(gòu)件的描述術(shù)語(yǔ)僅限在給定的刻面之中選取,在術(shù)語(yǔ)空間中游歷可以幫助復(fù)用者理解相關(guān)領(lǐng)域。刻面具有下列特點(diǎn)19:(1) 刻面必須充分明確地描述構(gòu)件庫(kù)中全體構(gòu)件,即每一個(gè)構(gòu)件都可以用該刻面分類(lèi)。(2) 每一個(gè)刻面與一個(gè)術(shù)語(yǔ)空間相關(guān)聯(lián)。任意兩個(gè)刻面的術(shù)語(yǔ)空間是正交的,即一個(gè)刻面的術(shù)語(yǔ)發(fā)生變化不會(huì)影響到另一個(gè)刻面的術(shù)語(yǔ)空間。(3) 一個(gè)刻面的術(shù)語(yǔ)空間為有限的不定空間,即可以隨時(shí)間
8、的演進(jìn)而動(dòng)態(tài)地增加和刪除術(shù)語(yǔ)。(4) 每一個(gè)構(gòu)件的所有刻面必須予以定義,不允許在對(duì)構(gòu)件分類(lèi)時(shí)有未定義的刻面;但查詢時(shí),用戶可以利用任意數(shù)目的刻面來(lái)查詢。(5) 構(gòu)件庫(kù)管理者對(duì)構(gòu)件進(jìn)行分類(lèi)時(shí),應(yīng)該針對(duì)每一個(gè)刻面,從術(shù)語(yǔ)空間中選擇適當(dāng)?shù)男g(shù)語(yǔ)可以是多個(gè)術(shù)語(yǔ),來(lái)完成構(gòu)件的封裝工作。(6) 在一個(gè)術(shù)語(yǔ)空間中的術(shù)語(yǔ)按一般 /特殊關(guān)系形成樹(shù)狀的層次結(jié)構(gòu),每一個(gè)術(shù)語(yǔ)附帶有不定數(shù)目的同義詞(術(shù)語(yǔ)間可以具有同義詞關(guān)系)。F1F F2iTijT1jT2j圖 1 刻面及其術(shù)語(yǔ)空間的關(guān)系F F F 是描述構(gòu)件特征的刻面, F ;T ,T T F ;T ,T T F ;T ,12i111121j221222jii1T T
9、 是一個(gè)分類(lèi)子集合中元素的滿足條件。其中T ,T T ;21,T ,T T ;i2ij11121j21222jT ,T T 分別是F F F 中的術(shù)語(yǔ)集合。i1i2ij12i-2- 在刻面分類(lèi)策略中,構(gòu)件庫(kù)管理者通過(guò)將刻面與對(duì)應(yīng)的術(shù)語(yǔ)相聯(lián)結(jié),可以在構(gòu)件間建立復(fù)雜的聯(lián)系。與一般的層次分類(lèi)策略相比,刻面分類(lèi)策略更易于修改,更富有彈性,因?yàn)閷?duì)一個(gè)刻面的修改不會(huì)影響到其它的刻面。同時(shí),每個(gè)刻面對(duì)應(yīng)一個(gè)結(jié)構(gòu)化的術(shù)語(yǔ)空間,避免了一般的關(guān)鍵詞分類(lèi)策略的雜亂無(wú)章,使得對(duì)關(guān)鍵詞的管理更為方便和有序。術(shù)語(yǔ)空間中的術(shù)語(yǔ)有兩種關(guān)系,即一般/特殊關(guān)系和同義詞關(guān)系,術(shù)語(yǔ)間有了這兩種關(guān)系后,用戶可以沿著術(shù)語(yǔ)間的關(guān)系迅速對(duì)術(shù)
10、語(yǔ)進(jìn)行定位。同時(shí),用戶在檢索所需的構(gòu)件時(shí),有時(shí)很難對(duì)構(gòu)件的各個(gè)刻面作出準(zhǔn)確的描述,因而要查找的術(shù)語(yǔ)可能不夠精確。另外不同的用戶由于習(xí)慣不同,使用的術(shù)語(yǔ)也不盡相同,因而查找時(shí)容易出現(xiàn)術(shù)語(yǔ)的不匹配(mismatch)。利用這兩種關(guān)系,既可以統(tǒng)一用戶間術(shù)語(yǔ)使用上的差異,又可以幫助用戶將自己的檢索需求進(jìn)一步修正和細(xì)化,這也是一個(gè)逐步求精的過(guò)程。3.2 刻面分類(lèi)模式的發(fā)展NATO 標(biāo)準(zhǔn) 最初的刻面的分類(lèi)是 NATO 標(biāo)準(zhǔn)中的刻面分類(lèi)模式,它的刻面集合包括:對(duì)象、功能、算法、構(gòu)件類(lèi)型、語(yǔ)言、環(huán)境2021。3C 構(gòu)件模型 3C 構(gòu)件模型是在 1989 年的“Reuse in Practice Worksho
11、p”中由一些系統(tǒng)工程領(lǐng)域的專(zhuān)家提出的,它是關(guān)于構(gòu)件的一個(gè)指導(dǎo)性模型。3C 構(gòu)件模型的刻面分類(lèi)方案主要來(lái)自該模型描述構(gòu)件所采用的 3 個(gè)特征:概念(concept)、內(nèi)容(content)和語(yǔ)境(context)22。概念用于描述構(gòu)件的功能 ,構(gòu)件的概念依靠它的接口說(shuō)明及所執(zhí)行操作的語(yǔ)義描述表現(xiàn)出來(lái),使用者可以從概念描述中了解它的功能;內(nèi)容描述構(gòu)件怎樣完成概念所描述的功能,它是概念的細(xì)化描述;語(yǔ)境描述構(gòu)件與其它構(gòu)件的關(guān)系 ,這是構(gòu)件中最復(fù)雜的特征描述,這種描述又可以從 3 個(gè)方面考慮。(1)概念語(yǔ)境,說(shuō)明在給定系統(tǒng)中,構(gòu)件在接口和操作語(yǔ)義上的相互關(guān)系。(2)操作語(yǔ)境,說(shuō)明操作對(duì)象的特征。(3)行
12、為語(yǔ)境,說(shuō)明一個(gè)構(gòu)件在執(zhí)行時(shí)與其他構(gòu)件之間的相互信賴關(guān)系。3C 模型是一個(gè)高抽象層次的、可裁減的、可擴(kuò)展的一個(gè)構(gòu)件描述的指導(dǎo)性模板,它主要用于對(duì)構(gòu)件的可復(fù)用信息的描述。3C 模型的描述主要由構(gòu)件生產(chǎn)者提供?;?3C 模型的軟構(gòu)件描述語(yǔ)言允許刻畫(huà)類(lèi)屬構(gòu)件屬性,更適合于形式化的方法和語(yǔ)言。REBOOT 系統(tǒng)的刻面分類(lèi)模型 REBOOT (Reuse Based on Object-Oriented Technology)模型是 Even-Andre karsson 等人在 REBOOT 項(xiàng)目總結(jié)中提出的23。REBOOT 中采用的刻面包括:(1)抽象(abstraction):對(duì)構(gòu)件概念的抽象描
13、述。(2) 操作(operation):對(duì)構(gòu)件所提供的操作的描述。(3)操作對(duì)象(operate on ):描述構(gòu)件操作的對(duì)象。(4)依賴(dependency):描述構(gòu)件與外界的依賴關(guān)系。它主要用于對(duì)可復(fù)用構(gòu)件進(jìn)行分類(lèi)及檢索。使用這四個(gè)刻面為面向?qū)ο髽?gòu)件分類(lèi)時(shí),抽象刻面常為類(lèi)名,操作刻面常是類(lèi)的方法,操作于刻面描述與之合作的其它構(gòu)件,其術(shù)語(yǔ)空間與抽象刻面是基本一致的。從整體上看來(lái),REBOOT 的刻面分類(lèi)模式主要針對(duì)的是源代碼級(jí)別的構(gòu)件,而且不具備描述粒度較大、結(jié)構(gòu)較復(fù)雜的構(gòu)件如模式、框架等的能力。REBOOT 模型則主要用于對(duì)可復(fù)用構(gòu)件進(jìn)行分類(lèi)及檢索 REBOOT 的描述則應(yīng)由構(gòu)件庫(kù)的管理
14、者提供。REBOOT 模型只允許按照給定的刻面框架結(jié)構(gòu)描述已有的軟構(gòu)件。因而適合于非形式化的方法。青鳥(niǎo)構(gòu)件庫(kù)系統(tǒng)的刻面分類(lèi)模型 北京大學(xué)軟件工程研究所提出的青鳥(niǎo)構(gòu)件庫(kù)中的構(gòu)件也是采用以刻面分類(lèi)為主、多種分類(lèi)模式相結(jié)合的方法對(duì)構(gòu)件進(jìn)行分類(lèi)描述。它分為五個(gè)刻面:(1)使用環(huán)境:構(gòu)件庫(kù)中任何構(gòu)件都必須依賴于一定的使用環(huán)境才能得到復(fù)用,即使是源代碼級(jí)的某些通用構(gòu)件,也必須依賴于特定的編譯系統(tǒng)。 (2)應(yīng)用領(lǐng)域:構(gòu)件的應(yīng)用領(lǐng)域-3- 是該構(gòu)件原來(lái)或可能被使用到的應(yīng)用領(lǐng)域(及其子領(lǐng)域)的名稱。這里的領(lǐng)域,指共享某種功能性(functionality)的系統(tǒng)或應(yīng)用程序的集合。構(gòu)件庫(kù)中任何構(gòu)件都有一個(gè)適用的領(lǐng)
15、域,一般的通用構(gòu)件適用領(lǐng)域?yàn)?General。(3)功能:構(gòu)件的功能是該構(gòu)件在原有或可能的軟件系統(tǒng)中所提供的軟件功能集。構(gòu)件庫(kù)中任何構(gòu)件都必須提供一種或多種功能。(4)層次:構(gòu)件的層次是構(gòu)件相對(duì)于軟件開(kāi)發(fā)過(guò)程階段的抽象層次。(5)表示方法:構(gòu)件的表示方法是用來(lái)描述構(gòu)件內(nèi)容的語(yǔ)言形式或媒體,如源代碼構(gòu)件所用的編程語(yǔ)言等22,24。每個(gè)刻面中的術(shù)語(yǔ)按照一定的關(guān)系組成術(shù)語(yǔ)空間,青鳥(niǎo)構(gòu)件庫(kù)中的刻面術(shù)語(yǔ)存在一般 -特殊和同義詞關(guān)系,術(shù)語(yǔ)的一般、特殊關(guān)系形成一個(gè)樹(shù)形結(jié)構(gòu),越頂層的術(shù)語(yǔ)抽象層次越高。CCM 刻面定義 2002 年 8 月,OMG 發(fā)布了 CORBA3.0, CORBA 構(gòu)件模型25(CORB
16、Acompont model,CCM )是 CORBA3.0 規(guī)范的一項(xiàng)重要擴(kuò)充。CCM 構(gòu)件模型可以跨越不同的網(wǎng)絡(luò)、不同的機(jī)器和不同的操作系統(tǒng),實(shí)現(xiàn)分布對(duì)象之間的互操作。在 CCM 模型中,刻面是構(gòu)件提供的相互獨(dú)立的命名接口,用于構(gòu)件與其用戶交互,一個(gè)刻面對(duì)應(yīng)一組接口,一個(gè)構(gòu)件可以定義多個(gè)刻面,向不同類(lèi)型的客戶提供不同的服務(wù)26。為使用對(duì)象組合,CCM 在組件中增加的 facet 又稱為提供接口(provided interface ),定義了對(duì)外提供的功能,這些接口是由組件提供的,并不一定和 supported interface 有關(guān),另外還定義了其要求的外部功能(接插口和事件槽)。CC
17、M 的 facet 是根據(jù) Extension Interface 模式設(shè)計(jì)的,和 Microsoft 的COM 中的接口相似。刻面接口是通過(guò)組合來(lái)擴(kuò)展構(gòu)件的,是用戶可顯式使用的獨(dú)立接口,是構(gòu)件向客戶提供應(yīng)用功能的主要途徑27。CORBA:CCMObject 中定義了一個(gè) Navigation接口,所有的組件的等價(jià)接口都繼承于 CORBA:CCMObject??蛻艨梢允褂?Navigation 接口上的操作來(lái)枚舉組件所提供的所有的 facet。這樣,客戶程序只要由一個(gè) facet 的引用就可以用標(biāo)準(zhǔn)的 get_component()操作得到組件的等價(jià)接口的一個(gè)引用。在 CCM 對(duì)象模型中增加f
18、acet 大大增強(qiáng)了組件的可重用性。3.3 刻面檢索3.3.1 刻面檢索原理目前構(gòu)件的刻面檢索方法主要是將樹(shù)匹配的方法結(jié)合構(gòu)件的刻面樹(shù)的匹配來(lái)實(shí)現(xiàn)刻面檢索28,其它的檢索技術(shù)主要是以數(shù)據(jù)庫(kù)檢索技術(shù)結(jié)合同義詞詞典和刻面術(shù)語(yǔ)間的層次結(jié)構(gòu)來(lái)實(shí)現(xiàn)構(gòu)件的匹配29??堂鏅z索是給定一個(gè)刻面檢索條件從構(gòu)件庫(kù)中尋找所有滿足條件PP的構(gòu)件??堂嬷械拿總€(gè)術(shù)語(yǔ)T對(duì)應(yīng)一個(gè)謂詞 ,根據(jù)術(shù)語(yǔ)T檢索將得到所有滿足 的構(gòu)件集TTCPP合 。稱術(shù)語(yǔ)T是術(shù)語(yǔ)T的上層術(shù)語(yǔ)當(dāng)且僅當(dāng)對(duì)任意構(gòu)件C 有 (C) (C)。構(gòu)件C被索引TTTC C為術(shù)語(yǔ)T當(dāng)且僅當(dāng)對(duì)于所有以T為上層術(shù)語(yǔ)的術(shù)語(yǔ)t,都有C( - )。同一刻面中的術(shù)語(yǔ)Tt被組織成層次
19、結(jié)構(gòu),上層與下層術(shù)語(yǔ)之間是嚴(yán)格的一般特殊關(guān)系。在刻面F中選擇多個(gè)術(shù)語(yǔ)C CCT ,T 時(shí),檢索得到的構(gòu)件集合為: = TA TJ。查詢條件中有多個(gè)刻面時(shí),AJF各刻面檢索到的構(gòu)件集合之交構(gòu)成最終結(jié)果集合28。文獻(xiàn)29中提出了將一個(gè)構(gòu)件庫(kù)中的刻面分類(lèi)方案中的刻面、子刻面分別映射為樹(shù)中對(duì)應(yīng)的父節(jié)點(diǎn)、子節(jié)點(diǎn),將其相應(yīng)的刻面描述術(shù)語(yǔ)映射為對(duì)應(yīng)的葉子節(jié)點(diǎn)。構(gòu)件查詢時(shí)先根據(jù)用戶輸入的信息,以及構(gòu)件庫(kù)的刻面分類(lèi)模式構(gòu)造檢索條件,將這些檢索條件根據(jù)一般/特殊關(guān)系相應(yīng)地表示為一棵查詢樹(shù),即將查詢中出現(xiàn)的刻面名、子刻面名轉(zhuǎn)化為相應(yīng)層次的父節(jié)點(diǎn)和子節(jié)點(diǎn),將查詢的刻面的術(shù)語(yǔ)值轉(zhuǎn)化為葉節(jié)點(diǎn),并用一個(gè)虛擬的根節(jié)點(diǎn)將它們組
20、合為一棵查詢樹(shù) 于是,構(gòu)件的檢索就轉(zhuǎn)化為查詢。樹(shù)與庫(kù)中構(gòu)件的刻面樹(shù)之間的匹配,兩棵樹(shù)之間的匹配本質(zhì)上是兩棵樹(shù)的節(jié)點(diǎn)之間的一個(gè)映-4- 射。3.3.2 刻面檢索的匹配算法構(gòu)件檢索的實(shí)質(zhì)就是查詢樹(shù)與構(gòu)件庫(kù)中的構(gòu)件刻面樹(shù)的匹配。在文29,30中作者將查詢樹(shù)中的節(jié)點(diǎn)集合設(shè)為Q,構(gòu)件庫(kù)中構(gòu)件刻面樹(shù)的節(jié)點(diǎn)集合設(shè)為C,若某個(gè)映射h:QC,其中Q是Q的子集,滿足以下條件,則稱存在一個(gè)QC的匹配h1) q =q iff h(q )=h(q )ijij2) distance(label(q ),label(h(q )Tij其中,distance(m,n) T 表示術(shù)語(yǔ)m,n 具有近似關(guān)系, label(q)表示節(jié)
21、點(diǎn)q的標(biāo)簽(即術(shù)語(yǔ)),T 為由專(zhuān)家設(shè)定的閾值。(3) q 是q 祖先節(jié)點(diǎn) iff h(q )是h(q )祖先節(jié)點(diǎn)ijij其中l(wèi)abel(q)表示節(jié)點(diǎn)q的標(biāo)簽即刻面或術(shù)語(yǔ),T是由詢樹(shù)和刻面樹(shù)的對(duì)應(yīng)節(jié)點(diǎn)的相似程度而設(shè)定的一個(gè)值。構(gòu)件檢索中查詢樹(shù)與刻面樹(shù)的匹配可通過(guò)從查詢樹(shù)到刻面樹(shù)的一系列編輯操作的轉(zhuǎn)化:改變節(jié)點(diǎn)的標(biāo)簽(relable(v);刪除節(jié)點(diǎn)(delete(v);插入節(jié)點(diǎn)(insert(v)。對(duì)樹(shù)的每一個(gè)編輯操作OP有一個(gè)對(duì)應(yīng)的實(shí)數(shù)值,稱為編輯代價(jià),用(OP)表示,編輯代價(jià)是編輯操作的操作類(lèi)型和操作節(jié)點(diǎn)的函數(shù)。如果OP=OP , ,OP 為一個(gè)編輯操作序列,則定義該1k序列的操作代價(jià)為(OP
22、) =(OP ),那么從一個(gè)查詢樹(shù)Q到構(gòu)件刻面描述樹(shù)C的一個(gè)匹配過(guò)k程可以看成是一個(gè)從樹(shù)Q到樹(shù)C的編輯操作序列,先將未出現(xiàn)在查詢樹(shù)和刻面樹(shù)的匹配映射中的Q的節(jié)點(diǎn)從Q中刪除,再將Q中的與C相互映射的節(jié)點(diǎn)的標(biāo)簽改為C中相應(yīng)節(jié)點(diǎn)的標(biāo)簽,然后將C中未出現(xiàn)在映射中的節(jié)點(diǎn)依次插入到上述編輯完的樹(shù)中的相應(yīng)位置,則有一個(gè)匹配代價(jià):(h)= (delete(i)+ (relabel(j) + (insert(k)其中i是查詢樹(shù)中的結(jié)點(diǎn)在刻面樹(shù)中沒(méi)有的結(jié)點(diǎn),j是查詢樹(shù)中的結(jié)點(diǎn)與刻面樹(shù)相互映射的結(jié)點(diǎn),k是刻面樹(shù)中沒(méi)有出現(xiàn)在與查詢樹(shù)相映射的結(jié)點(diǎn)。則查詢樹(shù)和構(gòu)件刻面描述樹(shù)之間的匹配代價(jià)為:Cost(Q,C)= min
23、(h)h是一個(gè)QC的匹配目前對(duì)匹配代價(jià)的計(jì)算算法步驟描述為:首先,將查詢樹(shù)和刻面樹(shù)中的節(jié)點(diǎn)編號(hào),然后遍歷這兩棵樹(shù)中的所有節(jié)點(diǎn),在遍歷的過(guò)程中將每一個(gè)與p 節(jié)點(diǎn)(pQ)的標(biāo)簽具有近似關(guān)系的t 節(jié)點(diǎn)(tC)記錄下來(lái)。枚舉與Q節(jié)點(diǎn)具有相似關(guān)系節(jié)點(diǎn)組成的所有匹配,然后計(jì)算相應(yīng)的匹配代價(jià)。4 總結(jié)和進(jìn)一步工作刻面分類(lèi)模式已經(jīng)應(yīng)用到許多學(xué)科的信息組織和管理中,并且被證明是一種非常有效的分類(lèi)方式?;诳堂娣诸?lèi)的檢索方法是檢索代價(jià)、復(fù)雜性和檢索質(zhì)量三者最為均衡的方法。本文以上介紹的刻面分類(lèi)都是針對(duì)通用領(lǐng)域的構(gòu)件庫(kù)的構(gòu)件的表示及檢索,Prieto-Diaz提過(guò)通過(guò)領(lǐng)域工程得到的領(lǐng)域模型可以導(dǎo)出特定領(lǐng)域的刻面分類(lèi)
24、模式,因而刻面分類(lèi)方式更適合特定領(lǐng)域構(gòu)件庫(kù),但計(jì)算機(jī)科學(xué)中軟構(gòu)件的管理應(yīng)用刻面分類(lèi)模式時(shí)間較晚,尤其是針對(duì)特定領(lǐng)域軟件構(gòu)件的刻面分類(lèi)模式的研究,理論和實(shí)踐上還沒(méi)有成熟,領(lǐng)域知識(shí)在軟件復(fù)用中具有越來(lái)越重要的作用,領(lǐng)域模型是對(duì)領(lǐng)域知識(shí)抽象的系統(tǒng)化表示,它不僅能夠刻畫(huà)領(lǐng)域中公共的對(duì)象及其行為,對(duì)象間的關(guān)系與約束,而且明確給出了對(duì)象的檢索特性,有利于開(kāi)發(fā)-5- 人員查找可復(fù)用的構(gòu)件。盡管刻面分類(lèi)技術(shù)功能強(qiáng)大,效果明顯,但是它要求對(duì)構(gòu)件進(jìn)行人工索引,代價(jià)很高。目前構(gòu)件模型和中間件技術(shù)、領(lǐng)域工程、逆向工程的技術(shù)的成熟,針對(duì)今后特定領(lǐng)域工程方法和刻面分類(lèi)模式之間關(guān)系的研究工作,本文作者將側(cè)重在特定領(lǐng)域的構(gòu)件
25、刻面分類(lèi)的檢索的研究。參考文獻(xiàn)11995-2006 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved. Fuqing Yang2Alan W Brown,Kurt C Wallnau.The Current State of CBSEJ.IEEE Software,1998-09/103常繼傳,郭立峰,馬黎 可復(fù)用軟件構(gòu)件的表示和檢索 計(jì)算機(jī)科學(xué),1999,26(5):45504Atkinson S.A Unifying Model for Retrieval from Reusable software Librarie
26、s:Technical Report No.95-41.theUniversity Queensland,19955 Prieto-Diaz. R Implementing faceted classification for software reuse, Communications of the ACM1991,34(5):88976 Podgurski, A., Pierce, L. Retrieving reusable software by sampling behavior. ACM Transactions on SoftwareEngineering and Methodo
27、logy, 1993,2(3):286303.7Merkl, D., Tjoa, A.M., Kappel, G. Learning the semantic similarity of reusable software components. In: Frakes,W.B., ed.Proceedings of the 3rd International Conference on Software Reuse (ICSR94). Rio de Janeiro: IEEEComputer Society Press, 1994.3341.8Penix J. Baraona P.Alexan
28、der P. Classification and retrieval of reusable components using semantic features c.Proceedings the 10th knowledge-based software engineering conference IEEE Computer SOC. Press1995,1311389Zaremski, A.M. Signature and specification matching Ph.D. Thesis. School of Computer Science CarnegieMellon Un
29、iversity,1996.10Damiani, E., Fugini, M.G., Bellettini, C. A hierarchy-aware approach to faceted classification ofobjected-oriented components.ACM Transactions on Software Engineering and Methodology, 1999,8(3):215262.11Seacord R. C,Hissam S.A,Wallnau K.C Agoro-a search engine for component.IEEE Inte
30、rnetComputing,Nov,1998.627012 鄭文斌,文登敏 基于XML技術(shù)的軟件構(gòu)件的表示與檢索 現(xiàn)代計(jì)算機(jī) 總第一九五期 2004.913 李玉山,侯德文,王猛 基于Web Services 的構(gòu)件分類(lèi)與檢索研究 計(jì)算機(jī)技術(shù)與發(fā)展Vol. 16 No. 3Mar.200614Guarino N ,Masolo C ,Vetere G. OntoSeek :Content2Based Access to the Web. IEEE IntelligentSystems ,1999 ,14(3) :708015 Shun S B ,Motta E ,Domingue J . Sc
31、holOnto :an Ontology2based Digital Library Server for ResearchDocuments and Discourse. Intl J Digital Libraries ,2000 ,3 (3) :23724816 Ruben PrietoDiaz: A Faceted Approach to Building Ontologies IEEE 200317Uta Priss,Faceted Information Representation,8th International Conference on Conceptual Struct
32、uresLogical,Linguistic,and Computational Issues,August 200018Atkinson S.A Unifying Model for Retrieval from Reusable software Libraries:Technical Report No.95-41.theUniversity Queensland,199519閔楠,基于統(tǒng)一刻面分類(lèi)模式的多構(gòu)件庫(kù)檢索技術(shù)研究 碩士學(xué)位論文 2005.320NATO Standard for the Development of Reusable Software Component. 2
33、1NATO Standard for Managementof a Reusable Software Component Library.22 Latour, Wheeler T, Frakes B, Descriptive and prescriptive aspects of the 3Cs model: SETA1working groupsummary, CASE Centre, Syracuse University, New York: TechnicalReport 9014, 199023 MorelJM, Faget J., The REBOOT environment I
34、n: Proc 2nd International Workshop onSoftware Reuse (REU SE93), Lucca, Italy, 1993, 80-8824 /jbcl.jsp25 OMG,CORBA Specification Version 3.0,formal/02-06-33, July 200226董富強(qiáng),韓偉紅,賈焰 CORBA 構(gòu)件模型研究與實(shí)現(xiàn) 計(jì)算機(jī)工程與設(shè)計(jì) Vol.25 No.10 Oct.200427/corba/ccm/ ,/cgi-bin/doc/formal/02-06-3328常繼傳,李克勤,郭立峰,梅宏,楊芙清,青鳥(niǎo)系統(tǒng)中可復(fù)用軟件構(gòu)件的表示與查詢 電子學(xué)報(bào),Vol 28,No 8,Aug 200029Sorum
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版監(jiān)理人員勞動(dòng)合同
- 二零二五版委派保安服務(wù)合同
- 二零二五兼并與收購(gòu)融資合同范例
- 二零二五影視公司演員聘用合同
- 二零二五股東分紅協(xié)議書(shū)股權(quán)分紅協(xié)議書(shū)
- 股份轉(zhuǎn)讓協(xié)議模板二零二五年
- 輔導(dǎo)班家長(zhǎng)協(xié)議二零二五年
- 小學(xué)生防溺水直播課件教學(xué)
- 關(guān)于教師培訓(xùn)
- 2025物業(yè)管理合同范本-版-電子檔
- 2024年上海楊浦區(qū)社區(qū)工作者筆試真題
- 建筑消防工程監(jiān)理細(xì)則
- 2024年貴州貴州烏江煤層氣勘探開(kāi)發(fā)有限公司招聘筆試真題
- 2025年社會(huì)工作者職業(yè)水平考試初級(jí)綜合能力測(cè)試題庫(kù)
- 四川2025年01月成都市金牛區(qū)人民政府金泉街道辦事處2025年招考2名社區(qū)工作者筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025屆山東省青島市高三下學(xué)期一模英語(yǔ)試題(含答案)
- 導(dǎo)數(shù)壓軸大題歸類(lèi)知識(shí)清單(15題型提分練) 原卷版-2025年高考數(shù)學(xué)一輪復(fù)習(xí)
- 2025春統(tǒng)編版(2024)道德與法治一年級(jí)下冊(cè)第二單元我們一起長(zhǎng)大《第6課 請(qǐng)幫我一下》教學(xué)設(shè)計(jì)(名師教案)表格版
- 中學(xué)生心理健康與道德教育知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春青海師范大學(xué)
- 氣管切開(kāi)非機(jī)械通氣患者氣道護(hù)理團(tuán)體標(biāo)準(zhǔn)課件
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 英語(yǔ)試卷(含標(biāo)準(zhǔn)答案)+聽(tīng)力音頻
評(píng)論
0/150
提交評(píng)論