版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、作為控制軟件復(fù)雜性、提高軟件系統(tǒng)質(zhì)量、支持軟件開發(fā)和復(fù)用的重要手段之一,軟件體系結(jié)構(gòu)(software architecture)自提出以來,日益受到軟件研究者和實踐者的廣泛關(guān)注,并發(fā)展成為軟件工程的一個重要研究領(lǐng)域。通過對系統(tǒng)進行的組件式分解,軟件體系結(jié)構(gòu)實現(xiàn)了對軟件系統(tǒng)構(gòu)建初期面臨功能關(guān)注點的有效分離。然而,軟件體系結(jié)構(gòu)面臨的許多表示非功能需求和質(zhì)量要求的關(guān)注點大都表現(xiàn)出橫切特征,它們的實現(xiàn)橫跨系統(tǒng)的多個組件,從而降低了軟件的可重用
2、性,造成系統(tǒng)在演進和維護上的極大困難。這種關(guān)注點被稱為橫切關(guān)注點(crosscutting concerns)。
為了應(yīng)對橫切關(guān)注點引起的各種問題,面向方面的軟件體系結(jié)構(gòu)設(shè)計(Aspect-Oriented Software Architecture Design)將方面(aspects)機制引入到軟件體系結(jié)構(gòu)的設(shè)計中,用方面對橫切關(guān)注點進行封裝表示,通過方面的模塊化處理,促進系統(tǒng)的可追蹤性、可理解性和可維護性。當(dāng)前,面向
3、方面的軟件體系結(jié)構(gòu)設(shè)計已經(jīng)成為軟件工程領(lǐng)域中的一個研究熱點。
然而,軟件體系結(jié)構(gòu)中的諸如安全、業(yè)務(wù)規(guī)則、可用性、可靠性、可維護性等許多橫切關(guān)注點呈現(xiàn)依賴于系統(tǒng)運行歷史的特性。為了對這種歷史敏感的橫切關(guān)注點進行封裝,方面需要帶有狀態(tài)。帶有狀態(tài)的方面稱為狀態(tài)方面(stateful aspects),它通過狀態(tài)記錄系統(tǒng)的執(zhí)行歷史,并根據(jù)所處的狀態(tài)來決定是否執(zhí)行相應(yīng)的橫切關(guān)注點行為。
編織(weaving)是實現(xiàn)方面
4、和系統(tǒng)其余模塊組合的方式,一直以來都是面向方面領(lǐng)域一個基本和重要的課題。它不但需要根據(jù)方面所提供的信息,在系統(tǒng)中尋找恰當(dāng)?shù)目椚胛恢?,并確定方面行為與織入點行為之間的操作時序,還需要檢測和處理編織中可能遇到的方面沖突。而狀態(tài)的引入,使得狀態(tài)方面的編織面臨比常規(guī)方面編織更多復(fù)雜的問題。
為了對系統(tǒng)面臨的歷史敏感橫切關(guān)注點進行模塊化封裝,需要將狀態(tài)方面引入到軟件體系結(jié)構(gòu)設(shè)計中。而當(dāng)前的面向方面軟件體系結(jié)構(gòu)設(shè)計方法并沒有提供支持該
5、概念的表示機制,也沒有提供有效的編織狀態(tài)方面的方法。
基于上述背景,本文在吸取當(dāng)前面向方面的軟件體系結(jié)構(gòu)設(shè)計和狀態(tài)方面編程等相關(guān)研究成果的基礎(chǔ)上,對軟件體系結(jié)構(gòu)中狀態(tài)方面的編織問題展開深入研究,形成了一套完整的形式化的編織方法,并開發(fā)了原型工具和通過實例對該方法進行了應(yīng)用和驗證。
本文的主要研究內(nèi)容包括:
1.軟件體系結(jié)構(gòu)狀態(tài)方面的形式化建模研究。為了在軟件體系結(jié)構(gòu)中實現(xiàn)對狀態(tài)方面的表示,對基本
6、系統(tǒng)的語義、支持狀態(tài)的切點模型、通知模型以及狀態(tài)方面的定義等展開研究。基本系統(tǒng)的語義描述系統(tǒng)執(zhí)行的完整行為,切點模型描述狀態(tài)方面對基本系統(tǒng)執(zhí)行歷史的關(guān)注,描述狀態(tài)方面在何處編織(where),而通知模型描述狀態(tài)方面所封裝的橫切關(guān)注點的行為(what)以及這些行為在何時(when)觸發(fā)。
2.狀態(tài)方面編織的語義和策略研究。由于現(xiàn)有研究缺乏形式化的編織語義,也缺乏支持狀態(tài)方面編織的方法,因此對軟件體系結(jié)構(gòu)狀態(tài)方面的編織語義和策
7、略展開研究。在語義方面,對方面編織運算的結(jié)構(gòu)化操作語義SOS(structural operational semantics)和編織中語法層的方面交互問題進行了研究,并考查了編織運算的特性。在策略方面,對關(guān)聯(lián)的確定方法、切點的判斷算法和具體的編織算法進行了研究,并開發(fā)了原型工具和實例對其進行了實現(xiàn)和應(yīng)用。
3.狀態(tài)方面編織的校驗和分析研究。方面交互是方面編織中的一個重要問題,其檢測和處理對于增強系統(tǒng)的安全性和可靠性有非常
8、重要的意義。首先研究了系統(tǒng)屬性層次上的語義方面交互的定義及其校驗方法,然后研究了編織影響的分析和推理方法,并在原型工具上進行了實現(xiàn)和驗證。
本文工作的主要貢獻體現(xiàn)在:
1.將LTS引入系統(tǒng)執(zhí)行語義的表示,并在對LTS適當(dāng)擴展的基礎(chǔ)上,建立了描述狀態(tài)方面的切點模型和通知模型,從而解決了狀態(tài)方面在軟件體系結(jié)構(gòu)中的表示問題,為軟件體系結(jié)構(gòu)狀態(tài)方面的編織提供了依據(jù)。
2.在對LTS的并發(fā)組合(‖)進行擴
9、展的基礎(chǔ)上,提出了組合運算(“∝”),并以此為基礎(chǔ)建立了狀態(tài)方面的關(guān)聯(lián)點確定方法。與同類方法相比,該方法不需要引入額外的同步動作,從而避免了由此引起的組合狀態(tài)數(shù)過多的問題。
3.將狀態(tài)方面的編織定義為在基本系統(tǒng)、切點和通知之間的組合運算(“()”),并建立了該運算的操作語義以及支持該語義的具體編織策略。這是一個形式化的語義,基于它可以開展對為編織前后系統(tǒng)行為的理解、分析和推理。
4.針對傳統(tǒng)方法無法分析狀態(tài)方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向方面的軟件體系結(jié)構(gòu)演化研究.pdf
- 面向方面軟件體系結(jié)構(gòu)建模研究.pdf
- 基于軟件體系結(jié)構(gòu)的面向方面建模研究.pdf
- 面向方面軟件體系結(jié)構(gòu)動態(tài)演化方法研究.pdf
- 軟件體系結(jié)構(gòu)及基于軟件體系結(jié)構(gòu)的系統(tǒng)開發(fā).pdf
- 軟件體系結(jié)構(gòu)作業(yè)
- 軟件體系結(jié)構(gòu)題庫
- 軟件體系結(jié)構(gòu)文檔
- 軟件體系結(jié)構(gòu)復(fù)用的研究.pdf
- 面向方面軟件體系結(jié)構(gòu)設(shè)計方法與描述機制研究.pdf
- 面向方面連接件的軟件體系結(jié)構(gòu)適應(yīng)性研究.pdf
- 軟件工程軟件體系結(jié)構(gòu)
- 軟件質(zhì)量體系結(jié)構(gòu).pdf
- 軟件體系結(jié)構(gòu)期末論文
- webservice軟件體系結(jié)構(gòu)分析
- 軟件體系結(jié)構(gòu)大作業(yè)
- 淺談軟件體系結(jié)構(gòu)評估
- 軟件體系結(jié)構(gòu)描述方法
- 通信軟件體系結(jié)構(gòu)研究與應(yīng)用.pdf
- 基于Bigraph的面向方面動態(tài)軟件體系結(jié)構(gòu)建模與演化研究.pdf
評論
0/150
提交評論