童燕翔 秦 逸 馬曉星
(計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室(南京大學(xué)) 南京 210023)
(tongyanxiang@gmail.com)
自適應(yīng)軟件系統(tǒng)是一類通過(guò)動(dòng)態(tài)調(diào)整自己的行為,以適應(yīng)系統(tǒng)自身和運(yùn)行環(huán)境的非確定性,從而持續(xù)滿足系統(tǒng)目標(biāo)的軟件系統(tǒng)[1].基于這一理念,一個(gè)自適應(yīng)軟件系統(tǒng)主要由實(shí)現(xiàn)系統(tǒng)應(yīng)用邏輯的被管理系統(tǒng)(managed system)模塊和實(shí)現(xiàn)自適應(yīng)邏輯的管理系統(tǒng)(managing system)模塊2部分組成[2].
近年來(lái),控制論在自適應(yīng)軟件系統(tǒng)的開(kāi)發(fā)中得到了廣泛應(yīng)用[3-4].這類控制型自適應(yīng)軟件系統(tǒng)通常是基于一個(gè)辨識(shí)而得的、用于描述被管理系統(tǒng)行為的標(biāo)稱模型,依據(jù)控制論自動(dòng)合成所需的管理系統(tǒng).這類系統(tǒng)利用反饋機(jī)制支撐被管理系統(tǒng)的自適應(yīng),并由控制論從數(shù)學(xué)上保證所設(shè)計(jì)、實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)的優(yōu)化性和可靠性[5-8].然而,軟件系統(tǒng)運(yùn)行環(huán)境的非確定性,使得標(biāo)稱模型的實(shí)際參數(shù)值在運(yùn)行時(shí)常偏離其辨識(shí)值,這種現(xiàn)象被稱為自適應(yīng)軟件系統(tǒng)的模型偏差(model deviation).模型偏差會(huì)使控制論提供的優(yōu)化性和可靠性失效,威脅控制型自適應(yīng)軟件系統(tǒng)的安全運(yùn)行.因此,各種模型偏差檢測(cè)方法被提出用以解決這一問(wèn)題.
自適應(yīng)軟件系統(tǒng)的運(yùn)行環(huán)境具有動(dòng)態(tài)、開(kāi)放的特點(diǎn)[9-10],同時(shí)系統(tǒng)與環(huán)境的交互也受到非確定性的影響[11-12].因此,在其運(yùn)行過(guò)程中,被管理系統(tǒng)標(biāo)稱模型的實(shí)際參數(shù)值可能以多種開(kāi)發(fā)人員無(wú)法預(yù)先描述的方式偏離其辨識(shí)值,使得模型偏差表現(xiàn)出多種不同的形態(tài).本文使用場(chǎng)景來(lái)區(qū)分模型偏差的不同形態(tài),而模型偏差的形態(tài)差異導(dǎo)致模型偏差檢測(cè)方法在不同偏差場(chǎng)景下的檢測(cè)有效性不同.
因此,除了在技術(shù)層面上改進(jìn)模型偏差檢測(cè)方法,對(duì)不同模型偏差檢測(cè)方法適用的模型偏差場(chǎng)景進(jìn)行研究,也有助于提高自適應(yīng)軟件系統(tǒng)的整體可靠性.通常從檢測(cè)時(shí)延和檢測(cè)準(zhǔn)確度2方面描述模型偏差檢測(cè)方法的有效性,即檢測(cè)時(shí)延越低且檢測(cè)準(zhǔn)確度越高,則檢測(cè)方法的有效性越好.
在傳統(tǒng)控制論中,通常依據(jù)被管理系統(tǒng)的物理特性,選取有效的模型偏差檢測(cè)方法[13-14].然而,自適應(yīng)軟件系統(tǒng)通常不存在可使用數(shù)學(xué)模型精確描述的物理特性.因此,為自適應(yīng)軟件系統(tǒng)選取有效的模型偏差檢測(cè)方法的挑戰(zhàn)在于如何建立一套特性體系,用于描述不同的模型偏差場(chǎng)景.
針對(duì)這一挑戰(zhàn),本文提出了模型偏差檢測(cè)的理論框架,刻畫了模型偏差檢測(cè)方法的重點(diǎn)要素.基于該框架,本文進(jìn)一步分析、歸納了3個(gè)影響模型偏差檢測(cè)有效性的主要因素,包括控制信號(hào)(被管理系統(tǒng)從管理系統(tǒng)獲得的調(diào)節(jié)命令)、環(huán)境輸入(被管理系統(tǒng)受外部環(huán)境的影響),以及非確定性(被管理系統(tǒng)中存在的觀測(cè)誤差和系統(tǒng)噪聲).一旦某檢測(cè)方法沒(méi)有考慮偏差場(chǎng)景下影響檢測(cè)有效性的主要因素,則此檢測(cè)方法將不能夠有效檢測(cè)該場(chǎng)景的模型偏差.根據(jù)這3個(gè)主要因素,本文提出了3個(gè)模型偏差場(chǎng)景特性指標(biāo),用于建立描述偏差場(chǎng)景特性的評(píng)價(jià)體系.通過(guò)使用不同實(shí)驗(yàn)對(duì)象和不同配置的實(shí)證實(shí)驗(yàn),探索了現(xiàn)有主流模型偏差檢測(cè)方法對(duì)于不同模型偏差場(chǎng)景的適用性.
本文的主要貢獻(xiàn)有3個(gè)方面:
1) 構(gòu)建了一個(gè)控制型自適應(yīng)軟件系統(tǒng)的模型偏差檢測(cè)框架,為模型偏差檢測(cè)方法的適用性研究提供理論依據(jù).
2) 提出了一套基于模型偏差檢測(cè)框架的特性指標(biāo),用于描述不同的模型偏差場(chǎng)景,并評(píng)估模型偏差檢測(cè)方法的適用性.
3) 進(jìn)行了基于大量實(shí)驗(yàn)的模型偏差檢測(cè)方法適用性研究.依據(jù)劃分的6種特性場(chǎng)景,總結(jié)各檢測(cè)方法適用的特性范圍,用于指導(dǎo)如何在不同的場(chǎng)景特性下選取有效的模型偏差檢測(cè)方法.
本節(jié)首先介紹自適應(yīng)軟件系統(tǒng)的背景知識(shí),然后以安全水處理(secure water treatment, SWaT)系統(tǒng)為例介紹控制型自適應(yīng)軟件系統(tǒng)的設(shè)計(jì)和運(yùn)行過(guò)程.
現(xiàn)代軟件系統(tǒng)面臨著非確定性的挑戰(zhàn),包括動(dòng)態(tài)、開(kāi)放的運(yùn)行環(huán)境以及不斷變化的系統(tǒng)需求.為了應(yīng)對(duì)這一挑戰(zhàn),自適應(yīng)軟件系統(tǒng)應(yīng)運(yùn)而生[15-17].自適應(yīng)軟件系統(tǒng)通過(guò)自我監(jiān)測(cè)和重新配置自身,以持續(xù)適應(yīng)不斷變化的環(huán)境和系統(tǒng)需求.一個(gè)自適應(yīng)軟件系統(tǒng)可分為2個(gè)不同的部分:1)被管理系統(tǒng),與軟件用戶交互,負(fù)責(zé)系統(tǒng)業(yè)務(wù)邏輯的實(shí)現(xiàn);2)管理系統(tǒng),與軟件運(yùn)行環(huán)境交互,負(fù)責(zé)監(jiān)測(cè)被管理系統(tǒng)的行為,并在必要的時(shí)候?qū)ζ溥M(jìn)行重新配置.例如,對(duì)于一個(gè)自適應(yīng)Web服務(wù)系統(tǒng)而言,其被管理系統(tǒng)就是實(shí)現(xiàn)用戶訪問(wèn)的軟件模塊,包括Web前端、負(fù)載均衡器、服務(wù)器及其訪問(wèn)接口等.其管理系統(tǒng)需要定時(shí)獲取用戶訪問(wèn)的平均響應(yīng)時(shí)間,并根據(jù)用戶的響應(yīng)需求進(jìn)行服務(wù)和負(fù)載的伸縮.
Fig. 1 MAPE-K loop圖1 MAPE-K環(huán)
實(shí)現(xiàn)自適應(yīng)軟件系統(tǒng)的關(guān)鍵在于管理系統(tǒng)中自適應(yīng)邏輯的設(shè)計(jì).傳統(tǒng)自適應(yīng)軟件理論使用監(jiān)視、分析、規(guī)劃和執(zhí)行4個(gè)模塊外加1個(gè)共享知識(shí)庫(kù)共同實(shí)現(xiàn)的循環(huán),即MAPE-K環(huán)(monitor-analyze-plan-execute loop with knowledge, MAPE-K loop)來(lái)指導(dǎo)自適應(yīng)軟件系統(tǒng)的開(kāi)發(fā)[18],如圖1所示.軟件的自適應(yīng)表現(xiàn)為循環(huán)順序運(yùn)行這4個(gè)模塊.4個(gè)模塊的迭代執(zhí)行構(gòu)成了自適應(yīng)軟件系統(tǒng)的自適應(yīng)環(huán),通常使用自適應(yīng)環(huán)的迭代序號(hào)k代指在該次迭代中自適應(yīng)軟件系統(tǒng)的狀態(tài)和執(zhí)行過(guò)程.在基于MAPE-K環(huán)實(shí)現(xiàn)的自適應(yīng)Web服務(wù)系統(tǒng)中,監(jiān)視模塊實(shí)現(xiàn)定時(shí)觀測(cè)用戶訪問(wèn)的平均響應(yīng)時(shí)間,分析模塊對(duì)比觀測(cè)的平均響應(yīng)時(shí)間是否大于或者遠(yuǎn)小于目標(biāo)響應(yīng)時(shí)間,規(guī)劃模塊根據(jù)實(shí)際觀測(cè)的平均響應(yīng)時(shí)間與目標(biāo)響應(yīng)時(shí)間,計(jì)算適合的服務(wù)器數(shù)量,執(zhí)行模塊調(diào)用接口添加或刪減對(duì)應(yīng)數(shù)量的服務(wù)器,共享知識(shí)庫(kù)提供了用戶負(fù)載、服務(wù)器數(shù)量和平均響應(yīng)時(shí)間的排隊(duì)論模型以及目標(biāo)響應(yīng)時(shí)間.MAPE-K環(huán)為自適應(yīng)軟件系統(tǒng)提供了基本的實(shí)現(xiàn)框架,但各模塊的實(shí)現(xiàn)無(wú)具體方法指導(dǎo),且需要設(shè)計(jì)額外的機(jī)制去保證所實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)的可靠運(yùn)行.
近年來(lái),基于控制論的控制型自適應(yīng)軟件系統(tǒng)因其開(kāi)發(fā)過(guò)程的自動(dòng)化支撐和整體系統(tǒng)的理論保障,成為自適應(yīng)軟件領(lǐng)域的研究熱點(diǎn)[1,19].
圖2所示為控制型自適應(yīng)軟件系統(tǒng)的基本架構(gòu).其中,管理系統(tǒng)被實(shí)現(xiàn)為控制器,系統(tǒng)輸出是被管理系統(tǒng)行為的觀測(cè)變量,控制信號(hào)是改變被管理系統(tǒng)行為的可調(diào)參數(shù).在該反饋控制環(huán)中,面對(duì)環(huán)境輸入的擾動(dòng),被管理系統(tǒng)的系統(tǒng)輸出在控制器的作用下能夠追蹤系統(tǒng)目標(biāo).基于反饋控制環(huán),Filieri等人[9]首先提出了一個(gè)框架PBM(push-button method)來(lái)支持控制型自適應(yīng)軟件系統(tǒng)的開(kāi)發(fā).該實(shí)現(xiàn)框架基于數(shù)據(jù)收集和模型擬合(即系統(tǒng)辨識(shí)[20])得到的標(biāo)稱模型,提供控制論指導(dǎo)的控制器設(shè)計(jì)(即控制器合成[21])和整個(gè)自適應(yīng)軟件系統(tǒng)優(yōu)化且可靠運(yùn)行的理論保證.
Fig. 2 Control-based self-adaptive software systems圖2 控制型自適應(yīng)軟件系統(tǒng)
系統(tǒng)辨識(shí)將被管理系統(tǒng)建模為一個(gè)定量的標(biāo)稱模型.系統(tǒng)辨識(shí)可以構(gòu)建多種類型的標(biāo)稱模型來(lái)支持不同場(chǎng)景下的自適應(yīng),包括線性時(shí)不變系統(tǒng)[11,22-23]、線性時(shí)變系統(tǒng)[24]和非線性時(shí)不變系統(tǒng)[25].根據(jù)系統(tǒng)化采樣的各運(yùn)行環(huán)境下的控制信號(hào)及其系統(tǒng)輸出,擬合選定類型標(biāo)稱模型的參數(shù)值,得到辨識(shí)標(biāo)稱模型.
基于辨識(shí)標(biāo)稱模型,控制器合成利用各種控制論技術(shù)來(lái)設(shè)計(jì)不同自適應(yīng)場(chǎng)景下的控制器.其中,最流行的2種技術(shù)是比例-積分-微分(proportional-integral-derivative, PID)控制[5,26-28]和模型預(yù)測(cè)控制(model predictive control, MPC)[23,29-32].在控制論的支持下,自動(dòng)合成的控制器使整個(gè)自適應(yīng)軟件系統(tǒng)的行為理論上遵循所需的控制屬性[33],如穩(wěn)定性、準(zhǔn)確性、趨穩(wěn)性和低超調(diào)性.這些理論保證的控制屬性使得實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)在運(yùn)行中能夠優(yōu)化且可靠地滿足系統(tǒng)目標(biāo).
下面基于SWaT系統(tǒng)[34]進(jìn)一步說(shuō)明控制型自適應(yīng)軟件系統(tǒng)的運(yùn)行架構(gòu)和開(kāi)發(fā)過(guò)程.如圖3所示,SWaT是一個(gè)縮小版的水處理系統(tǒng),可生產(chǎn)雙重過(guò)濾的飲用水.該系統(tǒng)主要通過(guò)管理控制5個(gè)相連的水箱及其各自的進(jìn)水閥/出水閥以完成系統(tǒng)需求.自適應(yīng)SWaT的目標(biāo)是在不同的環(huán)境條件下(如5個(gè)水箱的不同初始水位),保障水過(guò)濾過(guò)程的可靠性(如無(wú)水箱溢出和空箱),并盡可能提升水處理過(guò)程的優(yōu)化性(如飲用水產(chǎn)量最大化).
Fig. 3 Secure water treatment testbed (SWaT)[34]圖3 安全水處理系統(tǒng)[34]
實(shí)現(xiàn)控制型自適應(yīng)SWaT,首先可使用線性時(shí)不變系統(tǒng)來(lái)描述SWaT:
(1)
基于辨識(shí)的標(biāo)稱模型,開(kāi)發(fā)人員可以利用On-Off控制[35]一套控制器,使SWaT能夠適應(yīng)不同的運(yùn)行環(huán)境.控制論保證了所設(shè)計(jì)的自適應(yīng)SWaT遵循趨穩(wěn)性(即所有水箱的水位應(yīng)快速達(dá)到所需水位,實(shí)現(xiàn)飲用水產(chǎn)量最大化)和低超調(diào)性(即所有水箱水位不會(huì)高/低于上/下警戒線過(guò)多,避免水箱溢出或空箱),保障水處理過(guò)程優(yōu)化且可靠地運(yùn)行.
自適應(yīng)軟件系統(tǒng)常運(yùn)行于動(dòng)態(tài)、開(kāi)放環(huán)境,這使管理系統(tǒng)需要面對(duì)可能超出其設(shè)計(jì)能力范圍的環(huán)境狀況,這對(duì)控制型自適應(yīng)軟件系統(tǒng)而言,將導(dǎo)致標(biāo)稱模型的實(shí)際參數(shù)值偏離其辨識(shí)值.這一偏差會(huì)導(dǎo)致自動(dòng)設(shè)計(jì)的控制器與被管理系統(tǒng)的實(shí)際行為不匹配,從而使控制器不再嚴(yán)格遵守控制屬性,嚴(yán)重時(shí)會(huì)導(dǎo)致軟件系統(tǒng)的異常行為,威脅整個(gè)自適應(yīng)軟件系統(tǒng)的安全.例如,自適應(yīng)SWaT在面臨閥門磨損場(chǎng)景[36]時(shí),其對(duì)應(yīng)閥門的水流量減小,會(huì)使控制器的趨穩(wěn)性失效,降低飲用水產(chǎn)量.該系統(tǒng)在傳感器數(shù)據(jù)篡改場(chǎng)景[25]時(shí),控制器會(huì)生成錯(cuò)誤的控制信號(hào),使其反饋控制環(huán)的趨穩(wěn)性和低超調(diào)性失效,直接導(dǎo)致水箱溢出或空箱.
實(shí)際運(yùn)行環(huán)境中,根據(jù)不同的模型偏差產(chǎn)生原因,模型偏差場(chǎng)景會(huì)體現(xiàn)出不同的特性.在上文的例子中,閥門磨損會(huì)導(dǎo)致被管理系統(tǒng)標(biāo)稱模型可控屬性對(duì)應(yīng)參數(shù)值緩慢、定向變化,外在表現(xiàn)為水位實(shí)測(cè)值的緩慢變化;而篡改傳感器數(shù)據(jù)會(huì)導(dǎo)致被管理系統(tǒng)標(biāo)稱模型可控屬性對(duì)應(yīng)參數(shù)值的快速、非定向變化,外在表現(xiàn)為水位實(shí)測(cè)值的快速變化.
現(xiàn)有模型偏差檢測(cè)方法在面對(duì)不同特性的模型偏差場(chǎng)景時(shí)會(huì)展現(xiàn)出不同的性能.Tong等人[10]基于自適應(yīng)SWaT的實(shí)驗(yàn)表明,同一種檢測(cè)方法在不同場(chǎng)景下性能的差異程度會(huì)相當(dāng)顯著.例如,基于滑窗的系統(tǒng)輸出檢測(cè)方法(即檢測(cè)水箱水位變化是否超出給定范圍)在閥門磨損場(chǎng)景下,其性能顯著差于其他2種比較方法;而在傳感器數(shù)據(jù)篡改場(chǎng)景下,該檢測(cè)方法的性能以微弱優(yōu)勢(shì)領(lǐng)先Tong等人[10]提出的最新方法,并大幅領(lǐng)先另一比較方法.
基于這一觀察,本文認(rèn)為除了在技術(shù)層面上改進(jìn)模型偏差檢測(cè)方法,對(duì)不同模型偏差檢測(cè)方法適用的模型偏差場(chǎng)景進(jìn)行研究,也有助于提高自適應(yīng)軟件系統(tǒng)的整體可靠性.因此本文的研究問(wèn)題是如何為控制型自適應(yīng)軟件系統(tǒng)選取有效的模型偏差檢測(cè)方法.
具體而言,使用檢測(cè)時(shí)延和檢測(cè)準(zhǔn)確度2個(gè)方面評(píng)價(jià)模型偏差檢測(cè)方法的有效性.其中,檢測(cè)時(shí)延是指從自適應(yīng)軟件系統(tǒng)發(fā)生模型偏差到檢測(cè)方法發(fā)現(xiàn)該模型偏差的時(shí)間間隔.檢測(cè)準(zhǔn)確度包括2個(gè)維度,即漏報(bào)率和誤報(bào)率.漏報(bào)率是指在模型偏差場(chǎng)景下,檢測(cè)方法沒(méi)有發(fā)現(xiàn)模型偏差的概率;而誤報(bào)率是指在正常運(yùn)行場(chǎng)景下,檢測(cè)方法錯(cuò)誤報(bào)告模型偏差的概率.基于這3個(gè)指標(biāo),有效的模型偏差檢測(cè)方法即指檢測(cè)的時(shí)延低、漏報(bào)率低和誤報(bào)率低.
為了探索各檢測(cè)方法的適用性,需構(gòu)建模型偏差檢測(cè)框架,分析影響模型偏差檢測(cè)有效性的因素.基于對(duì)現(xiàn)有模型偏差檢測(cè)過(guò)程的觀察,控制型自適應(yīng)軟件系統(tǒng)的模型偏差檢測(cè)方法主要由系統(tǒng)建模、檢測(cè)變量估計(jì)、模型偏差表示以及模型偏差判斷4個(gè)部分組成.由此,本文提出可以使用式(2)~(5)組成的框架統(tǒng)一描述分析模型偏差檢測(cè)方法.
系統(tǒng)建模:
(2)
檢測(cè)變量估計(jì):
PΣ(T)=Φ(Σ(P)|D(T)).
(3)
模型偏差表示:
ΘMD=Ψ(Σ(P)).
(4)
模型偏差判斷:
Alarm(T)=I(PΣ(T)|ΘMD).
(5)
x(k)表示5個(gè)水箱當(dāng)前進(jìn)、出水狀態(tài),y(k)表示5個(gè)水箱水位實(shí)測(cè)值.模型輸入矩陣為
x(k-1)表示5個(gè)水箱歷史進(jìn)、出水狀態(tài),u(k-1)表示所有閥門當(dāng)前的控制信號(hào).模型參數(shù)矩陣為
A代表系統(tǒng)的延遲屬性,B代表系統(tǒng)的可控屬性,C代表系統(tǒng)的可觀測(cè)屬性.則其辨識(shí)模型參數(shù)矩陣為
式(3)描述了模型偏差檢測(cè)方法選取檢測(cè)變量及對(duì)檢測(cè)變量進(jìn)行的估測(cè).具體而言,首先確定檢測(cè)的模型參數(shù)(即檢測(cè)變量PΣ),再根據(jù)觀測(cè)變量序列D(T)(即包含模型輸入、輸出矩陣變量的序列)估計(jì)檢測(cè)變量值.其中Σ表示模型參數(shù)的選擇運(yùn)算.對(duì)于自適應(yīng)SWaT,基于式(3),Tong等人[10]提出的MoD2檢測(cè)方法的檢測(cè)周期取值為1次自適應(yīng)環(huán)迭代(即檢測(cè)周期等同于自適應(yīng)周期),并選擇可控屬性對(duì)應(yīng)的模型參數(shù)(即B)作為檢測(cè)變量.MoD2檢測(cè)方法依據(jù)的觀測(cè)變量序列包括水箱水位值序列和閥門控制信號(hào)序列.
式(4)所示確定自適應(yīng)軟件系統(tǒng)的模型偏差表示.其中Ψ表示使用數(shù)據(jù)驅(qū)動(dòng)、人工經(jīng)驗(yàn)或理論推導(dǎo)等方法獲取檢測(cè)變量值的安全區(qū)域.檢測(cè)變量值在這個(gè)安全區(qū)域內(nèi),控制型自適應(yīng)軟件系統(tǒng)的可靠和優(yōu)化運(yùn)行存在理論保證,而檢測(cè)變量值一旦超出這個(gè)安全區(qū)域,理論保證將會(huì)失效,可能導(dǎo)致系統(tǒng)行為異常.因此,模型偏差表示ΘMD可描述為檢測(cè)變量值安全區(qū)域的補(bǔ)集.對(duì)于自適應(yīng)SWaT,基于式(4),Tong等人[10]提出的MoD2檢測(cè)方法通過(guò)頻域分析決定其安全區(qū)域Ψ.具體而言,Ψ描述了可使自適應(yīng)SWaT的控制器正常運(yùn)作的控制參數(shù)B的取值范圍.
式(5)所示每個(gè)檢測(cè)周期判斷檢測(cè)變量估計(jì)值是否符合模型偏差表示.如果符合,則發(fā)出警報(bào),即Alarm(T)=1,可觸發(fā)模型偏差補(bǔ)救機(jī)制.對(duì)于自適應(yīng)SWaT,基于式(5),Tong等人[10]提出的MoD2檢測(cè)方法通過(guò)計(jì)算當(dāng)前估測(cè)的控制參數(shù)值處于安全區(qū)間內(nèi)的置信度,決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.
基于前述的模型偏差檢測(cè)理論框架,介紹4種主流模型偏差檢測(cè)方法(基于式(2)~(5)的詳細(xì)描述請(qǐng)見(jiàn)技術(shù)文檔[37]).
基于滑窗的系統(tǒng)輸出檢測(cè)方法SWDetector通過(guò)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)輸出變化是否符合給定數(shù)值范圍來(lái)檢測(cè)模型偏差,并使用滑動(dòng)窗口平滑非確定性的影響[38].Filieri等人[9]在引入控制論實(shí)現(xiàn)自適應(yīng)時(shí),也一并引入該檢測(cè)方法以應(yīng)對(duì)模型偏差問(wèn)題.
在系統(tǒng)模型方面,SWDetector使用自回歸模型描述控制型自適應(yīng)軟件系統(tǒng).在檢測(cè)變量估計(jì)方面,SWDetector使用系統(tǒng)輸出的變化量(即前后2次自適應(yīng)迭代中系統(tǒng)輸出的差值)作為其檢測(cè)變量,并通過(guò)滑動(dòng)窗口平滑觀測(cè)誤差對(duì)該變化量的影響.在模型偏差表示方面,SWDetector基于觀測(cè)數(shù)據(jù)決定系統(tǒng)輸出變化值的安全區(qū)域.首先使用系統(tǒng)化采樣的方法收集被管理系統(tǒng)正常運(yùn)行時(shí)的運(yùn)行數(shù)據(jù),再根據(jù)系統(tǒng)模型計(jì)算出正常運(yùn)行下被管理系統(tǒng)系統(tǒng)輸出變化的取值范圍作為安全區(qū)域.在模型偏差判斷方面,SWDetector通過(guò)比較當(dāng)前估計(jì)的系統(tǒng)輸出變化值是否處于其安全區(qū)域內(nèi),決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.
基于滑窗的系統(tǒng)輸出檢測(cè)方法ARMA通過(guò)監(jiān)測(cè)系統(tǒng)輸出模型預(yù)測(cè)值和當(dāng)前實(shí)際測(cè)量值之間的差值是否超出正常誤差范圍來(lái)判斷是否發(fā)生模型偏差[39-45].He等人[22]引入該方法檢測(cè)由于軟件缺陷導(dǎo)致的模型偏差.
在系統(tǒng)模型方面,ARMA同樣使用自回歸模型描述控制型自適應(yīng)軟件系統(tǒng)[46].在檢測(cè)變量估計(jì)方面,ARMA使用系統(tǒng)輸出的預(yù)測(cè)誤差(即基于系統(tǒng)模型的系統(tǒng)輸出預(yù)測(cè)值和基于實(shí)際觀測(cè)的系統(tǒng)輸出實(shí)測(cè)值的差)作為檢測(cè)變量.ARMA同樣通過(guò)滑動(dòng)窗口平滑觀測(cè)誤差對(duì)該檢測(cè)變量的影響.在模型偏差表示方面,ARMA亦基于觀測(cè)數(shù)據(jù)決定檢測(cè)變量的安全區(qū)域.與SWDetector不同的是,ARMA使用檢測(cè)變量的概率分布,而非取值范圍,作為其安全區(qū)域的基礎(chǔ).在模型偏差判斷方面,ARMA通過(guò)計(jì)算當(dāng)前估計(jì)的辨識(shí)誤差值處于概率分布3 sigma或6 sigma范圍內(nèi)的置信度[22],決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.
基于矩陣計(jì)算的參數(shù)檢測(cè)方法Direct通過(guò)監(jiān)測(cè)矩陣計(jì)算得出的實(shí)際參數(shù)值是否超出安全區(qū)域來(lái)判斷是否發(fā)生模型偏差[24,47-48],并使用滑動(dòng)窗口平滑非確定性的影響.
在系統(tǒng)模型方面,Direct使用線性時(shí)不變系統(tǒng)為描述自適應(yīng)軟件系統(tǒng)的基礎(chǔ)模型,并引入環(huán)境輸入補(bǔ)償項(xiàng)對(duì)系統(tǒng)模型進(jìn)行精化.在檢測(cè)變量估計(jì)方面,Direct關(guān)注于系統(tǒng)模型的內(nèi)部參數(shù)(即模型參數(shù)矩陣P的某一分量),基于當(dāng)前(本自適應(yīng)環(huán)中的)觀測(cè)值直接推導(dǎo)該參數(shù)的當(dāng)前值.Direct同樣通過(guò)滑動(dòng)窗口平滑觀測(cè)誤差對(duì)該檢測(cè)變量的影響在模型偏差表示方面,Direct通過(guò)頻域分析推導(dǎo)可使控制型自適應(yīng)軟件系統(tǒng)的控制器正常運(yùn)作的內(nèi)部參數(shù)的取值范圍.在模型偏差判斷方面,Direct通過(guò)比較當(dāng)前估計(jì)的控制參數(shù)值是否處于其正常取值范圍,決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.
基于貝葉斯的參數(shù)估計(jì)檢測(cè)方法MoD2通過(guò)監(jiān)測(cè)估計(jì)的模型參數(shù)后驗(yàn)分布是否處于安全區(qū)域來(lái)判斷是否發(fā)生模型偏差[49-50].Tong等人[10]考慮模型參數(shù)值的內(nèi)部抖動(dòng)和各種觀測(cè)誤差提出了基于貝葉斯的模型導(dǎo)向偏差檢測(cè)方法.
在系統(tǒng)模型方面,MoD2同樣使用線性時(shí)不變系統(tǒng)為描述自適應(yīng)軟件系統(tǒng)的基礎(chǔ)模型,并引入非確定性補(bǔ)償項(xiàng)對(duì)系統(tǒng)模型進(jìn)行精化.在檢測(cè)變量估計(jì)方面,MoD2關(guān)注于系統(tǒng)模型的內(nèi)部參數(shù)(即模型參數(shù)矩陣P的某一分量).MoD2額外考慮該參數(shù)隨時(shí)間變化的系統(tǒng)噪聲,將其建模為線性時(shí)變隨機(jī)變量,通過(guò)貝葉斯過(guò)程實(shí)時(shí)估算該參數(shù)的概率分布.在模型偏差表示方面,MoD2通過(guò)頻域分析推導(dǎo)可使控制型自適應(yīng)軟件系統(tǒng)的控制器正常運(yùn)作的內(nèi)部參數(shù)的取值范圍,并將該范圍作為安全區(qū)域.在模型偏差判斷方面,MoD2通過(guò)計(jì)算當(dāng)前估測(cè)的控制參數(shù)值處于安全區(qū)域內(nèi)的置信度,決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.
模型偏差檢測(cè)的理論框架刻畫了現(xiàn)有模型偏差檢測(cè)方法的主要流程.結(jié)合圖2所示的控制型自適應(yīng)軟件系統(tǒng)的基本架構(gòu),本文認(rèn)為,影響檢測(cè)有效性的主要因素包括控制信號(hào)、環(huán)境輸入以及非確定性這3方面.下面分別對(duì)其進(jìn)行討論.
控制信號(hào)是控制型自適應(yīng)軟件系統(tǒng)中連接控制器和被管理系統(tǒng)的變量,直接決定了控制型自適應(yīng)軟件系統(tǒng)應(yīng)對(duì)運(yùn)行環(huán)境變化的適應(yīng)能力.在模型偏差發(fā)生的過(guò)程中,控制器依照原有系統(tǒng)模型(式(2))所產(chǎn)生的控制信號(hào)不再能夠高效、可靠地調(diào)節(jié)被管理系統(tǒng)的行為,這是導(dǎo)致系統(tǒng)異常狀態(tài)的直接原因.因此檢測(cè)方法能否有效刻畫控制信號(hào)在控制型自適應(yīng)軟件系統(tǒng)中的作用,決定了其能否準(zhǔn)確描述因模型偏差導(dǎo)致的系統(tǒng)行為,也就決定了其能否有效地檢測(cè)模型偏差現(xiàn)象.
控制信號(hào)除了是系統(tǒng)模型(式(2))中的重要變量外,也對(duì)檢測(cè)變量估計(jì)(式(3))和模型偏差表示(式(4))產(chǎn)生了一定的影響.在檢測(cè)變量估計(jì)中,控制信號(hào)決定了觀測(cè)變量序列D(T)到檢測(cè)變量PΣ的映射關(guān)系.當(dāng)控制信號(hào)能有效調(diào)節(jié)被管理系統(tǒng)行為時(shí),該映射關(guān)系應(yīng)符合系統(tǒng)模型的描述,即表示檢測(cè)方法能夠獲取較準(zhǔn)確的檢測(cè)變量值;反之,檢測(cè)方法對(duì)于檢測(cè)變量的估算會(huì)存在較大的誤差.在模型偏差表示中,控制信號(hào)主要影響安全區(qū)域所依賴的檢測(cè)變量的個(gè)數(shù),即需要從多少個(gè)自適應(yīng)環(huán)中估算其對(duì)應(yīng)的檢測(cè)變量.如果控制信號(hào)在被管理系統(tǒng)的行為上存在放大效應(yīng)(即控制信號(hào)的微小改變會(huì)引起被管理系統(tǒng)行為的較大波動(dòng)),則安全區(qū)域所依賴的檢測(cè)變量的個(gè)數(shù)應(yīng)當(dāng)盡可能小,以防止模型偏差導(dǎo)致正常系統(tǒng)行為在較短時(shí)間內(nèi)快速發(fā)展為異常系統(tǒng)行為.反之,若控制信號(hào)在被管理系統(tǒng)的行為上存在縮小效應(yīng),則安全區(qū)域所依賴的檢測(cè)變量的個(gè)數(shù)可以適量增加,犧牲及時(shí)性以換取模型偏差檢測(cè)的準(zhǔn)確性.
環(huán)境輸入描述了控制型自適應(yīng)軟件系統(tǒng)獲取到的外部環(huán)境信息.控制型自適應(yīng)軟件系統(tǒng)需要根據(jù)環(huán)境輸入判斷外部環(huán)境狀況并調(diào)整自身行為.為了增強(qiáng)自適應(yīng)系統(tǒng)應(yīng)對(duì)不同環(huán)境的能力,在設(shè)計(jì)開(kāi)發(fā)此類系統(tǒng)時(shí),通常會(huì)盡可能多地采樣被控制系統(tǒng)在不同環(huán)境下的運(yùn)行,并以此確定控制型自適應(yīng)軟件系統(tǒng)的適用范圍.當(dāng)系統(tǒng)運(yùn)行于某一未采樣的環(huán)境中時(shí),若該環(huán)境的特性不同于已采樣的環(huán)境,則系統(tǒng)在該環(huán)境中運(yùn)行時(shí)有較大可能發(fā)生模型偏差現(xiàn)象.
從檢測(cè)模型偏差的角度出發(fā),環(huán)境輸入的多樣性反映了模型偏差表示(式(4))中的安全范圍.設(shè)計(jì)階段采樣的環(huán)境輸入多樣性越高,則對(duì)應(yīng)劃定的安全范圍越大.運(yùn)行階段實(shí)際的環(huán)境輸入多樣性越高,則當(dāng)前環(huán)境特性超出已劃定的安全范圍的可能性就越高.因此模型偏差檢測(cè)方法能否有效反映不同環(huán)境輸入下對(duì)應(yīng)的模型偏差安全范圍,決定了其能否準(zhǔn)確判斷當(dāng)前系統(tǒng)行為是否超出了安全范圍,也就決定了其能否有效地檢測(cè)模型偏差現(xiàn)象.
除此之外,環(huán)境輸入也影響著模型偏差檢測(cè)的系統(tǒng)模型(式(2))和檢測(cè)變量估計(jì)(式(3)).對(duì)前者而言,在建模中補(bǔ)償環(huán)境輸入對(duì)系統(tǒng)輸出的影響有利于模型對(duì)被管理系統(tǒng)行為的精確描述;對(duì)后者而言,環(huán)境輸入決定了觀測(cè)變量序列D(T)的特征(如系統(tǒng)輸出序列的高、低抖動(dòng)),影響對(duì)檢測(cè)變量的估計(jì).
非確定性描述了存在于控制型自適應(yīng)軟件系統(tǒng)觀測(cè)變量(如控制信號(hào)、系統(tǒng)輸出和環(huán)境輸入)的誤差.在模型誤差檢測(cè)的過(guò)程中,非確定性會(huì)使檢測(cè)變量估計(jì)(式(3))中所依據(jù)的觀測(cè)變量序列D(T)的值偏離其實(shí)際值.而這種數(shù)值上的偏離又具有累加效應(yīng).如對(duì)于線性時(shí)變系統(tǒng)這類保留歷史狀態(tài)信息的系統(tǒng)模型而言,觀測(cè)變量的誤差會(huì)導(dǎo)致對(duì)系統(tǒng)內(nèi)部參數(shù)的估計(jì)誤差,而估計(jì)誤差會(huì)隨著自適應(yīng)環(huán)數(shù)量的增加而累計(jì),最終造成對(duì)檢測(cè)變量的估計(jì)產(chǎn)生較大的誤導(dǎo).因此,檢測(cè)方法能否有效處理非確定性對(duì)檢測(cè)變量估計(jì)的不良影響,決定了其能否準(zhǔn)確地獲取檢測(cè)變量的估計(jì)值,也就決定了其對(duì)模型偏差檢測(cè)的準(zhǔn)確性.
非確定性除了對(duì)檢測(cè)變量估計(jì)(式(3))具有重要影響外,還對(duì)系統(tǒng)建模(式(2))和模型偏差表示(式(4))具有一定的影響.對(duì)前者而言,刻畫非確定性有助于更加精確地描述被管理系統(tǒng)的行為;對(duì)后者而言,收集的運(yùn)行記錄中各變量的不確定性也會(huì)為檢測(cè)變量的估計(jì)引入誤差,影響檢測(cè)的準(zhǔn)確度.
基于模型偏差檢測(cè)的理論框架,根據(jù)2.4節(jié)歸納得到的影響檢測(cè)有效性的3個(gè)主要因素,即控制信號(hào)、環(huán)境輸入和非確定性,提出了3個(gè)特性指標(biāo),即控制信號(hào)強(qiáng)度、環(huán)境輸入強(qiáng)度和非確定性強(qiáng)度,用于建立偏差場(chǎng)景特性的評(píng)價(jià)體系,并定義了這3個(gè)指標(biāo)的量化公式.具體而言,各特性指標(biāo)的量化公式為一個(gè)比值,其分子部分定量描述了各因素變化范圍的峰值,分母部分對(duì)該峰值基于系統(tǒng)輸出變化范圍進(jìn)行歸一化處理.以自適應(yīng)SWaT為例,各量化公式的分子部分分別表示因控制強(qiáng)度、環(huán)境輸入和非確定性變化導(dǎo)致的水箱水位的變化峰值,而分母部分統(tǒng)一為水箱水位的變化范圍值.
控制信號(hào)強(qiáng)度IC描述了自適應(yīng)軟件系統(tǒng)中控制信號(hào)變化對(duì)模型偏差檢測(cè)有效性影響的強(qiáng)度,其量化公式為
(6)
在式(6)中,分子表示控制信號(hào)對(duì)應(yīng)的系統(tǒng)輸出變化預(yù)測(cè)值.某一場(chǎng)景下,控制信號(hào)強(qiáng)度IC值越高,說(shuō)明該場(chǎng)景下的系統(tǒng)輸出越接近正常情況下的系統(tǒng)輸出;控制信號(hào)強(qiáng)度IC值越低,則說(shuō)明該場(chǎng)景下的系統(tǒng)輸出與正常情況系統(tǒng)輸出的區(qū)分度越高.
環(huán)境輸入強(qiáng)度IE描述了自適應(yīng)軟件系統(tǒng)中環(huán)境輸入變化對(duì)模型偏差檢測(cè)有效性影響的強(qiáng)度,其量化公式為
(7)
其中,γ表示環(huán)境輸入對(duì)系統(tǒng)內(nèi)部狀態(tài)線性影響的系數(shù),可在自適應(yīng)軟件系統(tǒng)設(shè)計(jì)階段辨識(shí)獲得;a(i,j)表示第i個(gè)運(yùn)行記錄在第j個(gè)自適應(yīng)環(huán)的實(shí)測(cè)環(huán)境輸入;其他符號(hào)表示同式(6).
在式(7)中,分子表示環(huán)境輸入變化導(dǎo)致系統(tǒng)輸出最大變化的預(yù)測(cè)值.某一場(chǎng)景下,環(huán)境輸入強(qiáng)度IE值越高,說(shuō)明該場(chǎng)景下因環(huán)境輸入變化引起的系統(tǒng)輸出抖動(dòng)越大;環(huán)境輸入強(qiáng)度IE值越低說(shuō)明該場(chǎng)景下因環(huán)境輸入變化引起的系統(tǒng)輸出抖動(dòng)越小.
在自適應(yīng)SWaT中,式(7)分子部分對(duì)應(yīng)表示物理環(huán)境輸入變化導(dǎo)致各水箱水位最大變化的預(yù)測(cè)值.在某一模型偏差場(chǎng)景中,環(huán)境輸入強(qiáng)度IE值越高,說(shuō)明因環(huán)境輸入變化導(dǎo)致的水箱水位抖動(dòng)越大;環(huán)境輸入強(qiáng)度IE值越低,說(shuō)明因環(huán)境輸入變化導(dǎo)致的水箱水位抖動(dòng)越小.
非確定性強(qiáng)度IU描述了自適應(yīng)軟件系統(tǒng)中非確定性對(duì)模型偏差檢測(cè)有效性影響的強(qiáng)度.這里的非確定性主要是基于自適應(yīng)軟件系統(tǒng)模型的各類觀測(cè)誤差,包括對(duì)控制信號(hào)、環(huán)境輸入和系統(tǒng)輸出的觀測(cè)誤差等.由于大多數(shù)觀測(cè)誤差均可以使用均值為0、方差為σ的正態(tài)分布進(jìn)行描述,因此本文使用一個(gè)均值為0、方差為R的正態(tài)分布統(tǒng)一描述觀測(cè)誤差:
(8)
其中Q,W,V分別為控制信號(hào)觀測(cè)誤差的方差、環(huán)境輸入觀測(cè)誤差的方差和系統(tǒng)輸出觀測(cè)誤差的方差.
基于R,非確定性強(qiáng)度的量化公式為
(9)
其中m表示系統(tǒng)輸出變化最大誤差值相對(duì)于綜合觀測(cè)誤差標(biāo)準(zhǔn)差的倍數(shù).例如,根據(jù)正態(tài)分布的3 sigma準(zhǔn)則,m=6.其他符號(hào)表示同式(6).
在式(9)中,分子表示系統(tǒng)輸出變化測(cè)量最大誤差值.某一場(chǎng)景下,非確定性強(qiáng)度IU值越高說(shuō)明該場(chǎng)景下的系統(tǒng)輸出實(shí)測(cè)值的誤差越大;非確定性強(qiáng)度IU值越低說(shuō)明該場(chǎng)景下的系統(tǒng)輸出實(shí)測(cè)值的誤差越小.
在自適應(yīng)SWaT中,式(9)分子部分對(duì)應(yīng)表示各水箱水位變化測(cè)量最大誤差值.在某一模型偏差場(chǎng)景中,非確定性強(qiáng)度IU值越高說(shuō)明水箱水位的誤差值越大;非確定性強(qiáng)度IU值越低說(shuō)明水箱水位的誤差值越小.
基于3個(gè)控制型自適應(yīng)軟件系統(tǒng),本文設(shè)計(jì)了不同的運(yùn)行場(chǎng)景(包括被管理系統(tǒng)發(fā)生模型偏差的偏差場(chǎng)景和未發(fā)生模型偏差的正常場(chǎng)景),并在這些運(yùn)行場(chǎng)景下比較2.3節(jié)所述的4種模型偏差檢測(cè)方法的有效性.實(shí)驗(yàn)?zāi)繕?biāo)在于回答2個(gè)研究問(wèn)題:
問(wèn)題1. 4種模型偏差檢測(cè)方法,即SWDetector,ARMA,Direct,MoD2,在不同運(yùn)行場(chǎng)景中對(duì)模型偏差現(xiàn)象的檢測(cè)效果如何.
問(wèn)題2. 4種模型偏差檢測(cè)方法各自適用的運(yùn)行場(chǎng)景,分別可以用哪些特性指標(biāo)區(qū)間加以刻畫.
所有實(shí)驗(yàn)運(yùn)行于1臺(tái)配有8個(gè)CPU、16 GB內(nèi)存的阿里云ECS服務(wù)器上.
4.1.1 實(shí)驗(yàn)對(duì)象
一個(gè)實(shí)驗(yàn)對(duì)象是由一個(gè)被管理系統(tǒng)及其對(duì)應(yīng)的控制器共同組成的一個(gè)控制型自適應(yīng)軟件系統(tǒng).從自適應(yīng)軟件系統(tǒng)相關(guān)研究中選取3個(gè)常用軟件系統(tǒng)作為被管理系統(tǒng),同時(shí)基于已有工作為每個(gè)被管理系統(tǒng)提供相應(yīng)的控制器.具體的3個(gè)實(shí)驗(yàn)對(duì)象的被管理系統(tǒng)和控制器為:
1) SWaT.如1.2節(jié)所述,SWaT的被管理系統(tǒng)是一個(gè)生產(chǎn)雙重過(guò)濾飲用水的水處理系統(tǒng).其控制器是由SWaT的開(kāi)發(fā)人員基于控制論和領(lǐng)域知識(shí)精心設(shè)計(jì)的可編程邏輯控制器[25],保障水箱無(wú)溢出和空箱且凈水產(chǎn)量最大化.
2) RUBiS.RUBiS的被管理系統(tǒng)是一個(gè)網(wǎng)絡(luò)拍賣系統(tǒng),常作為控制型自適應(yīng)研究的實(shí)驗(yàn)對(duì)象[12,26,51].其控制器是一個(gè)依據(jù)PBM框架[9]設(shè)計(jì)的PID控制器,通過(guò)對(duì)服務(wù)器數(shù)量、工作狀態(tài)的伸縮來(lái)適應(yīng)用戶負(fù)載,保障網(wǎng)站運(yùn)營(yíng)的快速響應(yīng)和高資源利用率.
3) Encoder.Encoder的被管理系統(tǒng)是一個(gè)在線視頻壓縮系統(tǒng),也常作為控制型自適應(yīng)研究的實(shí)驗(yàn)對(duì)象[30,32,52].同樣地,其控制器是一個(gè)依據(jù)PBM框架[9]設(shè)計(jì)的PID控制器,通過(guò)調(diào)整壓縮算法的參數(shù)以平衡視頻吞吐量和視頻質(zhì)量,保障流暢和清晰的視頻流傳輸.
4.1.2 場(chǎng)景設(shè)計(jì)
運(yùn)行場(chǎng)景的設(shè)計(jì)是基于一個(gè)五元組(envini,envdev,paraini,paradev,t).其中,envini和envdev分別表示正常情況和模型偏差下的環(huán)境輸入,paraini和paradev分別表示正常情況和模型偏差下的模型參數(shù),t表示模型偏差發(fā)生的時(shí)間點(diǎn).實(shí)驗(yàn)對(duì)象首先依據(jù)envini和paraini進(jìn)行初始化,當(dāng)發(fā)生模型偏差時(shí),環(huán)境輸入變?yōu)閑nvdev,模型參數(shù)變?yōu)閜aradev.
基于五元組的表示方法,根據(jù)已有工作將3個(gè)實(shí)驗(yàn)對(duì)象的運(yùn)行劃分為9個(gè)不同的運(yùn)行場(chǎng)景,包括4個(gè)正常運(yùn)行場(chǎng)景和5個(gè)模型偏差場(chǎng)景.每個(gè)運(yùn)行場(chǎng)景對(duì)應(yīng)于1個(gè)場(chǎng)景配置集合,具體如表1所示:
Table 1 Scenario Configurations表1 場(chǎng)景配置
在正常運(yùn)行場(chǎng)景中,整個(gè)自適應(yīng)軟件系統(tǒng)的envini=envdev且paraini=paradev,該場(chǎng)景配置下的運(yùn)行記錄稱為陰性運(yùn)行記錄.在模型偏差場(chǎng)景中,當(dāng)發(fā)生模型偏差時(shí),envini或paraini改變?yōu)椴煌膃nvdev或paradev,該場(chǎng)景配置下的運(yùn)行記錄稱為陽(yáng)性運(yùn)行記錄.
正常運(yùn)行場(chǎng)景對(duì)應(yīng)的場(chǎng)景配置集合(即SWaT1,RUBiS1,RUBiS2)覆蓋了現(xiàn)有工作對(duì)實(shí)驗(yàn)對(duì)象的原始設(shè)置[12].由于原始數(shù)據(jù)不可獲取,Encoder1不能覆蓋文獻(xiàn)[9]的原始設(shè)置,可根據(jù)文獻(xiàn)的描述生成場(chǎng)景配置.SWaT模型偏差場(chǎng)景對(duì)應(yīng)的場(chǎng)景配置集合(即SWaT2,SWaT3,SWaT4)覆蓋了SWaT中報(bào)告的模型偏差[25],包括物理摩擦磨損閥門導(dǎo)致的模型偏差(即SWaT2)、網(wǎng)絡(luò)攻擊篡改水位傳感器數(shù)值導(dǎo)致的模型偏差(即SWaT3)和網(wǎng)絡(luò)攻擊閥門控制信號(hào)導(dǎo)致的模型偏差(即SWaT4).RUBiS模型偏差場(chǎng)景對(duì)應(yīng)的場(chǎng)景配置集合(即RUBiS3)覆蓋了RUBiS系統(tǒng)已知的模型偏差設(shè)置[55],即系統(tǒng)配置和運(yùn)行環(huán)境不匹配.Encoder模型偏差場(chǎng)景對(duì)應(yīng)的場(chǎng)景配置集合(即Encoder2)根據(jù)經(jīng)驗(yàn)設(shè)計(jì)生成.SWaT3,SWaT4,RUBiS1,RUBiS3分別含有125,75,98,102個(gè)場(chǎng)景配置,而其他場(chǎng)景配置集合皆含有200個(gè)場(chǎng)景配置.
4.1.3 場(chǎng)景劃分
對(duì)于一個(gè)運(yùn)行場(chǎng)景,基于第3節(jié)提出的3個(gè)特性指標(biāo)的量化值,進(jìn)一步分類為6種特性場(chǎng)景之一.根據(jù)控制論中被廣泛使用的穩(wěn)態(tài)下外部波動(dòng)導(dǎo)致的系統(tǒng)輸出變化幅度不超過(guò)實(shí)際系統(tǒng)輸出變化范圍的5%這一假設(shè)[22],本文使用0.05作為劃分各特性指標(biāo)量化值的閾值,因?yàn)樘匦灾笜?biāo)量化值本身已經(jīng)在系統(tǒng)輸出變化范圍上進(jìn)行了歸一化.
具體而言,根據(jù)控制信號(hào)強(qiáng)度值將運(yùn)行場(chǎng)景劃分為高控制影響場(chǎng)景IC↑(即控制信號(hào)強(qiáng)度矩陣IC中存在元素值大于0.05)和低控制影響場(chǎng)景IC↓(即控制信號(hào)強(qiáng)度矩陣IC的所有元素值都小于0.05).同理可劃分高、低環(huán)境影響場(chǎng)景IE↑和IE↓與高、低非確定性影響場(chǎng)景IU↑和IU↓.
根據(jù)所提出的3個(gè)特性指標(biāo)計(jì)算9個(gè)運(yùn)行場(chǎng)景的特性指標(biāo),并歸類到劃分的6種特性場(chǎng)景中,具體如表2所示:
Table 2 Scenario Characteristics表2 場(chǎng)景特性
在SWaT中,傳感器數(shù)據(jù)篡改場(chǎng)景(即SWaT3)下,系統(tǒng)輸出變化顯著,使其控制信號(hào)強(qiáng)度指標(biāo)矩陣和非確定性強(qiáng)度指標(biāo)矩陣元素值均為0.00,即SWaT3屬于低控制影響場(chǎng)景和低非確定性影響場(chǎng)景,而其他3個(gè)運(yùn)行場(chǎng)景(即SWaT1,SWaT2,SWaT4)下的系統(tǒng)輸出變化較小,使其控制信號(hào)強(qiáng)度指標(biāo)矩陣和非確定性強(qiáng)度指標(biāo)矩陣元素值均大于0.05,即SWaT1,SWaT2,SWaT4屬于高控制影響場(chǎng)景.閥門磨損場(chǎng)景(即SWaT2)下,閥門進(jìn)、出水的流速因物理環(huán)境輸入(即物理摩擦)顯著變化,使其環(huán)境輸入強(qiáng)度指標(biāo)矩陣元素值大于0.05,即SWaT2屬于高環(huán)境影響場(chǎng)景,而其他3個(gè)運(yùn)行場(chǎng)景(即SWaT1,SWaT3,SWaT4)的環(huán)境輸入對(duì)系統(tǒng)輸出沒(méi)有影響,即SWaT1,SWaT3,SWaT4屬于低環(huán)境影響場(chǎng)景.
在RUBiS中,低、高負(fù)載抖動(dòng)運(yùn)行場(chǎng)景(即RUBiS1和RUBiS2)下的系統(tǒng)輸出變化較小,使其3個(gè)特性指標(biāo)矩陣元素值均大于0.05,即RUBiS1和RUBiS2都屬于高控制影響場(chǎng)景、高環(huán)境影響場(chǎng)景和高非確定性影響場(chǎng)景.服務(wù)器狀態(tài)切換場(chǎng)景(即RUBiS3)下系統(tǒng)輸出變化較大,使其3個(gè)特性指標(biāo)矩陣元素值均小于0.05,即RUBiS3屬于低控制影響場(chǎng)景、低環(huán)境影響場(chǎng)景和低非確定性影響場(chǎng)景.
在Encoder中,正常運(yùn)行場(chǎng)景(即Encoder1)下的系統(tǒng)輸出變化較小,使其3個(gè)特性指標(biāo)矩陣元素值均大于0.05,即Encoder1屬于高控制影響場(chǎng)景、高環(huán)境影響場(chǎng)景和高非確定性影響場(chǎng)景.視頻快速切換場(chǎng)景(即Encoder2)的系統(tǒng)輸出變化顯著,使其3個(gè)特性指標(biāo)矩陣元素值均小于0.05,即Encoder2屬于低控制影響場(chǎng)景、低環(huán)境影響場(chǎng)景和低非確定性影響場(chǎng)景.
4.1.4 評(píng)價(jià)標(biāo)準(zhǔn)
通過(guò)3個(gè)指標(biāo)評(píng)價(jià)模型偏差檢測(cè)方法在不同運(yùn)行場(chǎng)景下檢測(cè)的有效性.
1) 平均時(shí)間延遲(mean time delay,MTD).陽(yáng)性運(yùn)行記錄從模型偏差時(shí)間點(diǎn)到檢測(cè)報(bào)警時(shí)間點(diǎn)的平均時(shí)間間隔.
2) 漏報(bào)率(false negative,FN).陽(yáng)性運(yùn)行記錄集合中被錯(cuò)誤檢測(cè)為陰性運(yùn)行記錄的百分比.
3) 誤報(bào)率(false positive,FP).陰性運(yùn)行記錄集合中被錯(cuò)誤檢測(cè)為陽(yáng)性運(yùn)行記錄的百分比,或者陽(yáng)性運(yùn)行記錄集合中陰性部分被錯(cuò)誤檢測(cè)為陽(yáng)性的百分比.
實(shí)驗(yàn)針對(duì)問(wèn)題1,統(tǒng)計(jì)9個(gè)運(yùn)行場(chǎng)景下4種主流模型偏差檢測(cè)方法的有效性,歸一化對(duì)比分析每個(gè)運(yùn)行場(chǎng)景的有效檢測(cè)方法;針對(duì)問(wèn)題2,統(tǒng)計(jì)6種特性場(chǎng)景下各檢測(cè)方法的有效性指標(biāo)均值,分析各檢測(cè)方法適用的特性場(chǎng)景范圍.
1) 針對(duì)問(wèn)題1的方法有效性.表3顯示了9個(gè)運(yùn)行場(chǎng)景下4種主流模型偏差檢測(cè)方法的有效性.其中,對(duì)于正常運(yùn)行場(chǎng)景SWaT1,RUBiS1,RUBiS1和Encoder1,指標(biāo)MTD和FN的值為空.
Table 3 Effectiveness of Different Scenarios with Each Detection Approach表3 不同場(chǎng)景下各檢測(cè)方法的有效性
在SWaT正常運(yùn)行場(chǎng)景SWaT1下,SWDetector和MoD2沒(méi)有誤報(bào),Direct的FP值達(dá)到13.5%,而ARMA不適用于該運(yùn)行場(chǎng)景(即FP值為100%).在SWaT閥門磨損場(chǎng)景SWaT2下,MoD2的3個(gè)指標(biāo)值皆顯著低于其他檢測(cè)方法(即MTD值為40.11 s,FN值和FP值皆為0.0%);Direct的FN值和FP值皆顯著低于SWDetector和ARMA,但MTD值最高(即262.41 s);ARMA的3個(gè)指標(biāo)值皆低于SWDetector;SWDetector不僅MTD值高(僅低于Direct),而且FN值和FP值皆最高(即94.5%和96.8%).傳感器數(shù)據(jù)篡改場(chǎng)景SWaT3下,SWDetector和MoD2的MTD值分別為0.05 s和1.69 s,且沒(méi)有漏報(bào)和誤報(bào);Direct的3個(gè)指標(biāo)值皆顯著高于SWDetector和MoD2;而ARMA的3個(gè)指標(biāo)值皆最高(即MTD值為33.21 s,FN值和FP值皆為66.4%).在控制信號(hào)篡改場(chǎng)景SWaT4下,MoD2的MTD值顯著低于SWDetector和Direct,且沒(méi)有漏報(bào)和誤報(bào);Direct的MTD值僅低于SWDetector,FP值僅低于ARMA;SWDetector雖然FP值顯著低于ARMA和Direct,但MTD值最高(即361.00 s)且FN值高于Direct和MoD2;ARMA雖然MTD值最低(即10.00 s),但是FN值和FP值相同且皆最高(即73.3%).
在RUBiS的低負(fù)載抖動(dòng)運(yùn)行場(chǎng)景RUBiS1下,SWDetector沒(méi)有誤報(bào),Direct和MoD2的FP值皆為1.0%,而ARMA的FP值為8.2%;在RUBiS的高負(fù)載抖動(dòng)運(yùn)行場(chǎng)景RUBiS2下,ARMA的FP值為1.0%,而其他3個(gè)檢測(cè)方法沒(méi)有誤報(bào);在RUBiS的服務(wù)器狀態(tài)切換場(chǎng)景RUBiS3下,Direct和MoD2指標(biāo)值相同(即MTD值為0.30 s,FN值和FP值皆為0.0%),SWDetector的MTD值最低(即0.00 s),但FN值和FP值皆高于Direct和MoD2,ARMA的MTD值、FN值和FP值皆最高(即5.78 s,6.5%,6.5%).
在Encoder正常運(yùn)行場(chǎng)景Encoder1下,SWDetector和Direct皆沒(méi)有誤報(bào),MoD2的FP值為2.5%,而ARMA的FP值高達(dá)98.5%.在Encoder的視頻快速切換場(chǎng)景Encoder2下,MoD2的MTD值為0.00 s,FN值和FP值皆為0.5%;Direct和SWDetector的MTD值分別為0.03 s和0.13 s,且沒(méi)有漏報(bào)和誤報(bào);ARMA的MTD值為0.00 s,但是FN值和FP值高達(dá)64.0%.
由于評(píng)價(jià)標(biāo)準(zhǔn)的3個(gè)指標(biāo)描述了檢測(cè)時(shí)延和檢測(cè)準(zhǔn)確度2個(gè)不同維度的有效性,需要對(duì)這3個(gè)指標(biāo)做歸一化和加權(quán)處理,從而獲得一個(gè)歸一化加權(quán)指標(biāo)值來(lái)對(duì)比各檢測(cè)方法的有效性.對(duì)于某一檢測(cè)方法,其評(píng)價(jià)指標(biāo)的歸一化值為其評(píng)價(jià)指標(biāo)值與各對(duì)比檢測(cè)方法評(píng)價(jià)指標(biāo)最小值之差和各對(duì)比檢測(cè)方法評(píng)價(jià)指標(biāo)值范圍的比值.
由于檢測(cè)時(shí)延的評(píng)價(jià)只使用MTD值這一個(gè)指標(biāo),而檢測(cè)準(zhǔn)確度的評(píng)價(jià)卻使用FN值和FP值這2個(gè)不同角度的指標(biāo),考慮到檢測(cè)時(shí)延和檢測(cè)準(zhǔn)確度2個(gè)維度的平衡,需為3個(gè)評(píng)價(jià)指標(biāo)的歸一化值添加相應(yīng)的權(quán)重,即MTD值的歸一化值權(quán)重為2,FN值和FP值的歸一化值權(quán)重皆為1.則各檢測(cè)方法有效性的歸一化加權(quán)指標(biāo)值為3個(gè)評(píng)價(jià)指標(biāo)歸一化值與權(quán)重乘積之和,其值越小表示有效性越好.具體如表4所示:
Table 4 Total Weight and Effectiveness Ranking of Different Scenarios with Each Detection Approach表4 不同場(chǎng)景下各檢測(cè)方法的總權(quán)重和有效性排序
對(duì)于不同的運(yùn)行場(chǎng)景,4種模型偏差檢測(cè)方法的有效性排序存在差異.SWDetector在不同運(yùn)行場(chǎng)景下的有效性差異最大,如該檢測(cè)方法在SWaT的傳感器數(shù)據(jù)篡改場(chǎng)景SWaT3下的有效性最好,卻在SWaT的閥門磨損場(chǎng)景SWaT2下的有效性最差.ARMA在閥門磨損場(chǎng)景SWaT2下的有效性優(yōu)于SWDetector和Direct,在控制信號(hào)篡改場(chǎng)景SWaT4下的有效性優(yōu)于SWDetector,而其他運(yùn)行場(chǎng)景皆差.Direct的有效性差異較大,如該檢測(cè)方法在RUBiS的服務(wù)器狀態(tài)切換場(chǎng)景RUBiS3下的有效性最好,而在SWaT3下的檢測(cè)有效性劣于SWDetector和MoD2.MoD2在SWaT傳感器數(shù)據(jù)篡改場(chǎng)景SWaT3下和RUBiS正常運(yùn)行場(chǎng)景RUBiS1下的有效性劣于SWDetetor,在Encoder正常運(yùn)行場(chǎng)景Encoder1下的有效性劣于SWDetector和Direct,而在其他運(yùn)行場(chǎng)景下有效性皆優(yōu).
Table 5 Effectiveness of Each Detection Approach under Different Characteristic Scenarios表5 各檢測(cè)方法在不同特性場(chǎng)景下的有效性
綜上,4種主流模型偏差檢測(cè)方法適用的特性場(chǎng)景如表6所示:
Table 6 Applicability of Each Detection Approach表6 各檢測(cè)方法適用性
SWDetector通過(guò)自適應(yīng)軟件系統(tǒng)的系統(tǒng)輸出變化檢測(cè)模型偏差.如果自適應(yīng)軟件系統(tǒng)模型偏差場(chǎng)景下的系統(tǒng)輸出變化與正常情況的區(qū)分度越大,則該檢測(cè)方法的有效性越好,反之則沒(méi)有考慮控制信號(hào)因素.因此,SWDetector適用于低控制影響場(chǎng)景IC↓.SWDetector通過(guò)滑動(dòng)窗口綜合考慮連續(xù)多次的系統(tǒng)輸出值,從而平滑觀測(cè)誤差,但該補(bǔ)償操作對(duì)于高非確定性因素的補(bǔ)償效果有限.因此,SWDetector適用于低非確定性影響場(chǎng)景IU↓.由于SWDetector在建模自適應(yīng)軟件系統(tǒng)時(shí)未考慮環(huán)境輸入,使環(huán)境輸入導(dǎo)致的系統(tǒng)輸出顯著變化會(huì)降低檢測(cè)的有效性,因此SWDetector適用于低環(huán)境影響場(chǎng)景IE↓.
ARMA使用自回歸模型描述模型偏差對(duì)于系統(tǒng)輸出的影響.自適應(yīng)軟件系統(tǒng)模型偏差場(chǎng)景下的系統(tǒng)輸出變化與正常情況的區(qū)分度越大,則該方法的有效性越好,反之則難以檢測(cè).因此,ARMA適用于低控制影響場(chǎng)景IC↓.ARMA方法通常將環(huán)境輸入和非確定性因素視為影響自適應(yīng)軟件系統(tǒng)整體行為的一個(gè)外部擾動(dòng),并通過(guò)控制系統(tǒng)的穩(wěn)定性加以處理,并沒(méi)有引入單獨(dú)的機(jī)制進(jìn)行應(yīng)對(duì).因此,ARMA適用于低環(huán)境影響場(chǎng)景IE↓和低非確定性影響場(chǎng)景IU↓.
Direct基于標(biāo)稱模型,引入環(huán)境輸入建模自適應(yīng)軟件系統(tǒng).因此,Direct適用于任何環(huán)境影響場(chǎng)景IE↑和IE↓.自適應(yīng)軟件系統(tǒng)模型偏差場(chǎng)景下的系統(tǒng)輸出變化與正常情況的區(qū)分度越大,則模型參數(shù)估計(jì)值越容易超出安全區(qū)域,反之越容易被其他特性影響留在安全區(qū)域內(nèi).因此,Direct適用于低控制影響場(chǎng)景IC↓.由于控制信號(hào)的變化,Direct的補(bǔ)償操作(即滑動(dòng)窗口方法)不能有效平滑高非確定性因素.因此,Direct適用于低非確定性影響場(chǎng)景IU↓.
MoD2基于標(biāo)稱模型,建模了模型參數(shù),添加了環(huán)境輸入和各種非確定性補(bǔ)償項(xiàng),因此適用于所分類的6種特性場(chǎng)景.
由上述分析可知,MoD2在檢測(cè)模型偏差時(shí)可以有效地覆蓋不同的偏差場(chǎng)景.但相比于其他方法,MoD2需要開(kāi)發(fā)人員在設(shè)計(jì)系統(tǒng)時(shí)額外計(jì)算更多的信息(如模型參數(shù)值的先驗(yàn)分布和非確定性補(bǔ)償項(xiàng)的參數(shù)值),且在檢測(cè)變量估計(jì)的過(guò)程中使用了計(jì)算量更大的貝葉斯方法,在性能上帶來(lái)了額外的開(kāi)銷.這些額外的開(kāi)銷使得MoD2能夠應(yīng)對(duì)各種高影響場(chǎng)景(即IC↑,IE↑,IU↑),但卻不能在低影響場(chǎng)景中相比其他部分方法提升其檢測(cè)有效性.因此我們認(rèn)為,在應(yīng)對(duì)各種低影響場(chǎng)景時(shí),可以綜合使用滑窗這類的低成本檢測(cè)方法,以平衡檢測(cè)方法的有效性和性能開(kāi)銷.
實(shí)證結(jié)論有效性的威脅包括實(shí)驗(yàn)對(duì)象、實(shí)現(xiàn)的模型偏差檢測(cè)方法以及場(chǎng)景特性3個(gè)指標(biāo)的內(nèi)在聯(lián)系.
本文只使用了3個(gè)自適應(yīng)軟件系統(tǒng)作為實(shí)驗(yàn)對(duì)象,這可能會(huì)影響實(shí)驗(yàn)結(jié)論的普遍性.為了進(jìn)行實(shí)驗(yàn),需要對(duì)被管理系統(tǒng)及其控制論設(shè)計(jì)的控制器有充分的了解.這一要求限制了對(duì)可能的實(shí)驗(yàn)對(duì)象的選擇.盡管如此,所選擇的實(shí)驗(yàn)對(duì)象代表了不同平臺(tái)(包括網(wǎng)絡(luò)系統(tǒng)和信息物理融合系統(tǒng))和架構(gòu)(包括單控制器和多控制器)的自適應(yīng)軟件系統(tǒng).此外,所選自適應(yīng)軟件系統(tǒng)都被其他自適應(yīng)研究人員廣泛用作實(shí)驗(yàn)對(duì)象或研究案例.
本文實(shí)現(xiàn)了4個(gè)模型偏差檢測(cè)方法.這4個(gè)檢測(cè)方法的實(shí)現(xiàn)可能無(wú)法完全代表4種主流模型偏差檢測(cè)方法的真實(shí)有效性.但是,這4個(gè)檢測(cè)方法都是依據(jù)已有的文獻(xiàn)描述實(shí)現(xiàn),其有效性已經(jīng)在相關(guān)文獻(xiàn)中得到了證明.因此,所實(shí)現(xiàn)的檢測(cè)方法可以比較好地反映所代表的模型偏差檢測(cè)方法的有效性.
與控制論使用精確的數(shù)學(xué)模型去描述運(yùn)行場(chǎng)景不同,基于模型偏差檢測(cè)框架,對(duì)影響模型偏差檢測(cè)方法的有效性的因素進(jìn)行分析(即控制信號(hào)、環(huán)境輸入和非確定性3個(gè)主要因素對(duì)模型偏差檢測(cè)方法有效性的影響),由此定義了3個(gè)量化指標(biāo)去描述運(yùn)行場(chǎng)景在檢測(cè)有效性影響層面上的特性.因此,3個(gè)指標(biāo)代表自適應(yīng)軟件系統(tǒng)3個(gè)不同維度的檢測(cè)有效性影響因素的特性.
軟件控制論是軟件工程的一個(gè)重要分支,其核心在于使用控制論的方法來(lái)解決軟件工程中的問(wèn)題.現(xiàn)有工作中,軟件控制論已廣泛運(yùn)用于軟件的需求、實(shí)現(xiàn)、測(cè)試等各個(gè)方面[56].在軟件需求方面,控制論將反饋控制環(huán)用于需求提升.Xu等人[57]使用控制論來(lái)定義一個(gè)需求工程過(guò)程控制系統(tǒng).Liu等人[58]將數(shù)據(jù)驅(qū)動(dòng)的需求激發(fā)過(guò)程表示為一個(gè)反饋控制系統(tǒng),需求激發(fā)變成了對(duì)用戶行為模型的不斷優(yōu)化.在軟件設(shè)計(jì)實(shí)現(xiàn)方面,控制論關(guān)注將控制論系統(tǒng)地引入以提高軟件的可靠性.Patikirikorala等人[3]系統(tǒng)總結(jié)了設(shè)計(jì)自適應(yīng)軟件系統(tǒng)的控制工程方法.Shevtsov等人[4]從系統(tǒng)建模、控制技術(shù)和控制屬性3個(gè)方面系統(tǒng)分析了現(xiàn)有控制型自適應(yīng)研究.在軟件測(cè)試方面,控制論方法可以定量地預(yù)測(cè)測(cè)試過(guò)程的趨勢(shì),并幫助管理者分配測(cè)試資源.Cangussu等人[59]使用反饋控制來(lái)調(diào)整測(cè)試過(guò)程的參數(shù).Zhang等人[60]遵循軟件控制論,提出了基于歷史的動(dòng)態(tài)隨機(jī)軟件測(cè)試,改進(jìn)了傳統(tǒng)的隨機(jī)測(cè)試和隨機(jī)劃分測(cè)試策略.
控制型自適應(yīng)軟件系統(tǒng)的開(kāi)發(fā)首先需要建立被管理系統(tǒng)的標(biāo)稱模型.在早期,標(biāo)稱模型可從已知的復(fù)雜系統(tǒng)架構(gòu)模型中推導(dǎo)獲得.Checiu等人[61]從Web服務(wù)系統(tǒng)的服務(wù)器請(qǐng)求模型中推導(dǎo)出對(duì)應(yīng)的常微分方程.Filieri等人[62-63]從應(yīng)用程序的離散時(shí)間馬爾可夫鏈模型中推導(dǎo)出對(duì)應(yīng)的數(shù)學(xué)方程.推導(dǎo)出的標(biāo)稱模型雖然能夠較好地描述軟件系統(tǒng)的行為,但要求開(kāi)發(fā)人員同時(shí)具備軟件工程和控制論2方面的專業(yè)知識(shí).為了降低開(kāi)發(fā)人員的負(fù)擔(dān),同時(shí)更好地理解和推理實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)的行為,Filieri等人[9]提出了PBM框架,該框架給出了自適應(yīng)軟件系統(tǒng)的自動(dòng)化設(shè)計(jì)過(guò)程,理論保證實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)具有所需的控制屬性.基于PBM框架,不同類型的標(biāo)稱模型和各種控制技術(shù)被引入用來(lái)應(yīng)對(duì)不同的軟件自適應(yīng)場(chǎng)景[5].然而,基于數(shù)據(jù)驅(qū)動(dòng)的標(biāo)稱模型更加凸顯模型偏差問(wèn)題,使得各種模型偏差檢測(cè)方法應(yīng)運(yùn)而生.面對(duì)各種檢測(cè)方法,需要一個(gè)指導(dǎo)向的工作幫助選擇有效的模型偏差檢測(cè)方法,實(shí)現(xiàn)可靠運(yùn)行的自適應(yīng)軟件系統(tǒng).本文從模型偏差場(chǎng)景角度,分析了各模型偏差檢測(cè)方法適用的特性場(chǎng)景,輔助檢測(cè)方法的有效選擇.
模型偏差問(wèn)題自控制型自適應(yīng)軟件系統(tǒng)被提出以來(lái)一直備受關(guān)注.現(xiàn)有工作對(duì)模型偏差問(wèn)題的處理方式大致分為3類:第1類是設(shè)計(jì)魯棒控制器去容忍模型偏差.Baresi等人[51]使用灰盒離散時(shí)間反饋控制器實(shí)現(xiàn)魯棒的自適應(yīng)軟件系統(tǒng).第2類是采用學(xué)習(xí)、濾波等技術(shù)實(shí)現(xiàn)標(biāo)稱模型的在線更新.Filieri等人[28]使用學(xué)習(xí)機(jī)制保持標(biāo)稱模型參數(shù)辨識(shí)值在系統(tǒng)運(yùn)行時(shí)不斷更新.Maggio等人[30]使用卡爾曼濾波,通過(guò)更新標(biāo)稱模型的狀態(tài)變量值達(dá)到修改標(biāo)稱模型參數(shù)辨識(shí)值的目的.這2類處理方式基本解決了標(biāo)稱模型參數(shù)辨識(shí)值的輕微偏差.第3類是模型偏差檢測(cè).該類處理方式關(guān)注會(huì)使自適應(yīng)軟件系統(tǒng)的理論保證失效,可能導(dǎo)致被管理系統(tǒng)行為異常的模型偏差.在線檢測(cè)這類模型偏差對(duì)自適應(yīng)軟件系統(tǒng)的可靠運(yùn)行至關(guān)重要.PBM框架也考慮了模型偏差問(wèn)題,并提供了基于滑窗的系統(tǒng)輸出檢測(cè)方法實(shí)時(shí)檢測(cè)由于模型偏差導(dǎo)致的系統(tǒng)異常行為.He等人[22]針對(duì)控制型CPS,提出了基于自回歸的系統(tǒng)輸出檢測(cè)方法,用于檢測(cè)由于軟件bug導(dǎo)致的模型偏差.Tong等人[10]針對(duì)現(xiàn)有檢測(cè)方法沒(méi)有平衡檢測(cè)及時(shí)性和準(zhǔn)確性的問(wèn)題,提出了基于貝葉斯參數(shù)估計(jì)的檢測(cè)方法.對(duì)于模型偏差檢測(cè),現(xiàn)有工作專注于針對(duì)不同的被管理系統(tǒng)和模型偏差場(chǎng)景提出既快又準(zhǔn)的檢測(cè)方法.據(jù)我們所知,現(xiàn)有工作缺乏對(duì)不同偏差場(chǎng)景下各檢測(cè)方法適用性的系統(tǒng)化研究.本文通過(guò)大量實(shí)驗(yàn)分析和描述了4種主流模型偏差檢測(cè)方法的適用性,為實(shí)現(xiàn)可靠自適應(yīng)軟件系統(tǒng)時(shí)如何選擇有效的檢測(cè)方法提供了實(shí)證研究支持.
傳統(tǒng)控制論同樣關(guān)注模型偏差檢測(cè)問(wèn)題,并提出了各種檢測(cè)方法.Webber等人[64]利用系統(tǒng)輸出抖動(dòng)與模型預(yù)測(cè)誤差的相似度來(lái)檢測(cè)模型偏差.Badwe等人[65]提出了一個(gè)基于分析控制信號(hào)和模型殘差之間的偏相關(guān)性的檢測(cè)方法.Ji等人[66]通過(guò)對(duì)比估計(jì)過(guò)程的頻率響應(yīng)與基于模型的頻率響應(yīng),檢測(cè)多變量模型預(yù)測(cè)控制的模型偏差.Wang等人[67]提出一種基于子空間法的模型偏差檢測(cè)方法.Yin等人[68]提出了一種數(shù)據(jù)驅(qū)動(dòng)方法來(lái)檢測(cè)模型偏差,該方法結(jié)合子空間法和滑動(dòng)窗口來(lái)估計(jì)標(biāo)稱模型的參數(shù)值.Tsai等人[69]使用2個(gè)系統(tǒng)辨識(shí)步驟來(lái)檢測(cè)和定位模型偏差.控制領(lǐng)域關(guān)于偏差檢測(cè)方法的實(shí)證研究關(guān)注在相同實(shí)例下對(duì)比各檢測(cè)方法的優(yōu)劣.Iqbal等人[70]對(duì)比了基于帶輸入自回歸(autoregressive with exogenous inputs, ARX)模型和有限沖激響應(yīng)(finite impulse response, FIR)模型的2種檢測(cè)方法,表明在實(shí)例下基于ARX模型的檢測(cè)方法要優(yōu)于基于FIR模型的檢測(cè)方法.Uddin等人[14]基于實(shí)例對(duì)比了ARX模型和帶輸入自回歸滑動(dòng)平均(autoregressive-moving-average with exogenous inputs, ARMAX)模型的2種偏差檢測(cè)方法,表明使用ARMAX建模受控物理系統(tǒng)能以更少的模型階數(shù)達(dá)到更好的檢測(cè)效果.而本文的實(shí)證研究關(guān)注每個(gè)檢測(cè)方法適用的實(shí)例有哪些特性.
本文通過(guò)實(shí)驗(yàn)對(duì)控制型自適應(yīng)軟件系統(tǒng)的模型偏差方法在不同模型偏差場(chǎng)景下的適用性進(jìn)行研究.基于提出的模型偏差檢測(cè)框架中對(duì)模型偏差檢測(cè)有效性產(chǎn)生影響的3個(gè)維度(即控制信號(hào)、環(huán)境輸入和非確定性),提出一套特性指標(biāo),即控制信號(hào)強(qiáng)度、環(huán)境輸入強(qiáng)度和非確定性強(qiáng)度,來(lái)描述模型偏差場(chǎng)景,并根據(jù)系統(tǒng)輸出穩(wěn)定性假設(shè),為3個(gè)特性指標(biāo)劃分6種不同特性場(chǎng)景.基于3個(gè)自適應(yīng)軟件系統(tǒng)生成的9個(gè)運(yùn)行場(chǎng)景,實(shí)驗(yàn)分析4種主流模型偏差檢測(cè)方法適用的特性場(chǎng)景范圍.
作者貢獻(xiàn)聲明:童燕翔與秦逸完成研究構(gòu)思、實(shí)驗(yàn)設(shè)計(jì)、數(shù)據(jù)分析和論文寫作;馬曉星指導(dǎo)研究選題、方法設(shè)計(jì)以及論文修改等.全體作者都閱讀并同意最終的文本.