[發(fā)明專(zhuān)利]一種基于性質(zhì)規(guī)約模式的軟件運(yùn)行時(shí)性質(zhì)監(jiān)測(cè)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201010114723.6 | 申請(qǐng)日: | 2010-02-26 |
| 公開(kāi)(公告)號(hào): | CN101794224A | 公開(kāi)(公告)日: | 2010-08-04 |
| 發(fā)明(設(shè)計(jì))人: | 毛曉光;吳海亮;萬(wàn)小敏;代子營(yíng);王瑞;王承松;雷晏;王燕妮 | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué) |
| 主分類(lèi)號(hào): | G06F9/44 | 分類(lèi)號(hào): | G06F9/44 |
| 代理公司: | 國(guó)防科技大學(xué)專(zhuān)利服務(wù)中心 43202 | 代理人: | 郭敏 |
| 地址: | 410073 湖南*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 性質(zhì) 規(guī)約 模式 軟件 運(yùn)行 監(jiān)測(cè) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件監(jiān)測(cè)領(lǐng)域中的一種軟件運(yùn)行時(shí)性質(zhì)監(jiān)測(cè)方法,尤其指一種基于性質(zhì)規(guī)約模式監(jiān)測(cè)軟件運(yùn)行時(shí)性質(zhì)違背的方法。?
背景技術(shù)
隨著軟件規(guī)模的擴(kuò)大和復(fù)雜度的提高,軟件運(yùn)行表現(xiàn)出動(dòng)態(tài)性、不可預(yù)測(cè)性、潛在不安全性等諸多特性。軟件的質(zhì)量問(wèn)題越來(lái)越突出,給人們的工作生活帶來(lái)許多不利影響,甚至給人類(lèi)生命、財(cái)產(chǎn)和環(huán)境造成災(zāi)難性的損失。為應(yīng)對(duì)這些挑戰(zhàn),人們希望盡可能了解軟件系統(tǒng)運(yùn)行過(guò)程中的內(nèi)部狀況。軟件運(yùn)行時(shí)性質(zhì)監(jiān)測(cè)是指在軟件系統(tǒng)運(yùn)行過(guò)程中,通過(guò)捕獲其內(nèi)部狀態(tài)、行為交互等信息,來(lái)監(jiān)測(cè)和驗(yàn)證軟件的運(yùn)行狀態(tài)與行為是否符合預(yù)期性質(zhì)約束的方法。這里的性質(zhì)約束指為了分析軟件系統(tǒng)的行為、定位故障、優(yōu)化軟件執(zhí)行的關(guān)鍵路徑、進(jìn)行可信分析、保證正確執(zhí)行而附加的限制條件,也稱(chēng)監(jiān)測(cè)需求。軟件運(yùn)行時(shí)性質(zhì)監(jiān)測(cè)在軟件開(kāi)發(fā)、維護(hù)以及可信分析等方面都很有用途。?
軟件的監(jiān)測(cè)需求通常是一系列不準(zhǔn)確的非形式化描述或高度抽象的形式化描述(如線性時(shí)序邏輯、分支時(shí)序邏輯等)。實(shí)施監(jiān)測(cè)時(shí),需要將監(jiān)測(cè)需求準(zhǔn)確映射為對(duì)軟件代碼中相關(guān)變量、方法等在運(yùn)行時(shí)的信息采集需求并進(jìn)行性質(zhì)驗(yàn)證。早期的軟件監(jiān)測(cè)方法為:在軟件開(kāi)發(fā)階段,將軟件的監(jiān)測(cè)需求作為非功能需求的一部分與軟件的其他需求(如功能需求、性能需求等)一起進(jìn)行分析、設(shè)計(jì)和編碼,生成具有監(jiān)測(cè)功能的軟件。這種監(jiān)測(cè)方法使得最終生成的軟件系統(tǒng)中監(jiān)測(cè)代碼和其它功能代碼相互交織,產(chǎn)生代碼糾纏和功能分散的問(wèn)題。這種方法只適于用在開(kāi)發(fā)階段就考慮監(jiān)測(cè)需求且監(jiān)測(cè)需求明確、固定的軟件,不能對(duì)大量已經(jīng)在使用的遺產(chǎn)軟件進(jìn)行監(jiān)測(cè)。為此,提出了基于代碼插裝的軟件監(jiān)測(cè)方法。該方法主要包括以下幾步:?
1.分析監(jiān)測(cè)需求和待監(jiān)測(cè)軟件,將監(jiān)測(cè)需求分解為面向待監(jiān)測(cè)軟件實(shí)現(xiàn)層的一系列監(jiān)測(cè)點(diǎn)和各監(jiān)測(cè)點(diǎn)的信息采集需求。監(jiān)測(cè)點(diǎn)也稱(chēng)插裝點(diǎn),即為需要插入插裝代碼的地方。插裝代碼用于采集需要的信息。?
2.利用代碼插裝工具(如,Jtrek、BCEL、ASM等)提供的接口規(guī)范,將各監(jiān)測(cè)點(diǎn)的信息采集需求編碼為插裝代碼并插裝到待監(jiān)測(cè)軟件中,生成具有監(jiān)測(cè)功能的新?軟件。?
3.運(yùn)行新軟件,輸出需要的消息(即監(jiān)測(cè)信息),供監(jiān)測(cè)人員分析,查找故障。?
基于代碼插裝的軟件監(jiān)測(cè)方法以擴(kuò)充的方式在待監(jiān)測(cè)軟件上迭加插裝代碼,效果上能達(dá)到對(duì)簡(jiǎn)單監(jiān)測(cè)需求變更的響應(yīng)。然而基于代碼插裝的軟件監(jiān)測(cè)方法沒(méi)有改變監(jiān)測(cè)邏輯與軟件原有業(yè)務(wù)邏輯混雜的狀態(tài),需要開(kāi)發(fā)人員找到所有的插裝點(diǎn),并對(duì)每一個(gè)插裝點(diǎn)的信息采集需求和原有業(yè)務(wù)邏輯進(jìn)行分析編寫(xiě)插裝代碼,極容易出錯(cuò)。一方面增加了軟件的維護(hù)復(fù)雜性,另一方面使得監(jiān)測(cè)的后續(xù)工作——故障分析和缺陷定位變得難以繼續(xù)。?
然而,隨著軟件開(kāi)發(fā)周期和版本更新節(jié)奏的加快,軟件適應(yīng)可變和演化的需求日益增多,對(duì)軟件的不同關(guān)注點(diǎn)進(jìn)行獨(dú)立建模、封裝和維護(hù)的開(kāi)發(fā)要求越來(lái)越強(qiáng)。軟件監(jiān)測(cè)需求就是一個(gè)典型的橫切關(guān)注點(diǎn)。隨著近幾年面向方面編程(AOP:Aspect-OrientedProgramming)技術(shù)的快速發(fā)展,由于其封裝橫切關(guān)注點(diǎn)的特性,AOP技術(shù)也逐漸進(jìn)入軟件運(yùn)行時(shí)監(jiān)測(cè)領(lǐng)域,為軟件運(yùn)行時(shí)監(jiān)測(cè)提供了新的思路和途徑?;贏OP技術(shù)對(duì)軟件進(jìn)行監(jiān)測(cè)主要分為以下幾步:?
1.仔細(xì)分析待監(jiān)測(cè)軟件和監(jiān)測(cè)需求,將監(jiān)測(cè)需求分解為面向待監(jiān)測(cè)軟件實(shí)現(xiàn)層的一系列監(jiān)測(cè)點(diǎn)和各監(jiān)測(cè)點(diǎn)的信息采集需求。?
2.按照AOP編程規(guī)范,將各監(jiān)測(cè)點(diǎn)和各監(jiān)測(cè)點(diǎn)的信息采集需求編碼成監(jiān)測(cè)代碼,保存在方面文件中。監(jiān)測(cè)點(diǎn)經(jīng)過(guò)分析總結(jié)后被編碼為方面程序中的切入點(diǎn)(pointcut)。切入點(diǎn)用來(lái)指示待監(jiān)測(cè)軟件中插裝點(diǎn)。信息采集需求被編碼為各切入點(diǎn)的通知(advice)代表各插裝點(diǎn)處的插裝代碼。通知可以在軟件運(yùn)行時(shí)采集需要的信息。切入點(diǎn)和通知被保存在獨(dú)立的文件中,稱(chēng)為方面文件。?
3.利用代碼編織工具(如,AJDT、ACDT等)將方面文件和待測(cè)軟件進(jìn)行編織,生成具有監(jiān)測(cè)功能的新軟件。?
4.運(yùn)行新軟件,輸出需要的消息(即監(jiān)測(cè)信息),供監(jiān)測(cè)人員分析,查找故障。?
基于AOP技術(shù)的軟件監(jiān)測(cè)方法將監(jiān)測(cè)需求從其它軟件需求中獨(dú)立出來(lái),實(shí)現(xiàn)了監(jiān)測(cè)功能的獨(dú)立建模和封裝。但由于AOP技術(shù)從編程切入,直接面向待監(jiān)測(cè)軟件實(shí)現(xiàn)層的離散化的信息采集需求,降低了監(jiān)測(cè)的抽象層次,模糊了監(jiān)測(cè)需求的物理含義,使得監(jiān)測(cè)實(shí)施與軟件工程中的監(jiān)測(cè)需求可跟蹤鏈脫節(jié),從而給故障發(fā)現(xiàn)和故障推斷帶來(lái)困難。?
發(fā)明內(nèi)容
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010114723.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種變電站雙規(guī)約監(jiān)控系統(tǒng)
- 一種數(shù)字變電站通信規(guī)約控制裝置
- 一種通信規(guī)約接入方法
- 數(shù)據(jù)規(guī)約方法、裝置及系統(tǒng)
- 規(guī)約解析方法、系統(tǒng)、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及通訊管理機(jī)
- 軟件驗(yàn)證方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種基于注冊(cè)機(jī)制的通信規(guī)約的建立方法及系統(tǒng)
- 一種基于mqtt物聯(lián)網(wǎng)配置型通配規(guī)約的實(shí)現(xiàn)方法及系統(tǒng)
- 一種基于XML格式的規(guī)約描述文件的電力規(guī)約通用測(cè)試方法及系統(tǒng)
- 融合IEC61850規(guī)約帶通信管理的臺(tái)區(qū)智能融合終端





