組件技術(shù)與軟件Agent技術(shù)
- 期刊名字:巢湖學(xué)院學(xué)報
- 文件大小:670kb
- 論文作者:王一賓,昌杰
- 作者單位:安慶師范學(xué)院,巢湖學(xué)院
- 更新時間:2020-10-26
- 下載次數(shù):次
2005年第7卷第3期.巢湖學(xué)院學(xué)報No. 3.. Vol.7. 2005總第7 2期Joumal of Chaohu collegeGeneral Serial No. 72組件技術(shù)與軟件Agent技術(shù)王一賓',昌杰2(1安慶師范學(xué)院計算機與信息學(xué)院,安徽安慶246011)(2巢湖學(xué)院數(shù)學(xué)計算機系,安徽巢湖238000)摘要:組件技術(shù)的提出對軟件重用和軟件開發(fā)效率的提高具有非常重要的意義;而軟件Agent技術(shù)的提出為復(fù)雜分布式問題的求解找到了很好的辦法。文中首先分析了組件技術(shù)和軟件Agent技術(shù)的主要內(nèi)容,然后提出將組件技術(shù)與軟件Agent技術(shù)相融合可以有效地提高軟件的重用性、靈活性及適應(yīng)性等,最后簡述了組件技術(shù)和軟件Agent技術(shù)在大型軟件開發(fā)中的應(yīng)用等。關(guān)鍵詞:組件;軟件Agent;軟件重用;軟件體系結(jié)構(gòu)中圖分類號: TP311文獻(xiàn)標(biāo)識碼: A文章編號:1672- -2868(2005)03 -0078 03Component Technique and Software Agent TechniqueWANG Yi-bin', CHANG Jice'(1.. . School of Computer Science and Information Engineering, Anqing Teachers College, Anqing 246011, China)(2. Department of Computer Science ,Chaohu College, Chaohu 238000 China)Abstract: It is very important to present the concept of component technique for improvingsoftware reuse and development efficiency. And it is a good method to present agent-basedtechnology for solving complex and distributed problems. Firstly, the main content of componenttechnique and software agent are analyzed. Then, it is presented to combine component techniqueand software agent may improve software reuse, flexible and adapter etc. Lastly, appl icat ionsby component technique and software agent in large - -scale software developnent are introduced.Key words: Component; Software Agent; Software Reuse; Sof tware Architecture組件及組件軟件工程概念的提出有利于提高軟件開發(fā)速度、降低軟件開發(fā)成本和軟件維護(hù)成本,有利于提高軟件的重用性,有利于解決軟件危機等,組件軟件工程的出現(xiàn)改變了軟件開發(fā)的各個環(huán)節(jié),它是軟件生產(chǎn)技術(shù)的巨大進(jìn)步"。軟件工程的進(jìn)步主要靠不斷產(chǎn)生新的抽象方法來實現(xiàn)復(fù)雜系統(tǒng),如過程抽象、抽象數(shù)據(jù)類型、面向?qū)ο蠹夹g(shù),都是使軟件遠(yuǎn)離面向機器的觀點,而向人們理解世界的方法靠近,面向Agent技術(shù)的提出為復(fù)雜分布式問題的求解找到了很好的辦法,它是人工智能與計算機科學(xué)新的結(jié)合,用于解決復(fù)雜分布的現(xiàn)實問題,開發(fā)處于動態(tài)的、不確定環(huán)境中的、健壯的、大規(guī)模的軟件系統(tǒng)”。將組件技術(shù)與軟件Agent 技術(shù)相結(jié)合可以有效地提高軟件的重用性、靈活性及適應(yīng)性,有利于大型分布式軟件系統(tǒng)的開發(fā)等。一、與組件技術(shù)1.1組件的主要概念組件是具有-定的功能,能夠獨立工作或能同其它組件裝配起來協(xié)調(diào)工作的程序體,組件的使用同它的開發(fā)、生產(chǎn)無關(guān)"。如果把軟件系統(tǒng)看成是組件的集合,那么從組件的外部形態(tài)來看,構(gòu)成- -個系統(tǒng)的組件可分為獨立而成熟的組件、有限制的組件、適應(yīng)性的組件、裝配的組件、可修改的組件五大類。1.2組件技術(shù)的特點組件往往是開發(fā)后經(jīng)過編譯成為二進(jìn)制代碼,才進(jìn)行發(fā)布使用,與開發(fā)工具語言無關(guān),能夠?qū)崿F(xiàn)即插即用,井中國煤化工收稿日期: 2005- -2- -18基金項目:安慶師范學(xué)院科研基金資助(2003y1y06)MYHCNMHG作者簡介: 1.王一賓 (1970-), 兄安徽安慶人,合肥工業(yè)大學(xué)計算機與信息學(xué)院在職研究生。2.昌杰(1979-),男巢湖學(xué)院數(shù)學(xué)系講師.78且通過接口有效地保證組件的重用性,可以通過市場銷售和分發(fā)。組件軟件工程可以看作是在一定組件模型的支持下,重用組件庫中的一-個或多個軟件組件,通過組合手段高效率、高質(zhì)量地構(gòu)造應(yīng)用軟件系統(tǒng)的過程。目前,有多個組織和公司為組件、組件框架和接口建立了模型和技術(shù)規(guī)范,其中OMG CORBA, Microsoft COM/DC0M/COM+, SUNJavaBean/EJB占主導(dǎo)地位。組件技術(shù)具有以下優(yōu)點": (1) 從根本上改變軟件生產(chǎn)方式,提高軟件開發(fā)速度(2)提高軟件的重用率,保護(hù)已有的投資,降低軟件開發(fā)成本(3) 使開發(fā)出的系統(tǒng)更加靈活,便于維護(hù)和升級,可以降低維護(hù)費用(4)使開發(fā)者將更多的注意力放到業(yè)務(wù)流程和業(yè)務(wù)規(guī)則上去,降低對系統(tǒng)開發(fā)者的要求等。所以,組件技術(shù)可以使原來周期較長的、復(fù)雜的軟件開發(fā)工作變得簡單、快速并且成本低廉。1.3基于組件的軟件開發(fā)基于組件的軟件開發(fā)是當(dāng)前的一個研究熱點,對該領(lǐng)域貢獻(xiàn)最大的是軟件體系結(jié)構(gòu)理論,所有軟件開發(fā)方法都要解決從需求到實現(xiàn)之間的轉(zhuǎn)換問題?;诮M件的軟件開發(fā)就像搭積木- -樣容易, 主要包括組件的開發(fā)和應(yīng)用程序的開發(fā),可分為需求分析、組件收集、基于組件的設(shè)計、組件裝配、測試、運行與維護(hù)等六個主要階段,如圖1所示。需求分析階段是分析用戶的需求,了解“做什么”:組件收集是依賴于需求分析的結(jié)果,收集相應(yīng)的組件,部分組件的收集工作可以與需求分析階段并行進(jìn)行,這樣也有利于節(jié)省時間,提高開發(fā)需求分析組件收集效率;基于組件的設(shè)計是在沒有現(xiàn)成組件的情況下深入進(jìn)行領(lǐng)域分析,確定組件功能,規(guī)劃對外接口實現(xiàn)組件的設(shè)計:組件裝配是將收集的組件或開發(fā)的組件按照一定 的組件模型進(jìn)行組件的組裝集成;測基于組件的設(shè)計試主要是集成測試和系統(tǒng)測試,因單元測試主要是在組件開發(fā)階段進(jìn)行;運行與維護(hù)是投入運行,并且為了滿足用戶對已開發(fā)產(chǎn)品的性能與運行環(huán)境提高的要求,為延長軟件壽命進(jìn)行的一系列活動。2、Agent 技術(shù)組件裝配2.1軟件Agent的定義及主要特性什么是軟件Agent?由于軟件Agent的研究者來自許多不同的領(lǐng)域,使得軟件Agent的含義也具有多重性。歸納起來,Agent可定義測‘試為“一個能夠根據(jù)它對其環(huán)境的感知,主動采取決策和行為的軟件實體”0。Agent的關(guān)鍵屬性主要有自主性、交互性、適應(yīng)性、智能性、運行與維護(hù)協(xié)同性、移動性等,自主性表示沒有外部直接千涉能夠根據(jù)自身經(jīng)驗進(jìn)行行動;交互性表示與環(huán)境及其它Agent交流;適應(yīng)性表示在某種圖1基于組件的軟件開發(fā)程度上能夠響應(yīng)其它Agent或環(huán)境;智能性是由知識所形式化的狀態(tài)與其它Agent使用符號語言交互;協(xié)同性是指Agent能在多Agent 系統(tǒng)環(huán)境中協(xié)同工作,以執(zhí)行和完成一些相互受益的復(fù)雜任務(wù);移動性表示能夠?qū)⒆约簭囊粋€環(huán)境轉(zhuǎn)移到另- -個環(huán)境。 事實上,很難看到-一個Agent都具有上述特性,一般認(rèn)為,前三項是必需的。2.2軟件Agent技術(shù)的特點軟件Agent 技術(shù)可以看作是軟件開發(fā)的又一-重大突破, 這是因為它不僅能夠以-種自然、高效的方式解決傳統(tǒng)軟件業(yè)中存在的問題,而且還能為解決目前軟件發(fā)展中其他技術(shù)難以解決的問題提供了-一個理想的途徑。軟件Agent與其他軟件技術(shù)相比較,在解決傳統(tǒng)軟件業(yè)中存在的問題時具有如下優(yōu)點0!: (1) 系統(tǒng)的數(shù)據(jù)、控制、專家知識和資源可以分布存儲處理。(2) 對Agent 組成的系統(tǒng)可以進(jìn)行自然的描述,有利于各有關(guān)人員對軟件系統(tǒng)的理解。(3) Agent 軟件系統(tǒng)具有靈活性,有利于現(xiàn)有軟件的集成。(4)開放性和復(fù)雜性Internet/ Intranet的發(fā)展對軟件的開發(fā)提出了新的問題,高度開放的計算機網(wǎng)絡(luò)是一一個松散耦合的軟件環(huán)境,軟件生產(chǎn)所面臨的難題是系統(tǒng)具有高度的開放性和復(fù)雜性,而軟件Agent為解決這兩個問題提供了獨特的思路: Agent軟件系統(tǒng)具備高度的靈活性和堅固性解決開放性問題:開發(fā)-些能夠解決特定應(yīng)用領(lǐng)域的專用模塊化構(gòu)件解決復(fù)雜性問題,而Agent 的應(yīng)激性和主動性使得它既能對環(huán)境變化做出反應(yīng),又能根據(jù)目標(biāo)主動規(guī)劃自己的行為。可見,軟件Agent更能解決復(fù)雜的問題。2.3基于Agent的軟件開發(fā)基于Agent技術(shù)的應(yīng)用開發(fā)可以按照下述步驟進(jìn)行: (1) 分析系統(tǒng)的特點,選擇合適的實現(xiàn)技術(shù)。當(dāng)應(yīng)用需要具有跨平臺、跨網(wǎng)絡(luò)、跨地域甚至跨行業(yè)的互操作性以及較高的個人化、智能化時可以考慮采用Agent技術(shù)。這里并不排除以多種技術(shù)實現(xiàn)應(yīng)用系統(tǒng)的可能性。在確定以Agent技術(shù)實中國煤化工應(yīng)用所涉及的各個對象,決定哪些采用Agent實現(xiàn),哪些采用其他方法實現(xiàn)。(2) AgYHCNMHGt的種類:移動.二用Agent 技術(shù)實現(xiàn)部分的數(shù)據(jù)和功能。Agent 間明確分工后,應(yīng)當(dāng)根據(jù)各自功能確定Agent還是靜態(tài)Agent. (3) Agent接口的設(shè)計。Agent 接口的設(shè)計非常關(guān)鍵,它往往影響系統(tǒng)的性能。這是既要考慮Agent間的交互方式,又要考慮Agent與非Agent部分的交互方式。(4) Agent 的詳細(xì)設(shè)計和實例化。首先要了79解日前已有的Agent平臺能做什么,不能做什么,它們各有什么優(yōu)缺點。然后根據(jù)系統(tǒng)的需要選擇合適的代理平臺。接著進(jìn)行詳細(xì)設(shè)計和具體的編碼、調(diào)試工作,從而實現(xiàn)整個系統(tǒng)。(5) Agent的運行與維護(hù)。運行維護(hù)基于Agent技術(shù)的應(yīng)用系統(tǒng),及時發(fā)現(xiàn)和解決實際運行過程中遇到的問題??傊魏蜗到y(tǒng)的設(shè)計都要綜合應(yīng)用多方面的因素,根據(jù)實際情況而定。3、軟件Agent技術(shù)的融合3.1軟件重用方式的融合軟件重用是指在兩次或多次不同的軟件開發(fā)過程中重復(fù)使用相同或相近軟件元素的過程。軟件元素包括程序代碼、軟件體系結(jié)構(gòu)、測試用例、設(shè)計文檔、設(shè)計過程、需求分析文檔甚至領(lǐng)域知識。現(xiàn)階段的軟件重用仍然停留在“靜態(tài)軟件重用”階段,主要表現(xiàn)為重用對象是一些靜態(tài)的、缺乏靈活性的軟部件,軟件重用活動由開發(fā)人員來完成,可重用資源比較有限。文獻(xiàn)[7]中提出了“動態(tài)軟件重用”的思想,重用的對象是一一些高度自治、具有特定功能和能力的動態(tài)軟件系統(tǒng),重用對象表現(xiàn)出較強的靈活性,由軟件系統(tǒng)動態(tài)地完成重用活動,重用的內(nèi)容是開放的:這種動態(tài)軟件重用的思想與現(xiàn)階段軟件開發(fā)的狀況和趨勢是相適應(yīng)的。在面向組件的編程模式下,程序要素從對象變?yōu)榻M件,所重用的是組件,實現(xiàn)的是靜態(tài)軟件重用。在面向Agent的編程模式下,程序要素是Agent,在這種模式下,所重用的不僅僅是功能,更重要的是繼承了知識,因為每個Agent都具有自己的知識積累與學(xué)習(xí)能力,實現(xiàn)的可以是動態(tài)軟件重用?;贏gent的軟件重用方法核心是以動態(tài)軟件重用為目標(biāo),用Agent抽象概念和基于Agent系統(tǒng)方法來概念化、刻畫、描述、設(shè)計和構(gòu)造可重用軟部件。隨著軟件技術(shù)的發(fā)展,我們應(yīng)該將Agent重用技術(shù)和組件重用技術(shù)結(jié)合起來,即實現(xiàn)靜態(tài)軟件重用和動態(tài)軟件重用相融合,為復(fù)雜分布式問題的求解獲取更高的效率。3.2紅件標(biāo)準(zhǔn)規(guī)范與軟件Agent合成機制的融合組件之間的連接是一種松散的耦合方式,而Agent之間的合成也往往采用松散的耦合方式。組件模型是描述可重用組件和這些組件之間如何相互作用的規(guī)范。盡管目前軟件組件技術(shù)已經(jīng)在軟件重用中呈現(xiàn)出巨大的優(yōu)勢,但時至今日,軟件組件本身的標(biāo)準(zhǔn)和規(guī)范尚未統(tǒng)- -和完整性的定義"。在實際應(yīng)用中,目前只有OMG CORBA,MicrosoftCOM/DCOM/CoM+ SUN JavaBean/EJB這三種比較成熟的占主導(dǎo)地位的組件技術(shù)。三種組件技術(shù)都有其優(yōu)點,為了更好地服務(wù)于軟件開發(fā)利用,這三種技術(shù)也正在向緊密結(jié)合的方向發(fā)展。多Agent 系統(tǒng)的協(xié)作求解問題的能力超過單個Agent,依據(jù)Agent構(gòu)造及軟件體系結(jié)構(gòu)特性,可將多Agent系統(tǒng)作為一種新的軟件體系結(jié)構(gòu)風(fēng)格進(jìn)行研究"。就這類系統(tǒng)組件要素一-Agent 來說,它是一-種有別于以往任何系統(tǒng)的組件類型。盡管在系統(tǒng)實現(xiàn)中,Agent或多或少與對象、控制過程等傳統(tǒng)的體系結(jié)構(gòu)要素聯(lián)系起來。但是,就Agent本身而言,其所具有的自主性、智能性、交互性等特性是對象所不具備的。將Agent看作- -種特殊的組件,利用成熟的組件技術(shù)實現(xiàn)Agent的合成具有現(xiàn)實意義。3.3分布式軟件開發(fā)中的應(yīng)用由于計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在的軟件開發(fā)利用,往往是基于網(wǎng)絡(luò)上的開發(fā)利用。在分析了組件技術(shù)和軟件Agent的主要特性之后,我們認(rèn)識到軟件Agent技術(shù)可以為組件的動態(tài)連接提供基礎(chǔ),組件技術(shù)為軟件Agent的合成提供重要的理論指導(dǎo)。可利用組件與Agent技術(shù)構(gòu)造應(yīng)用系統(tǒng)框架,為特定領(lǐng)域的軟件開發(fā)提供良好的方法。在軟件開發(fā)生命周期中,-般而言,進(jìn)行需求分析時,當(dāng)應(yīng)用需要具有跨平臺、跨網(wǎng)絡(luò)、跨地域甚至跨行業(yè)的互操作性以及較高的個人化、智能化時可以考慮采用Agent技術(shù)。將組件技術(shù)與軟件Agent技術(shù)相結(jié)合,充分利用軟件重用機制的融合,充分利用組件標(biāo)準(zhǔn)規(guī)范與軟件Agent合成機制的融合,取長補短:還可利用軟件體系結(jié)構(gòu)理論,使用需求分析和領(lǐng)城驅(qū)動相結(jié)合的體系結(jié)構(gòu)設(shè)計方法來實現(xiàn)軟件開發(fā),這種方法將在未來的分布式系統(tǒng)的開發(fā)中具有非常重要的意義。它的適用范圍將相當(dāng)廣泛,主要包括現(xiàn)代教育系統(tǒng)、電子商務(wù)、商業(yè)和工業(yè)過程的管理、信息管理和檢索等等.4.結(jié)束語軟件系統(tǒng)往往由許多組件組合而成,當(dāng)軟件系統(tǒng)逐漸擴大到- -定程度, 可能超過人的理解能力,這時需要- -種能夠自動組織組件的方法,組件技術(shù)和軟件Agent技術(shù)都擁有一定的優(yōu)勢。如何實現(xiàn)兩者更緊密的結(jié)合,如何將軟件體系結(jié)構(gòu)的有關(guān)理論結(jié)合進(jìn)來,為軟件開發(fā)提供更好的方法是我們將要研究的主要方向。參考文獻(xiàn)[I]Alan w .Brown, Kurt C.Wallnau.The Current State of CBEUJ-.EEE sofware , 1998.10(9):37-46.[2Uennings N R. On agent - based software engineeringU]. Arificial Inelligence,2000[3]唐勝群,唐濤洲.軟件體系結(jié)構(gòu)與組件軟件工程0] .計算機工程,1998(8),32- -35.[4]周之英.現(xiàn)代軟件工程[M] .北京:科學(xué)出版社,2000[5]劉大有,楊鯤等.Agent研究現(xiàn)狀與發(fā)展趨勢[門.軟件學(xué)報2000(3):6]王映輝,馮德民編著.大規(guī)模軟件構(gòu)架技術(shù)[M] .北京:科學(xué)出版中國煤化工[7]毛新軍,徐錫山等.基于Agent的軟件重用D].計算機工程與科學(xué):TYHCNMHG[8]邱巖.組件技術(shù)及其分析比較[J].計算機工程與設(shè)計,2003(7),13-17[9]孫志勇.多Agent系統(tǒng)體系結(jié)構(gòu)及建模方法研究[D:博士學(xué)位論文]合肥工業(yè)大學(xué),2004.責(zé)任編輯:開斌80
-
C4烯烴制丙烯催化劑 2020-10-26
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-10-26
-
生物質(zhì)能的應(yīng)用工程 2020-10-26
-
我國甲醇工業(yè)現(xiàn)狀 2020-10-26
-
石油化工設(shè)備腐蝕與防護(hù)參考書十本免費下載,絕版珍藏 2020-10-26
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡介 2020-10-26
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-10-26
-
甲醇制芳烴研究進(jìn)展 2020-10-26
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進(jìn)展 2020-10-26



