面向?qū)ο蟆獦?gòu)件的軟件動態(tài)演化技術(shù)研究.pdf_第1頁
已閱讀1頁,還剩139頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件發(fā)展的歷史表明,影響軟件技術(shù)發(fā)展的主要要素為計算平臺、人的思維模式以及問題域,而以上要素在軟件開發(fā)活動中又被抽象為平臺空間、認知空間以及問題空間。因此從本質(zhì)上,軟件技術(shù)的發(fā)展是人們對三個空間的認識不斷深化,而且促進他們相互之間演化的過程。而當前隨著因特網(wǎng)的迅速發(fā)展,同時具有計算和組網(wǎng)能力設(shè)備的小型化、微型化和嵌入化使得網(wǎng)絡無處不在,人們對三個空間的認識發(fā)生重大變化,從而推動針對因特網(wǎng)環(huán)境下新型軟件技術(shù)的研究。目前,楊芙清、梅宏、呂建

2、等針對因特網(wǎng)開放、動態(tài)、難控的網(wǎng)絡環(huán)境提出網(wǎng)構(gòu)軟件的概念;IBM的Kephart和Chess等針對軟件之間的協(xié)同、自我管理(包括調(diào)整、維護等)等問題提出自治計算的概念。但無論是網(wǎng)構(gòu)軟件、自治計算或者還是其他針對因特網(wǎng)的軟件模型,均面臨軟件運行環(huán)境易變帶來的挑戰(zhàn)-動態(tài)演化,即軟件系統(tǒng)要能在開放、動態(tài)、難控的環(huán)境下,針對外部環(huán)境的變化而變化,并通過自我調(diào)整達到外部期望的過程。當前軟件的動態(tài)演化也已成為軟件工程中研究的熱點,成為實現(xiàn)動態(tài)、開放

3、、靈活多變系統(tǒng)的關(guān)鍵技術(shù),本文也對動態(tài)演化進行深入地研究。
   本文首先從因特網(wǎng)環(huán)境下軟件動態(tài)演化的需求出發(fā),提出的軟件動態(tài)演化區(qū)分原則,分析軟件動態(tài)演化的研究現(xiàn)狀,并從軟件如何支持動態(tài)演化、怎樣動態(tài)演化以及演化后正確性和一致性方面進行系統(tǒng)地闡述,并重點討論了軟件動態(tài)演化的建模、系統(tǒng)框架等問題。進而在對現(xiàn)有軟件動態(tài)演化的分析和總結(jié)的基礎(chǔ)上,提出一種新型的軟件動態(tài)演化概念模型,為下一步軟件動態(tài)演化的研究提供指導。
  

4、軟件演化中的行為一致性、相容性以及系統(tǒng)完整性約束,長期以來是動態(tài)演化中研究的熱點,而現(xiàn)有形式化理論一般只針對演化的某一方面,難以對動態(tài)演化的性質(zhì)提供完整的分析和驗證,并且對環(huán)境及環(huán)境變化的描述較少。因此本文在Milner的Bigraph理論基礎(chǔ)上,提出基于Bigraph的建模方法,并論證動態(tài)演化的相關(guān)特性。與以往基于Petri Net、π演算以及進程代數(shù)不同,綜合Bigraph能融合π演算和移動Ambient演算的優(yōu)點,同時引入環(huán)境上下

5、文參與系統(tǒng)的遷移,使系統(tǒng)的描述更為直觀和精確,適合對動態(tài)演化的形式化建模,并由于利用Bigraph可模擬其他演算,因此也可充分利用以前的研究成果。實例表明,基于Bigraph提出的軟件建模機制,可為軟件動態(tài)演化的形式化方法提供堅實的基礎(chǔ)。
   軟件動態(tài)演化機制是動態(tài)演化中的關(guān)鍵問題之一。本文基于設(shè)計模式中的命令模式,依據(jù)方法調(diào)用與方法執(zhí)行分離的原則,采用集中調(diào)度控制所有方法執(zhí)行的方式,在反射的基礎(chǔ)上設(shè)計出一種靈活的軟件在線演化

6、機制(FOEM)。該機制的設(shè)計原理是把系統(tǒng)中所有的方法調(diào)用封裝成命令請求,加入主動隊列,而在具體調(diào)度時檢查內(nèi)部配置配置文件,根據(jù)配置的具體對象類型、方法名稱以及相關(guān)動作,動態(tài)增加或者替換該方法調(diào)用,從而達到在線變更軟件系統(tǒng)行為的目標。實驗表明該機制靈活多變,且具有普遍的適用性,能滿足大多數(shù)動態(tài)演化軟件的需求。但該機制并不適合涉及多個對象的復雜演化流程,因此本文從面向服務的計算模型中得到啟發(fā),提出面向服務對象的”偽面向服務”動態(tài)演化機制(

7、SOSA),并利用服務對象注冊表解耦直接對象引用,從而在運行中動態(tài)解釋服務對象的調(diào)用,進而完成復雜的演化邏輯變更。該機制把SOA方式引入程序設(shè)計內(nèi)部,與外部的服務調(diào)用統(tǒng)一風格,便于局部/遠端對象的無縫遷移以及服務流程的動態(tài)組合,可靈活實現(xiàn)軟件的動態(tài)演化。
   系統(tǒng)框架是動態(tài)演化軟件能否被快速開發(fā)和廣泛部署的關(guān)鍵指標。本文基于對象動態(tài)替換機制,設(shè)計實現(xiàn)一種適合嵌入式環(huán)境的動態(tài)演化框架。該框架利用面向?qū)ο竽P椭?,對象的?nèi)存布局只與

8、類中的變量以及虛函數(shù)相關(guān),當這兩部分保持不變時,新對象的內(nèi)存映像將保持與原始對象一致,故當新對象替換原始對象后(完全取代原始對象的地址空間),系統(tǒng)調(diào)用對應地址的指令時,其實是對新對象的調(diào)用,從而“透明”地切換至新對象,利用對象的更新完成系統(tǒng)演化需求。
   針對當前動態(tài)演化主要從宏觀層面研究動態(tài)演化軟件的形式化、模型以及框架,且主要側(cè)重功能性需求,而對非功能性需求的研究較少或采用定性的方法,本文對動態(tài)演化過程中的非功能性需求,特

9、別是性能與可靠性進行定量的研究。提出基于體系結(jié)構(gòu)模型的動態(tài)組件分派方法,滿足系統(tǒng)動態(tài)演化過程中的性能需求,并證明該組件分派問題為NP問題,給出相應的啟發(fā)式算法。對于可靠性,本文提出基于分布式體系結(jié)構(gòu)模型的逆序組件分派算法滿足動態(tài)演化過程的系統(tǒng)可靠性需求。通過實驗表明,本文提出的相關(guān)算法適合于滿足在實時抉擇條件下動態(tài)演化的相關(guān)非功能性需求,為動態(tài)演化的演化決策提供指導思路。
   綜上,通過對動態(tài)演化軟件的形式化、演化機制、系統(tǒng)框

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論