国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于本體的主動構(gòu)件庫系統(tǒng)研究

2014-07-28 05:44彭如香丁建華楊濤
電腦知識與技術(shù) 2014年18期
關(guān)鍵詞:本體

彭如香++丁建華++楊濤

摘要:目前,基于構(gòu)件的軟件開發(fā)方法(CBSD)在軟件工程研究與軟件開發(fā)領(lǐng)域變得越來越重要。該文提出了一種主動構(gòu)件庫系統(tǒng)系統(tǒng),在傳統(tǒng)構(gòu)件庫SourceForge的基礎(chǔ)上,該系統(tǒng)根據(jù)開發(fā)者的實際需求,主動的將構(gòu)件推送給用戶。該方法通過構(gòu)建領(lǐng)域本體,創(chuàng)建構(gòu)件庫訪問代理,實時代碼分析,并結(jié)合用戶個性化信息,在上述基礎(chǔ)上實現(xiàn)了基于本體的構(gòu)件檢索與推送。方法有效的整合了構(gòu)件庫、構(gòu)件檢索、構(gòu)件查詢,并同開發(fā)過程進行了無縫整合。試驗表明,在開發(fā)過程中應(yīng)用該方法,可以提升構(gòu)件查詢的準確度,并有效地降低獲取構(gòu)件的成本。

關(guān)鍵詞:主動構(gòu)件庫;本體;基于構(gòu)件的軟件開發(fā)

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)18-4301-04

1 介紹

CBSD(基于構(gòu)件的軟件開發(fā)方法)被公認為是提高軟件開發(fā)效率的有效方法[4-5],增強了軟件復用能力[9]。但是在實際應(yīng)用中,存在以下幾個因素影響了CBSD的使用:首先,目前應(yīng)用較廣的構(gòu)件庫中缺少統(tǒng)一的構(gòu)件標識、構(gòu)件搜索引擎以及用戶接口,用戶很難快速的找到合適的構(gòu)件[7-8];其次,構(gòu)件執(zhí)行需要不同的運行環(huán)境,實際構(gòu)件調(diào)用過程需要處理復雜的設(shè)置工作;最后,由傳統(tǒng)開發(fā)方法轉(zhuǎn)換成CBSD所帶來的時間、資金以及人力的開銷難以評估,也使得CBSD的應(yīng)用成為一種挑戰(zhàn)。

本體(Ontology)作為一種領(lǐng)域基礎(chǔ)知識,通過對領(lǐng)域中相關(guān)概念的詞匯表進行定義,并給出了詞匯表中術(shù)語的屬性和關(guān)系,可以實現(xiàn)對領(lǐng)域知識的共享和理解[6]。目前,本體已經(jīng)成為了很多應(yīng)用的基礎(chǔ),包括知識服務(wù)、信息管理和集成系統(tǒng)、電子商務(wù)等,基于本體的構(gòu)件檢索方法[1-2]也在構(gòu)件檢索過程中起到了較大的作用。

CodeBroker是一種主動查詢并提供構(gòu)件的方法。該方法從底層將CBSD與構(gòu)件庫結(jié)合,自動識別和獲取適用于開發(fā)者的構(gòu)件,從而使得開發(fā)者獲得構(gòu)件的難度和成本大幅下降。

2 基于本體的主動構(gòu)件庫系統(tǒng)

本文提出了一種基于本體的主動構(gòu)件庫系統(tǒng),該系統(tǒng)通過如下機制[10]來進行的基于本體的構(gòu)件發(fā)現(xiàn)和推送。

1)創(chuàng)建包括構(gòu)件描述和用戶查詢語義的領(lǐng)域本體;

2)開發(fā)從網(wǎng)絡(luò)構(gòu)件庫(SourceForge.net)中檢索構(gòu)件并通過領(lǐng)域本體對構(gòu)件進行標注的網(wǎng)絡(luò)構(gòu)件庫訪問代理;

3)同IDE集成,從正在編輯的源文件中發(fā)現(xiàn)用戶潛在需求的代碼分析方法;

4)可以對用戶個性化特性、查找歷史和執(zhí)行環(huán)境進行集成和分析的個性化獲取模型;

5)通過代碼分析結(jié)果和個性化信息,調(diào)用構(gòu)件庫訪問代理,查找合適的構(gòu)件,然后將結(jié)果直接通過代碼編輯器呈現(xiàn)給用戶。

2.1 構(gòu)建領(lǐng)域本體

領(lǐng)域本體包括三個部分。第一部分如圖1所示,即CBSD領(lǐng)域的領(lǐng)域元本體。它以通過“Action-Object”形式描述軟件開發(fā)過程中的函數(shù)的原型,其中Action表示函數(shù)的主要功能,Object表示函數(shù)的目標。第二部如圖2部分,為描述構(gòu)件的元本體,由Profile和Interface組成,Profile為構(gòu)件的主要內(nèi)容,它包括三個部分:Description、Relationship、Building;Interface是構(gòu)件函數(shù)接口的詳細描述。通過使用這兩類元本體,用戶可以方便的描述構(gòu)件和構(gòu)件查詢。

第三部分為用戶個性化特征描述元本體。個性化特征元本體使用四種屬性展示用戶的個性化特征:

1) 環(huán)境屬性:指的是從用戶編程環(huán)境中自動獲取的特征;

2) 應(yīng)用屬性:指的是開發(fā)中的程序信息,這些信息也可從源代碼中自動產(chǎn)生。

3) 歷史查詢:系統(tǒng)自動記錄的數(shù)據(jù),記錄了用戶歷史查詢和結(jié)果。

4) 用戶習慣:從用戶操作習慣和編程偏好中分析得到的特征。

2.2 構(gòu)件庫訪問代理

SourceForge是目前使用最為廣泛的網(wǎng)絡(luò)構(gòu)件庫,為了從SourceForge中動態(tài)獲取所需構(gòu)件,我們開發(fā)了一套支持讀取構(gòu)件庫信息、構(gòu)件查詢和下載的代理工具,這種工具擁有兩種主要的功能。第一,提供從SourceForge獲取構(gòu)件信息的功能,獲取的信息包括關(guān)鍵詞、URL以及接口函數(shù)描述,然后將這些信息使用預先定義好的構(gòu)件描述結(jié)構(gòu)保存到本地數(shù)據(jù)庫中;第二,提供構(gòu)件查詢和獲取方法,用戶可以查詢所需的構(gòu)件列表,并能從SourceForge自動下載被選中的構(gòu)件或通過瀏覽器預覽構(gòu)件信息。

2.3 代碼分析方法

一般來說,開發(fā)人員在編寫代碼的時候,代碼中包含了很多功能方面的信息。例如,用戶編寫如下一個函數(shù):

BooleanuserLogin(String strName, String strPasword)

通過函數(shù)名稱可以看到,該函數(shù)實現(xiàn)了一個通過用戶名和密碼登錄系統(tǒng)的功能。

代碼分析主要對三類代碼進行分析:名稱、備注以及詳細代碼。名稱分析包括文件名、類名、函數(shù)名等,從這些名稱中獲取函數(shù)的語義內(nèi)容;備注分析使用NLP工具去獲取備注中的關(guān)鍵詞,再通過本體映射獲取它的語義內(nèi)容;詳細代碼分析通過分析代碼中對象的創(chuàng)建和調(diào)用狀態(tài)(如new()為對象創(chuàng)建代碼,user.Login()為調(diào)用代碼),然后產(chǎn)生對象之間的關(guān)聯(lián)關(guān)系,幫助系統(tǒng)識別應(yīng)用屬性和用戶個性化特征。表1為一段代碼分析的示例。

2.4 個性化特征獲取

通常,每個開發(fā)者的編程環(huán)境和編程習慣都是獨一無二的,這種情況下,代碼分析的結(jié)果將不一致,從而將影響構(gòu)件庫的搜索和構(gòu)件的使用。例如,在Linux環(huán)境下Java工程的函數(shù)名使用的構(gòu)件將完全不同于Windows環(huán)境下的C#工程。還有,對于數(shù)據(jù)庫應(yīng)用的開發(fā)來說,熟悉JDBC的程序員與熟悉hibernate的程序員將使用不同的構(gòu)件編寫代碼。endprint

在用戶使用主動構(gòu)件庫的過程中,用戶的個性化特征將被系統(tǒng)記錄和分析,通過個性化特征元本體進行規(guī)整和存儲,主動構(gòu)件庫的檢索引擎將以用戶的個性化參數(shù)來對構(gòu)件的搜索結(jié)果進行過濾和排序。

2.5 基于本體的構(gòu)件檢索與推送方法

構(gòu)件檢索和推送是主動構(gòu)件庫向開發(fā)者提供構(gòu)件服務(wù)的主要步驟。通過構(gòu)件庫訪問代理獲得的構(gòu)件通過本體注釋和領(lǐng)域本體構(gòu)件描述的形式記錄到構(gòu)件數(shù)據(jù)庫中[11],通過代碼分析和個性化特征獲得的查詢參數(shù)也以本體格式組織,并使用本體匹配技術(shù)進行構(gòu)件檢索。

構(gòu)件獲取分為兩個階段。第一階段是基于本體的查詢引擎使用代碼分析的結(jié)果,然后在本地數(shù)據(jù)庫中查詢符合條件的構(gòu)件;第二階段是利用用戶個性化特性,篩選和排序搜索結(jié)果列表中的構(gòu)件。

在完成構(gòu)件獲取后,構(gòu)件庫訪問代理將自動調(diào)用構(gòu)件庫的下載接口,從SourceForge自動下載篩選后的的構(gòu)件,或使用瀏覽器展示構(gòu)件詳細信息,系統(tǒng)同時將記錄開發(fā)者后續(xù)的操作,來補充和完善用戶個性化特征。

3 基于本體的主動構(gòu)件庫原型系統(tǒng)

本文基于上述的基于本體的主動構(gòu)件庫構(gòu)建方法,基于Eclipse平臺和其插件模型,完成了一套基于本體的主動構(gòu)件庫原型系統(tǒng)[3],簡稱OntoAR,系統(tǒng)的整體結(jié)構(gòu)圖如圖3所示。

在OntoAR系統(tǒng)中,使用Eclipse和SourceForge作為系統(tǒng)開發(fā)IDE和構(gòu)件庫,本地構(gòu)件庫為SourceForge構(gòu)件列表的本地緩存,由構(gòu)件庫訪問代理填充數(shù)據(jù)。本地構(gòu)件庫的主要數(shù)據(jù)包括:構(gòu)件索引、構(gòu)件的語義參數(shù)以及SourceForge上的構(gòu)件URL。

OntoAR開發(fā)環(huán)境為java 1.7,采用MySQL作為本地數(shù)據(jù)庫。本地數(shù)據(jù)庫服務(wù)器配置為Intel Core i7、4GBRAM,操作系統(tǒng)為Windows Server 2003,并安裝了構(gòu)件庫訪問代理??蛻舳薖C配置為Intel Core i5、2GB RAM,操作系統(tǒng)為Windows7,開發(fā)工具為Eclipse,OntoAR通過Eclipse的插件形式安裝在Eclipse中。

構(gòu)件庫訪問代理從SourceForge上獲取所有同構(gòu)件有關(guān)的項目,將項目信息保存在本地數(shù)據(jù)庫中,并通過領(lǐng)域本體進行標簽標注。為了驗證原型系統(tǒng)的能力,我們使用2.3節(jié)中示例文件名和代碼列表創(chuàng)建一個空工程和一個java文件。構(gòu)件匹配初始找到130種結(jié)果,在包含過開發(fā)者個性化特性的環(huán)境下過濾后,結(jié)果數(shù)量削減到63種,結(jié)果中包含同開發(fā)環(huán)境相適配的構(gòu)件如“SQLRunner”和“IBAccess”。而如果直接通過SourceForge在數(shù)據(jù)庫分類直接查詢“user profile”參數(shù),將會得到587種結(jié)果,最匹配我們開發(fā)所需的合適構(gòu)件位于第3頁。可見,原型系統(tǒng)在輔助開發(fā)者查詢相關(guān)構(gòu)件的方面,大大降低了開發(fā)者的工作。

4 存在問題和未來研究

本文提出了一種基于本體的主動構(gòu)件庫的構(gòu)建方法,通過整合了構(gòu)件領(lǐng)域本體、構(gòu)件庫訪問代理、代碼分析、個性化特征獲取以及基于本體的構(gòu)件檢索與推送這五個步驟,使得系統(tǒng)可以主動的分析用戶需求,根據(jù)用戶的個性化特性信息為其檢索并提供相關(guān)的構(gòu)件。作者還開發(fā)了OntoAR原型系統(tǒng),通過Eclipse插件的方式,將構(gòu)件庫訪問、代碼分析、自動構(gòu)件查詢和構(gòu)件檢索整合在一起,給開發(fā)者提供服務(wù)。

我們今后將在如下兩個方面對本方法開展進一步研究。

1)完善基于本體的主動構(gòu)件庫原型系統(tǒng),通過實際的開發(fā)評估系統(tǒng)的實用性,提高查詢精度。

2)支持SourceForge以外其他不同種類的構(gòu)件庫。

參考文獻:

[1] 趙朝陽.基于本體語義的構(gòu)件檢索[D].南昌:南昌大學,2009.

[2] 喬曉英.基于語義的構(gòu)件檢索技術(shù)研究與實現(xiàn)田[D].南昌:江西師范大學,2009.

[3] 閏偉,曹寶香,張永紅.基于本體的構(gòu)件功能檢索的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展, 2009,5(19).

[4]AlnusairAwny,ZhaoTian.ComPonentSearehandReuse:AnOnt-ology-based approach[C].UsVegas,IEEEIRI,2010.

[5] Li Wenjing,GuoYuCheng, Liao Weizhi. Research on Ontology Component Description Model Based on the Semantic Web[C]. IEEE Asia-Pacific Services Computing Conference,2008

[6] 楊明華.基于本體的構(gòu)件描述關(guān)鍵技術(shù)研究[D].上海:復旦大學,2006.

[7] Wang Shunya,Wang Yanwen. Research on Active Services Componet Library Based on Ontology[C].Macao:Information Technology for Manufacturing System,2010.

[8] 習興麗.基于本體構(gòu)件資源庫的構(gòu)件檢索方法研究[D].武漢:武漢理工大學,2010.

[9] Ye Y, Fischer G,Reeves B.Integrating active information delivery and reuse repository systems[J].ACM SIGSOFT Software Eng. Notes, 2000,25: 60-68.

[10] Paquette G, Masmoudi A. Ontology-based software component aggregation[J].Comp. Eng.: Concepts, Methodol. Tools Appli., Vol,2011,223.

[11] Pande J, Bisht R K.Pant D.On some quality issues of component selection in CBSD[J].J. Software Eng. Appli., 2010,3: 556-560.endprint

在用戶使用主動構(gòu)件庫的過程中,用戶的個性化特征將被系統(tǒng)記錄和分析,通過個性化特征元本體進行規(guī)整和存儲,主動構(gòu)件庫的檢索引擎將以用戶的個性化參數(shù)來對構(gòu)件的搜索結(jié)果進行過濾和排序。

2.5 基于本體的構(gòu)件檢索與推送方法

構(gòu)件檢索和推送是主動構(gòu)件庫向開發(fā)者提供構(gòu)件服務(wù)的主要步驟。通過構(gòu)件庫訪問代理獲得的構(gòu)件通過本體注釋和領(lǐng)域本體構(gòu)件描述的形式記錄到構(gòu)件數(shù)據(jù)庫中[11],通過代碼分析和個性化特征獲得的查詢參數(shù)也以本體格式組織,并使用本體匹配技術(shù)進行構(gòu)件檢索。

構(gòu)件獲取分為兩個階段。第一階段是基于本體的查詢引擎使用代碼分析的結(jié)果,然后在本地數(shù)據(jù)庫中查詢符合條件的構(gòu)件;第二階段是利用用戶個性化特性,篩選和排序搜索結(jié)果列表中的構(gòu)件。

在完成構(gòu)件獲取后,構(gòu)件庫訪問代理將自動調(diào)用構(gòu)件庫的下載接口,從SourceForge自動下載篩選后的的構(gòu)件,或使用瀏覽器展示構(gòu)件詳細信息,系統(tǒng)同時將記錄開發(fā)者后續(xù)的操作,來補充和完善用戶個性化特征。

3 基于本體的主動構(gòu)件庫原型系統(tǒng)

本文基于上述的基于本體的主動構(gòu)件庫構(gòu)建方法,基于Eclipse平臺和其插件模型,完成了一套基于本體的主動構(gòu)件庫原型系統(tǒng)[3],簡稱OntoAR,系統(tǒng)的整體結(jié)構(gòu)圖如圖3所示。

在OntoAR系統(tǒng)中,使用Eclipse和SourceForge作為系統(tǒng)開發(fā)IDE和構(gòu)件庫,本地構(gòu)件庫為SourceForge構(gòu)件列表的本地緩存,由構(gòu)件庫訪問代理填充數(shù)據(jù)。本地構(gòu)件庫的主要數(shù)據(jù)包括:構(gòu)件索引、構(gòu)件的語義參數(shù)以及SourceForge上的構(gòu)件URL。

OntoAR開發(fā)環(huán)境為java 1.7,采用MySQL作為本地數(shù)據(jù)庫。本地數(shù)據(jù)庫服務(wù)器配置為Intel Core i7、4GBRAM,操作系統(tǒng)為Windows Server 2003,并安裝了構(gòu)件庫訪問代理。客戶端PC配置為Intel Core i5、2GB RAM,操作系統(tǒng)為Windows7,開發(fā)工具為Eclipse,OntoAR通過Eclipse的插件形式安裝在Eclipse中。

構(gòu)件庫訪問代理從SourceForge上獲取所有同構(gòu)件有關(guān)的項目,將項目信息保存在本地數(shù)據(jù)庫中,并通過領(lǐng)域本體進行標簽標注。為了驗證原型系統(tǒng)的能力,我們使用2.3節(jié)中示例文件名和代碼列表創(chuàng)建一個空工程和一個java文件。構(gòu)件匹配初始找到130種結(jié)果,在包含過開發(fā)者個性化特性的環(huán)境下過濾后,結(jié)果數(shù)量削減到63種,結(jié)果中包含同開發(fā)環(huán)境相適配的構(gòu)件如“SQLRunner”和“IBAccess”。而如果直接通過SourceForge在數(shù)據(jù)庫分類直接查詢“user profile”參數(shù),將會得到587種結(jié)果,最匹配我們開發(fā)所需的合適構(gòu)件位于第3頁??梢?,原型系統(tǒng)在輔助開發(fā)者查詢相關(guān)構(gòu)件的方面,大大降低了開發(fā)者的工作。

4 存在問題和未來研究

本文提出了一種基于本體的主動構(gòu)件庫的構(gòu)建方法,通過整合了構(gòu)件領(lǐng)域本體、構(gòu)件庫訪問代理、代碼分析、個性化特征獲取以及基于本體的構(gòu)件檢索與推送這五個步驟,使得系統(tǒng)可以主動的分析用戶需求,根據(jù)用戶的個性化特性信息為其檢索并提供相關(guān)的構(gòu)件。作者還開發(fā)了OntoAR原型系統(tǒng),通過Eclipse插件的方式,將構(gòu)件庫訪問、代碼分析、自動構(gòu)件查詢和構(gòu)件檢索整合在一起,給開發(fā)者提供服務(wù)。

我們今后將在如下兩個方面對本方法開展進一步研究。

1)完善基于本體的主動構(gòu)件庫原型系統(tǒng),通過實際的開發(fā)評估系統(tǒng)的實用性,提高查詢精度。

2)支持SourceForge以外其他不同種類的構(gòu)件庫。

參考文獻:

[1] 趙朝陽.基于本體語義的構(gòu)件檢索[D].南昌:南昌大學,2009.

[2] 喬曉英.基于語義的構(gòu)件檢索技術(shù)研究與實現(xiàn)田[D].南昌:江西師范大學,2009.

[3] 閏偉,曹寶香,張永紅.基于本體的構(gòu)件功能檢索的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展, 2009,5(19).

[4]AlnusairAwny,ZhaoTian.ComPonentSearehandReuse:AnOnt-ology-based approach[C].UsVegas,IEEEIRI,2010.

[5] Li Wenjing,GuoYuCheng, Liao Weizhi. Research on Ontology Component Description Model Based on the Semantic Web[C]. IEEE Asia-Pacific Services Computing Conference,2008

[6] 楊明華.基于本體的構(gòu)件描述關(guān)鍵技術(shù)研究[D].上海:復旦大學,2006.

[7] Wang Shunya,Wang Yanwen. Research on Active Services Componet Library Based on Ontology[C].Macao:Information Technology for Manufacturing System,2010.

[8] 習興麗.基于本體構(gòu)件資源庫的構(gòu)件檢索方法研究[D].武漢:武漢理工大學,2010.

[9] Ye Y, Fischer G,Reeves B.Integrating active information delivery and reuse repository systems[J].ACM SIGSOFT Software Eng. Notes, 2000,25: 60-68.

[10] Paquette G, Masmoudi A. Ontology-based software component aggregation[J].Comp. Eng.: Concepts, Methodol. Tools Appli., Vol,2011,223.

[11] Pande J, Bisht R K.Pant D.On some quality issues of component selection in CBSD[J].J. Software Eng. Appli., 2010,3: 556-560.endprint

在用戶使用主動構(gòu)件庫的過程中,用戶的個性化特征將被系統(tǒng)記錄和分析,通過個性化特征元本體進行規(guī)整和存儲,主動構(gòu)件庫的檢索引擎將以用戶的個性化參數(shù)來對構(gòu)件的搜索結(jié)果進行過濾和排序。

2.5 基于本體的構(gòu)件檢索與推送方法

構(gòu)件檢索和推送是主動構(gòu)件庫向開發(fā)者提供構(gòu)件服務(wù)的主要步驟。通過構(gòu)件庫訪問代理獲得的構(gòu)件通過本體注釋和領(lǐng)域本體構(gòu)件描述的形式記錄到構(gòu)件數(shù)據(jù)庫中[11],通過代碼分析和個性化特征獲得的查詢參數(shù)也以本體格式組織,并使用本體匹配技術(shù)進行構(gòu)件檢索。

構(gòu)件獲取分為兩個階段。第一階段是基于本體的查詢引擎使用代碼分析的結(jié)果,然后在本地數(shù)據(jù)庫中查詢符合條件的構(gòu)件;第二階段是利用用戶個性化特性,篩選和排序搜索結(jié)果列表中的構(gòu)件。

在完成構(gòu)件獲取后,構(gòu)件庫訪問代理將自動調(diào)用構(gòu)件庫的下載接口,從SourceForge自動下載篩選后的的構(gòu)件,或使用瀏覽器展示構(gòu)件詳細信息,系統(tǒng)同時將記錄開發(fā)者后續(xù)的操作,來補充和完善用戶個性化特征。

3 基于本體的主動構(gòu)件庫原型系統(tǒng)

本文基于上述的基于本體的主動構(gòu)件庫構(gòu)建方法,基于Eclipse平臺和其插件模型,完成了一套基于本體的主動構(gòu)件庫原型系統(tǒng)[3],簡稱OntoAR,系統(tǒng)的整體結(jié)構(gòu)圖如圖3所示。

在OntoAR系統(tǒng)中,使用Eclipse和SourceForge作為系統(tǒng)開發(fā)IDE和構(gòu)件庫,本地構(gòu)件庫為SourceForge構(gòu)件列表的本地緩存,由構(gòu)件庫訪問代理填充數(shù)據(jù)。本地構(gòu)件庫的主要數(shù)據(jù)包括:構(gòu)件索引、構(gòu)件的語義參數(shù)以及SourceForge上的構(gòu)件URL。

OntoAR開發(fā)環(huán)境為java 1.7,采用MySQL作為本地數(shù)據(jù)庫。本地數(shù)據(jù)庫服務(wù)器配置為Intel Core i7、4GBRAM,操作系統(tǒng)為Windows Server 2003,并安裝了構(gòu)件庫訪問代理??蛻舳薖C配置為Intel Core i5、2GB RAM,操作系統(tǒng)為Windows7,開發(fā)工具為Eclipse,OntoAR通過Eclipse的插件形式安裝在Eclipse中。

構(gòu)件庫訪問代理從SourceForge上獲取所有同構(gòu)件有關(guān)的項目,將項目信息保存在本地數(shù)據(jù)庫中,并通過領(lǐng)域本體進行標簽標注。為了驗證原型系統(tǒng)的能力,我們使用2.3節(jié)中示例文件名和代碼列表創(chuàng)建一個空工程和一個java文件。構(gòu)件匹配初始找到130種結(jié)果,在包含過開發(fā)者個性化特性的環(huán)境下過濾后,結(jié)果數(shù)量削減到63種,結(jié)果中包含同開發(fā)環(huán)境相適配的構(gòu)件如“SQLRunner”和“IBAccess”。而如果直接通過SourceForge在數(shù)據(jù)庫分類直接查詢“user profile”參數(shù),將會得到587種結(jié)果,最匹配我們開發(fā)所需的合適構(gòu)件位于第3頁??梢?,原型系統(tǒng)在輔助開發(fā)者查詢相關(guān)構(gòu)件的方面,大大降低了開發(fā)者的工作。

4 存在問題和未來研究

本文提出了一種基于本體的主動構(gòu)件庫的構(gòu)建方法,通過整合了構(gòu)件領(lǐng)域本體、構(gòu)件庫訪問代理、代碼分析、個性化特征獲取以及基于本體的構(gòu)件檢索與推送這五個步驟,使得系統(tǒng)可以主動的分析用戶需求,根據(jù)用戶的個性化特性信息為其檢索并提供相關(guān)的構(gòu)件。作者還開發(fā)了OntoAR原型系統(tǒng),通過Eclipse插件的方式,將構(gòu)件庫訪問、代碼分析、自動構(gòu)件查詢和構(gòu)件檢索整合在一起,給開發(fā)者提供服務(wù)。

我們今后將在如下兩個方面對本方法開展進一步研究。

1)完善基于本體的主動構(gòu)件庫原型系統(tǒng),通過實際的開發(fā)評估系統(tǒng)的實用性,提高查詢精度。

2)支持SourceForge以外其他不同種類的構(gòu)件庫。

參考文獻:

[1] 趙朝陽.基于本體語義的構(gòu)件檢索[D].南昌:南昌大學,2009.

[2] 喬曉英.基于語義的構(gòu)件檢索技術(shù)研究與實現(xiàn)田[D].南昌:江西師范大學,2009.

[3] 閏偉,曹寶香,張永紅.基于本體的構(gòu)件功能檢索的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展, 2009,5(19).

[4]AlnusairAwny,ZhaoTian.ComPonentSearehandReuse:AnOnt-ology-based approach[C].UsVegas,IEEEIRI,2010.

[5] Li Wenjing,GuoYuCheng, Liao Weizhi. Research on Ontology Component Description Model Based on the Semantic Web[C]. IEEE Asia-Pacific Services Computing Conference,2008

[6] 楊明華.基于本體的構(gòu)件描述關(guān)鍵技術(shù)研究[D].上海:復旦大學,2006.

[7] Wang Shunya,Wang Yanwen. Research on Active Services Componet Library Based on Ontology[C].Macao:Information Technology for Manufacturing System,2010.

[8] 習興麗.基于本體構(gòu)件資源庫的構(gòu)件檢索方法研究[D].武漢:武漢理工大學,2010.

[9] Ye Y, Fischer G,Reeves B.Integrating active information delivery and reuse repository systems[J].ACM SIGSOFT Software Eng. Notes, 2000,25: 60-68.

[10] Paquette G, Masmoudi A. Ontology-based software component aggregation[J].Comp. Eng.: Concepts, Methodol. Tools Appli., Vol,2011,223.

[11] Pande J, Bisht R K.Pant D.On some quality issues of component selection in CBSD[J].J. Software Eng. Appli., 2010,3: 556-560.endprint

猜你喜歡
本體
Abstracts and Key Words
灰鑄鐵缸體本體抗拉強度提升的研究
眼睛是“本體”
對姜夔自度曲音樂本體的現(xiàn)代解讀
領(lǐng)域本體的查詢擴展和檢索研究
基于本體的機械產(chǎn)品工藝知識表示
本體在產(chǎn)品設(shè)計知識管理中的應(yīng)用研究
《我應(yīng)該感到自豪才對》的本體性教學內(nèi)容及啟示
一種基于本體的語義檢索設(shè)計與實現(xiàn)
媒介生存:關(guān)于新聞史研究本體的思考