• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      自適應(yīng)軟件系統(tǒng)模型偏差檢測方法的適用性評估

      2022-09-06 07:31:36童燕翔馬曉星
      關(guān)鍵詞:確定性偏差管理系統(tǒng)

      童燕翔 秦 逸 馬曉星

      (計(jì)算機(jī)軟件新技術(shù)國家重點(diǎn)實(shí)驗(yàn)室(南京大學(xué)) 南京 210023)

      (tongyanxiang@gmail.com)

      自適應(yīng)軟件系統(tǒng)是一類通過動(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].

      近年來,控制論在自適應(yīng)軟件系統(tǒng)的開發(fā)中得到了廣泛應(yīng)用[3-4].這類控制型自適應(yīng)軟件系統(tǒng)通常是基于一個(gè)辨識而得的、用于描述被管理系統(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í)常偏離其辨識值,這種現(xiàn)象被稱為自適應(yīng)軟件系統(tǒng)的模型偏差(model deviation).模型偏差會(huì)使控制論提供的優(yōu)化性和可靠性失效,威脅控制型自適應(yīng)軟件系統(tǒng)的安全運(yùn)行.因此,各種模型偏差檢測方法被提出用以解決這一問題.

      自適應(yīng)軟件系統(tǒng)的運(yùn)行環(huán)境具有動(dòng)態(tài)、開放的特點(diǎn)[9-10],同時(shí)系統(tǒng)與環(huán)境的交互也受到非確定性的影響[11-12].因此,在其運(yùn)行過程中,被管理系統(tǒng)標(biāo)稱模型的實(shí)際參數(shù)值可能以多種開發(fā)人員無法預(yù)先描述的方式偏離其辨識值,使得模型偏差表現(xiàn)出多種不同的形態(tài).本文使用場景來區(qū)分模型偏差的不同形態(tài),而模型偏差的形態(tài)差異導(dǎo)致模型偏差檢測方法在不同偏差場景下的檢測有效性不同.

      因此,除了在技術(shù)層面上改進(jìn)模型偏差檢測方法,對不同模型偏差檢測方法適用的模型偏差場景進(jìn)行研究,也有助于提高自適應(yīng)軟件系統(tǒng)的整體可靠性.通常從檢測時(shí)延和檢測準(zhǔn)確度2方面描述模型偏差檢測方法的有效性,即檢測時(shí)延越低且檢測準(zhǔn)確度越高,則檢測方法的有效性越好.

      在傳統(tǒng)控制論中,通常依據(jù)被管理系統(tǒng)的物理特性,選取有效的模型偏差檢測方法[13-14].然而,自適應(yīng)軟件系統(tǒng)通常不存在可使用數(shù)學(xué)模型精確描述的物理特性.因此,為自適應(yīng)軟件系統(tǒng)選取有效的模型偏差檢測方法的挑戰(zhàn)在于如何建立一套特性體系,用于描述不同的模型偏差場景.

      針對這一挑戰(zhàn),本文提出了模型偏差檢測的理論框架,刻畫了模型偏差檢測方法的重點(diǎn)要素.基于該框架,本文進(jìn)一步分析、歸納了3個(gè)影響模型偏差檢測有效性的主要因素,包括控制信號(被管理系統(tǒng)從管理系統(tǒng)獲得的調(diào)節(jié)命令)、環(huán)境輸入(被管理系統(tǒng)受外部環(huán)境的影響),以及非確定性(被管理系統(tǒng)中存在的觀測誤差和系統(tǒng)噪聲).一旦某檢測方法沒有考慮偏差場景下影響檢測有效性的主要因素,則此檢測方法將不能夠有效檢測該場景的模型偏差.根據(jù)這3個(gè)主要因素,本文提出了3個(gè)模型偏差場景特性指標(biāo),用于建立描述偏差場景特性的評價(jià)體系.通過使用不同實(shí)驗(yàn)對象和不同配置的實(shí)證實(shí)驗(yàn),探索了現(xiàn)有主流模型偏差檢測方法對于不同模型偏差場景的適用性.

      本文的主要貢獻(xiàn)有3個(gè)方面:

      1) 構(gòu)建了一個(gè)控制型自適應(yīng)軟件系統(tǒng)的模型偏差檢測框架,為模型偏差檢測方法的適用性研究提供理論依據(jù).

      2) 提出了一套基于模型偏差檢測框架的特性指標(biāo),用于描述不同的模型偏差場景,并評估模型偏差檢測方法的適用性.

      3) 進(jìn)行了基于大量實(shí)驗(yàn)的模型偏差檢測方法適用性研究.依據(jù)劃分的6種特性場景,總結(jié)各檢測方法適用的特性范圍,用于指導(dǎo)如何在不同的場景特性下選取有效的模型偏差檢測方法.

      1 相關(guān)背景

      本節(jié)首先介紹自適應(yīng)軟件系統(tǒng)的背景知識,然后以安全水處理(secure water treatment, SWaT)系統(tǒng)為例介紹控制型自適應(yīng)軟件系統(tǒng)的設(shè)計(jì)和運(yùn)行過程.

      1.1 自適應(yīng)軟件系統(tǒng)

      現(xiàn)代軟件系統(tǒng)面臨著非確定性的挑戰(zhàn),包括動(dòng)態(tài)、開放的運(yùn)行環(huán)境以及不斷變化的系統(tǒng)需求.為了應(yīng)對這一挑戰(zhàn),自適應(yīng)軟件系統(tǒng)應(yīng)運(yùn)而生[15-17].自適應(yīng)軟件系統(tǒng)通過自我監(jiān)測和重新配置自身,以持續(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)測被管理系統(tǒng)的行為,并在必要的時(shí)候?qū)ζ溥M(jìn)行重新配置.例如,對于一個(gè)自適應(yīng)Web服務(wù)系統(tǒng)而言,其被管理系統(tǒng)就是實(shí)現(xiàn)用戶訪問的軟件模塊,包括Web前端、負(fù)載均衡器、服務(wù)器及其訪問接口等.其管理系統(tǒng)需要定時(shí)獲取用戶訪問的平均響應(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í)現(xiàn)的循環(huán),即MAPE-K環(huán)(monitor-analyze-plan-execute loop with knowledge, MAPE-K loop)來指導(dǎo)自適應(yīng)軟件系統(tǒng)的開發(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)的迭代序號k代指在該次迭代中自適應(yīng)軟件系統(tǒng)的狀態(tài)和執(zhí)行過程.在基于MAPE-K環(huán)實(shí)現(xiàn)的自適應(yīng)Web服務(wù)系統(tǒng)中,監(jiān)視模塊實(shí)現(xiàn)定時(shí)觀測用戶訪問的平均響應(yīng)時(shí)間,分析模塊對比觀測的平均響應(yīng)時(shí)間是否大于或者遠(yuǎn)小于目標(biāo)響應(yīng)時(shí)間,規(guī)劃模塊根據(jù)實(shí)際觀測的平均響應(yīng)時(shí)間與目標(biāo)響應(yīng)時(shí)間,計(jì)算適合的服務(wù)器數(shù)量,執(zhí)行模塊調(diào)用接口添加或刪減對應(yīng)數(shù)量的服務(wù)器,共享知識庫提供了用戶負(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)無具體方法指導(dǎo),且需要設(shè)計(jì)額外的機(jī)制去保證所實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)的可靠運(yùn)行.

      1.2 控制型自適應(yīng)軟件系統(tǒng)

      近年來,基于控制論的控制型自適應(yīng)軟件系統(tǒng)因其開發(fā)過程的自動(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)行為的觀測變量,控制信號是改變被管理系統(tǒng)行為的可調(diào)參數(shù).在該反饋控制環(huán)中,面對環(huán)境輸入的擾動(dòng),被管理系統(tǒng)的系統(tǒng)輸出在控制器的作用下能夠追蹤系統(tǒng)目標(biāo).基于反饋控制環(huán),Filieri等人[9]首先提出了一個(gè)框架PBM(push-button method)來支持控制型自適應(yīng)軟件系統(tǒng)的開發(fā).該實(shí)現(xiàn)框架基于數(shù)據(jù)收集和模型擬合(即系統(tǒng)辨識[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)辨識將被管理系統(tǒng)建模為一個(gè)定量的標(biāo)稱模型.系統(tǒng)辨識可以構(gòu)建多種類型的標(biāo)稱模型來支持不同場景下的自適應(yīng),包括線性時(shí)不變系統(tǒng)[11,22-23]、線性時(shí)變系統(tǒng)[24]和非線性時(shí)不變系統(tǒng)[25].根據(jù)系統(tǒng)化采樣的各運(yùn)行環(huán)境下的控制信號及其系統(tǒng)輸出,擬合選定類型標(biāo)稱模型的參數(shù)值,得到辨識標(biāo)稱模型.

      基于辨識標(biāo)稱模型,控制器合成利用各種控制論技術(shù)來設(shè)計(jì)不同自適應(yīng)場景下的控制器.其中,最流行的2種技術(shù)是比例-積分-微分(proportional-integral-derivative, PID)控制[5,26-28]和模型預(yù)測控制(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)一步說明控制型自適應(yīng)軟件系統(tǒng)的運(yùn)行架構(gòu)和開發(fā)過程.如圖3所示,SWaT是一個(gè)縮小版的水處理系統(tǒng),可生產(chǎn)雙重過濾的飲用水.該系統(tǒng)主要通過管理控制5個(gè)相連的水箱及其各自的進(jìn)水閥/出水閥以完成系統(tǒng)需求.自適應(yīng)SWaT的目標(biāo)是在不同的環(huán)境條件下(如5個(gè)水箱的不同初始水位),保障水過濾過程的可靠性(如無水箱溢出和空箱),并盡可能提升水處理過程的優(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)來描述SWaT:

      (1)

      基于辨識的標(biāo)稱模型,開發(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ì)高/低于上/下警戒線過多,避免水箱溢出或空箱),保障水處理過程優(yōu)化且可靠地運(yùn)行.

      2 模型偏差檢測

      2.1 模型偏差及其檢測

      自適應(yīng)軟件系統(tǒng)常運(yùn)行于動(dòng)態(tài)、開放環(huán)境,這使管理系統(tǒng)需要面對可能超出其設(shè)計(jì)能力范圍的環(huán)境狀況,這對控制型自適應(yīng)軟件系統(tǒng)而言,將導(dǎo)致標(biāo)稱模型的實(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在面臨閥門磨損場景[36]時(shí),其對應(yīng)閥門的水流量減小,會(huì)使控制器的趨穩(wěn)性失效,降低飲用水產(chǎn)量.該系統(tǒng)在傳感器數(shù)據(jù)篡改場景[25]時(shí),控制器會(huì)生成錯(cuò)誤的控制信號,使其反饋控制環(huán)的趨穩(wěn)性和低超調(diào)性失效,直接導(dǎo)致水箱溢出或空箱.

      實(shí)際運(yùn)行環(huán)境中,根據(jù)不同的模型偏差產(chǎn)生原因,模型偏差場景會(huì)體現(xiàn)出不同的特性.在上文的例子中,閥門磨損會(huì)導(dǎo)致被管理系統(tǒng)標(biāo)稱模型可控屬性對應(yīng)參數(shù)值緩慢、定向變化,外在表現(xiàn)為水位實(shí)測值的緩慢變化;而篡改傳感器數(shù)據(jù)會(huì)導(dǎo)致被管理系統(tǒng)標(biāo)稱模型可控屬性對應(yīng)參數(shù)值的快速、非定向變化,外在表現(xiàn)為水位實(shí)測值的快速變化.

      現(xiàn)有模型偏差檢測方法在面對不同特性的模型偏差場景時(shí)會(huì)展現(xiàn)出不同的性能.Tong等人[10]基于自適應(yīng)SWaT的實(shí)驗(yàn)表明,同一種檢測方法在不同場景下性能的差異程度會(huì)相當(dāng)顯著.例如,基于滑窗的系統(tǒng)輸出檢測方法(即檢測水箱水位變化是否超出給定范圍)在閥門磨損場景下,其性能顯著差于其他2種比較方法;而在傳感器數(shù)據(jù)篡改場景下,該檢測方法的性能以微弱優(yōu)勢領(lǐng)先Tong等人[10]提出的最新方法,并大幅領(lǐng)先另一比較方法.

      基于這一觀察,本文認(rèn)為除了在技術(shù)層面上改進(jìn)模型偏差檢測方法,對不同模型偏差檢測方法適用的模型偏差場景進(jìn)行研究,也有助于提高自適應(yīng)軟件系統(tǒng)的整體可靠性.因此本文的研究問題是如何為控制型自適應(yīng)軟件系統(tǒng)選取有效的模型偏差檢測方法.

      具體而言,使用檢測時(shí)延和檢測準(zhǔn)確度2個(gè)方面評價(jià)模型偏差檢測方法的有效性.其中,檢測時(shí)延是指從自適應(yīng)軟件系統(tǒng)發(fā)生模型偏差到檢測方法發(fā)現(xiàn)該模型偏差的時(shí)間間隔.檢測準(zhǔn)確度包括2個(gè)維度,即漏報(bào)率和誤報(bào)率.漏報(bào)率是指在模型偏差場景下,檢測方法沒有發(fā)現(xiàn)模型偏差的概率;而誤報(bào)率是指在正常運(yùn)行場景下,檢測方法錯(cuò)誤報(bào)告模型偏差的概率.基于這3個(gè)指標(biāo),有效的模型偏差檢測方法即指檢測的時(shí)延低、漏報(bào)率低和誤報(bào)率低.

      2.2 檢測框架

      為了探索各檢測方法的適用性,需構(gòu)建模型偏差檢測框架,分析影響模型偏差檢測有效性的因素.基于對現(xiàn)有模型偏差檢測過程的觀察,控制型自適應(yīng)軟件系統(tǒng)的模型偏差檢測方法主要由系統(tǒng)建模、檢測變量估計(jì)、模型偏差表示以及模型偏差判斷4個(gè)部分組成.由此,本文提出可以使用式(2)~(5)組成的框架統(tǒng)一描述分析模型偏差檢測方法.

      系統(tǒng)建模:

      (2)

      檢測變量估計(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í)測值.模型輸入矩陣為

      x(k-1)表示5個(gè)水箱歷史進(jìn)、出水狀態(tài),u(k-1)表示所有閥門當(dāng)前的控制信號.模型參數(shù)矩陣為

      A代表系統(tǒng)的延遲屬性,B代表系統(tǒng)的可控屬性,C代表系統(tǒng)的可觀測屬性.則其辨識模型參數(shù)矩陣為

      式(3)描述了模型偏差檢測方法選取檢測變量及對檢測變量進(jìn)行的估測.具體而言,首先確定檢測的模型參數(shù)(即檢測變量PΣ),再根據(jù)觀測變量序列D(T)(即包含模型輸入、輸出矩陣變量的序列)估計(jì)檢測變量值.其中Σ表示模型參數(shù)的選擇運(yùn)算.對于自適應(yīng)SWaT,基于式(3),Tong等人[10]提出的MoD2檢測方法的檢測周期取值為1次自適應(yīng)環(huán)迭代(即檢測周期等同于自適應(yīng)周期),并選擇可控屬性對應(yīng)的模型參數(shù)(即B)作為檢測變量.MoD2檢測方法依據(jù)的觀測變量序列包括水箱水位值序列和閥門控制信號序列.

      式(4)所示確定自適應(yīng)軟件系統(tǒng)的模型偏差表示.其中Ψ表示使用數(shù)據(jù)驅(qū)動(dòng)、人工經(jīng)驗(yàn)或理論推導(dǎo)等方法獲取檢測變量值的安全區(qū)域.檢測變量值在這個(gè)安全區(qū)域內(nèi),控制型自適應(yīng)軟件系統(tǒng)的可靠和優(yōu)化運(yùn)行存在理論保證,而檢測變量值一旦超出這個(gè)安全區(qū)域,理論保證將會(huì)失效,可能導(dǎo)致系統(tǒng)行為異常.因此,模型偏差表示ΘMD可描述為檢測變量值安全區(qū)域的補(bǔ)集.對于自適應(yīng)SWaT,基于式(4),Tong等人[10]提出的MoD2檢測方法通過頻域分析決定其安全區(qū)域Ψ.具體而言,Ψ描述了可使自適應(yīng)SWaT的控制器正常運(yùn)作的控制參數(shù)B的取值范圍.

      式(5)所示每個(gè)檢測周期判斷檢測變量估計(jì)值是否符合模型偏差表示.如果符合,則發(fā)出警報(bào),即Alarm(T)=1,可觸發(fā)模型偏差補(bǔ)救機(jī)制.對于自適應(yīng)SWaT,基于式(5),Tong等人[10]提出的MoD2檢測方法通過計(jì)算當(dāng)前估測的控制參數(shù)值處于安全區(qū)間內(nèi)的置信度,決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.

      2.3 主流檢測方法

      基于前述的模型偏差檢測理論框架,介紹4種主流模型偏差檢測方法(基于式(2)~(5)的詳細(xì)描述請見技術(shù)文檔[37]).

      基于滑窗的系統(tǒng)輸出檢測方法SWDetector通過實(shí)時(shí)監(jiān)測系統(tǒng)輸出變化是否符合給定數(shù)值范圍來檢測模型偏差,并使用滑動(dòng)窗口平滑非確定性的影響[38].Filieri等人[9]在引入控制論實(shí)現(xiàn)自適應(yīng)時(shí),也一并引入該檢測方法以應(yīng)對模型偏差問題.

      在系統(tǒng)模型方面,SWDetector使用自回歸模型描述控制型自適應(yīng)軟件系統(tǒng).在檢測變量估計(jì)方面,SWDetector使用系統(tǒng)輸出的變化量(即前后2次自適應(yīng)迭代中系統(tǒng)輸出的差值)作為其檢測變量,并通過滑動(dòng)窗口平滑觀測誤差對該變化量的影響.在模型偏差表示方面,SWDetector基于觀測數(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通過比較當(dāng)前估計(jì)的系統(tǒng)輸出變化值是否處于其安全區(qū)域內(nèi),決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.

      基于滑窗的系統(tǒng)輸出檢測方法ARMA通過監(jiān)測系統(tǒng)輸出模型預(yù)測值和當(dāng)前實(shí)際測量值之間的差值是否超出正常誤差范圍來判斷是否發(fā)生模型偏差[39-45].He等人[22]引入該方法檢測由于軟件缺陷導(dǎo)致的模型偏差.

      在系統(tǒng)模型方面,ARMA同樣使用自回歸模型描述控制型自適應(yīng)軟件系統(tǒng)[46].在檢測變量估計(jì)方面,ARMA使用系統(tǒng)輸出的預(yù)測誤差(即基于系統(tǒng)模型的系統(tǒng)輸出預(yù)測值和基于實(shí)際觀測的系統(tǒng)輸出實(shí)測值的差)作為檢測變量.ARMA同樣通過滑動(dòng)窗口平滑觀測誤差對該檢測變量的影響.在模型偏差表示方面,ARMA亦基于觀測數(shù)據(jù)決定檢測變量的安全區(qū)域.與SWDetector不同的是,ARMA使用檢測變量的概率分布,而非取值范圍,作為其安全區(qū)域的基礎(chǔ).在模型偏差判斷方面,ARMA通過計(jì)算當(dāng)前估計(jì)的辨識誤差值處于概率分布3 sigma或6 sigma范圍內(nèi)的置信度[22],決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.

      基于矩陣計(jì)算的參數(shù)檢測方法Direct通過監(jiān)測矩陣計(jì)算得出的實(shí)際參數(shù)值是否超出安全區(qū)域來判斷是否發(fā)生模型偏差[24,47-48],并使用滑動(dòng)窗口平滑非確定性的影響.

      在系統(tǒng)模型方面,Direct使用線性時(shí)不變系統(tǒng)為描述自適應(yīng)軟件系統(tǒng)的基礎(chǔ)模型,并引入環(huán)境輸入補(bǔ)償項(xiàng)對系統(tǒng)模型進(jìn)行精化.在檢測變量估計(jì)方面,Direct關(guān)注于系統(tǒng)模型的內(nèi)部參數(shù)(即模型參數(shù)矩陣P的某一分量),基于當(dāng)前(本自適應(yīng)環(huán)中的)觀測值直接推導(dǎo)該參數(shù)的當(dāng)前值.Direct同樣通過滑動(dòng)窗口平滑觀測誤差對該檢測變量的影響在模型偏差表示方面,Direct通過頻域分析推導(dǎo)可使控制型自適應(yīng)軟件系統(tǒng)的控制器正常運(yùn)作的內(nèi)部參數(shù)的取值范圍.在模型偏差判斷方面,Direct通過比較當(dāng)前估計(jì)的控制參數(shù)值是否處于其正常取值范圍,決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.

      基于貝葉斯的參數(shù)估計(jì)檢測方法MoD2通過監(jiān)測估計(jì)的模型參數(shù)后驗(yàn)分布是否處于安全區(qū)域來判斷是否發(fā)生模型偏差[49-50].Tong等人[10]考慮模型參數(shù)值的內(nèi)部抖動(dòng)和各種觀測誤差提出了基于貝葉斯的模型導(dǎo)向偏差檢測方法.

      在系統(tǒng)模型方面,MoD2同樣使用線性時(shí)不變系統(tǒng)為描述自適應(yīng)軟件系統(tǒng)的基礎(chǔ)模型,并引入非確定性補(bǔ)償項(xiàng)對系統(tǒng)模型進(jìn)行精化.在檢測變量估計(jì)方面,MoD2關(guān)注于系統(tǒng)模型的內(nèi)部參數(shù)(即模型參數(shù)矩陣P的某一分量).MoD2額外考慮該參數(shù)隨時(shí)間變化的系統(tǒng)噪聲,將其建模為線性時(shí)變隨機(jī)變量,通過貝葉斯過程實(shí)時(shí)估算該參數(shù)的概率分布.在模型偏差表示方面,MoD2通過頻域分析推導(dǎo)可使控制型自適應(yīng)軟件系統(tǒng)的控制器正常運(yùn)作的內(nèi)部參數(shù)的取值范圍,并將該范圍作為安全區(qū)域.在模型偏差判斷方面,MoD2通過計(jì)算當(dāng)前估測的控制參數(shù)值處于安全區(qū)域內(nèi)的置信度,決定該系統(tǒng)是否出現(xiàn)模型偏差現(xiàn)象.

      2.4 影響檢測有效性的因素

      模型偏差檢測的理論框架刻畫了現(xiàn)有模型偏差檢測方法的主要流程.結(jié)合圖2所示的控制型自適應(yīng)軟件系統(tǒng)的基本架構(gòu),本文認(rèn)為,影響檢測有效性的主要因素包括控制信號、環(huán)境輸入以及非確定性這3方面.下面分別對其進(jìn)行討論.

      控制信號是控制型自適應(yīng)軟件系統(tǒng)中連接控制器和被管理系統(tǒng)的變量,直接決定了控制型自適應(yīng)軟件系統(tǒng)應(yīng)對運(yùn)行環(huán)境變化的適應(yīng)能力.在模型偏差發(fā)生的過程中,控制器依照原有系統(tǒng)模型(式(2))所產(chǎn)生的控制信號不再能夠高效、可靠地調(diào)節(jié)被管理系統(tǒng)的行為,這是導(dǎo)致系統(tǒng)異常狀態(tài)的直接原因.因此檢測方法能否有效刻畫控制信號在控制型自適應(yīng)軟件系統(tǒng)中的作用,決定了其能否準(zhǔn)確描述因模型偏差導(dǎo)致的系統(tǒng)行為,也就決定了其能否有效地檢測模型偏差現(xiàn)象.

      控制信號除了是系統(tǒng)模型(式(2))中的重要變量外,也對檢測變量估計(jì)(式(3))和模型偏差表示(式(4))產(chǎn)生了一定的影響.在檢測變量估計(jì)中,控制信號決定了觀測變量序列D(T)到檢測變量PΣ的映射關(guān)系.當(dāng)控制信號能有效調(diào)節(jié)被管理系統(tǒng)行為時(shí),該映射關(guān)系應(yīng)符合系統(tǒng)模型的描述,即表示檢測方法能夠獲取較準(zhǔn)確的檢測變量值;反之,檢測方法對于檢測變量的估算會(huì)存在較大的誤差.在模型偏差表示中,控制信號主要影響安全區(qū)域所依賴的檢測變量的個(gè)數(shù),即需要從多少個(gè)自適應(yīng)環(huán)中估算其對應(yīng)的檢測變量.如果控制信號在被管理系統(tǒng)的行為上存在放大效應(yīng)(即控制信號的微小改變會(huì)引起被管理系統(tǒng)行為的較大波動(dòng)),則安全區(qū)域所依賴的檢測變量的個(gè)數(shù)應(yīng)當(dāng)盡可能小,以防止模型偏差導(dǎo)致正常系統(tǒng)行為在較短時(shí)間內(nèi)快速發(fā)展為異常系統(tǒng)行為.反之,若控制信號在被管理系統(tǒng)的行為上存在縮小效應(yīng),則安全區(qū)域所依賴的檢測變量的個(gè)數(shù)可以適量增加,犧牲及時(shí)性以換取模型偏差檢測的準(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)對不同環(huán)境的能力,在設(shè)計(jì)開發(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)象.

      從檢測模型偏差的角度出發(fā),環(huán)境輸入的多樣性反映了模型偏差表示(式(4))中的安全范圍.設(shè)計(jì)階段采樣的環(huán)境輸入多樣性越高,則對應(yīng)劃定的安全范圍越大.運(yùn)行階段實(shí)際的環(huán)境輸入多樣性越高,則當(dāng)前環(huán)境特性超出已劃定的安全范圍的可能性就越高.因此模型偏差檢測方法能否有效反映不同環(huán)境輸入下對應(yīng)的模型偏差安全范圍,決定了其能否準(zhǔn)確判斷當(dāng)前系統(tǒng)行為是否超出了安全范圍,也就決定了其能否有效地檢測模型偏差現(xiàn)象.

      除此之外,環(huán)境輸入也影響著模型偏差檢測的系統(tǒng)模型(式(2))和檢測變量估計(jì)(式(3)).對前者而言,在建模中補(bǔ)償環(huán)境輸入對系統(tǒng)輸出的影響有利于模型對被管理系統(tǒng)行為的精確描述;對后者而言,環(huán)境輸入決定了觀測變量序列D(T)的特征(如系統(tǒng)輸出序列的高、低抖動(dòng)),影響對檢測變量的估計(jì).

      非確定性描述了存在于控制型自適應(yīng)軟件系統(tǒng)觀測變量(如控制信號、系統(tǒng)輸出和環(huán)境輸入)的誤差.在模型誤差檢測的過程中,非確定性會(huì)使檢測變量估計(jì)(式(3))中所依據(jù)的觀測變量序列D(T)的值偏離其實(shí)際值.而這種數(shù)值上的偏離又具有累加效應(yīng).如對于線性時(shí)變系統(tǒng)這類保留歷史狀態(tài)信息的系統(tǒng)模型而言,觀測變量的誤差會(huì)導(dǎo)致對系統(tǒng)內(nèi)部參數(shù)的估計(jì)誤差,而估計(jì)誤差會(huì)隨著自適應(yīng)環(huán)數(shù)量的增加而累計(jì),最終造成對檢測變量的估計(jì)產(chǎn)生較大的誤導(dǎo).因此,檢測方法能否有效處理非確定性對檢測變量估計(jì)的不良影響,決定了其能否準(zhǔn)確地獲取檢測變量的估計(jì)值,也就決定了其對模型偏差檢測的準(zhǔn)確性.

      非確定性除了對檢測變量估計(jì)(式(3))具有重要影響外,還對系統(tǒng)建模(式(2))和模型偏差表示(式(4))具有一定的影響.對前者而言,刻畫非確定性有助于更加精確地描述被管理系統(tǒng)的行為;對后者而言,收集的運(yùn)行記錄中各變量的不確定性也會(huì)為檢測變量的估計(jì)引入誤差,影響檢測的準(zhǔn)確度.

      3 場景特性

      基于模型偏差檢測的理論框架,根據(jù)2.4節(jié)歸納得到的影響檢測有效性的3個(gè)主要因素,即控制信號、環(huán)境輸入和非確定性,提出了3個(gè)特性指標(biāo),即控制信號強(qiáng)度、環(huán)境輸入強(qiáng)度和非確定性強(qiáng)度,用于建立偏差場景特性的評價(jià)體系,并定義了這3個(gè)指標(biāo)的量化公式.具體而言,各特性指標(biāo)的量化公式為一個(gè)比值,其分子部分定量描述了各因素變化范圍的峰值,分母部分對該峰值基于系統(tǒng)輸出變化范圍進(jìn)行歸一化處理.以自適應(yīng)SWaT為例,各量化公式的分子部分分別表示因控制強(qiáng)度、環(huán)境輸入和非確定性變化導(dǎo)致的水箱水位的變化峰值,而分母部分統(tǒng)一為水箱水位的變化范圍值.

      3.1 控制信號強(qiáng)度

      控制信號強(qiáng)度IC描述了自適應(yīng)軟件系統(tǒng)中控制信號變化對模型偏差檢測有效性影響的強(qiáng)度,其量化公式為

      (6)

      在式(6)中,分子表示控制信號對應(yīng)的系統(tǒng)輸出變化預(yù)測值.某一場景下,控制信號強(qiáng)度IC值越高,說明該場景下的系統(tǒng)輸出越接近正常情況下的系統(tǒng)輸出;控制信號強(qiáng)度IC值越低,則說明該場景下的系統(tǒng)輸出與正常情況系統(tǒng)輸出的區(qū)分度越高.

      3.2 環(huán)境輸入強(qiáng)度

      環(huán)境輸入強(qiáng)度IE描述了自適應(yīng)軟件系統(tǒng)中環(huán)境輸入變化對模型偏差檢測有效性影響的強(qiáng)度,其量化公式為

      (7)

      其中,γ表示環(huán)境輸入對系統(tǒng)內(nèi)部狀態(tài)線性影響的系數(shù),可在自適應(yīng)軟件系統(tǒng)設(shè)計(jì)階段辨識獲得;a(i,j)表示第i個(gè)運(yùn)行記錄在第j個(gè)自適應(yīng)環(huán)的實(shí)測環(huán)境輸入;其他符號表示同式(6).

      在式(7)中,分子表示環(huán)境輸入變化導(dǎo)致系統(tǒng)輸出最大變化的預(yù)測值.某一場景下,環(huán)境輸入強(qiáng)度IE值越高,說明該場景下因環(huán)境輸入變化引起的系統(tǒng)輸出抖動(dòng)越大;環(huán)境輸入強(qiáng)度IE值越低說明該場景下因環(huán)境輸入變化引起的系統(tǒng)輸出抖動(dòng)越小.

      在自適應(yīng)SWaT中,式(7)分子部分對應(yīng)表示物理環(huán)境輸入變化導(dǎo)致各水箱水位最大變化的預(yù)測值.在某一模型偏差場景中,環(huán)境輸入強(qiáng)度IE值越高,說明因環(huán)境輸入變化導(dǎo)致的水箱水位抖動(dòng)越大;環(huán)境輸入強(qiáng)度IE值越低,說明因環(huán)境輸入變化導(dǎo)致的水箱水位抖動(dòng)越小.

      3.3 非確定性強(qiáng)度

      非確定性強(qiáng)度IU描述了自適應(yīng)軟件系統(tǒng)中非確定性對模型偏差檢測有效性影響的強(qiáng)度.這里的非確定性主要是基于自適應(yīng)軟件系統(tǒng)模型的各類觀測誤差,包括對控制信號、環(huán)境輸入和系統(tǒng)輸出的觀測誤差等.由于大多數(shù)觀測誤差均可以使用均值為0、方差為σ的正態(tài)分布進(jìn)行描述,因此本文使用一個(gè)均值為0、方差為R的正態(tài)分布統(tǒng)一描述觀測誤差:

      (8)

      其中Q,W,V分別為控制信號觀測誤差的方差、環(huán)境輸入觀測誤差的方差和系統(tǒng)輸出觀測誤差的方差.

      基于R,非確定性強(qiáng)度的量化公式為

      (9)

      其中m表示系統(tǒng)輸出變化最大誤差值相對于綜合觀測誤差標(biāo)準(zhǔn)差的倍數(shù).例如,根據(jù)正態(tài)分布的3 sigma準(zhǔn)則,m=6.其他符號表示同式(6).

      在式(9)中,分子表示系統(tǒng)輸出變化測量最大誤差值.某一場景下,非確定性強(qiáng)度IU值越高說明該場景下的系統(tǒng)輸出實(shí)測值的誤差越大;非確定性強(qiáng)度IU值越低說明該場景下的系統(tǒng)輸出實(shí)測值的誤差越小.

      在自適應(yīng)SWaT中,式(9)分子部分對應(yīng)表示各水箱水位變化測量最大誤差值.在某一模型偏差場景中,非確定性強(qiáng)度IU值越高說明水箱水位的誤差值越大;非確定性強(qiáng)度IU值越低說明水箱水位的誤差值越小.

      4 實(shí) 驗(yàn)

      基于3個(gè)控制型自適應(yīng)軟件系統(tǒng),本文設(shè)計(jì)了不同的運(yùn)行場景(包括被管理系統(tǒng)發(fā)生模型偏差的偏差場景和未發(fā)生模型偏差的正常場景),并在這些運(yùn)行場景下比較2.3節(jié)所述的4種模型偏差檢測方法的有效性.實(shí)驗(yàn)?zāi)繕?biāo)在于回答2個(gè)研究問題:

      問題1. 4種模型偏差檢測方法,即SWDetector,ARMA,Direct,MoD2,在不同運(yùn)行場景中對模型偏差現(xiàn)象的檢測效果如何.

      問題2. 4種模型偏差檢測方法各自適用的運(yùn)行場景,分別可以用哪些特性指標(biāo)區(qū)間加以刻畫.

      所有實(shí)驗(yàn)運(yùn)行于1臺配有8個(gè)CPU、16 GB內(nèi)存的阿里云ECS服務(wù)器上.

      4.1 實(shí)驗(yàn)配置

      4.1.1 實(shí)驗(yàn)對象

      一個(gè)實(shí)驗(yàn)對象是由一個(gè)被管理系統(tǒng)及其對應(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)對象的被管理系統(tǒng)和控制器為:

      1) SWaT.如1.2節(jié)所述,SWaT的被管理系統(tǒng)是一個(gè)生產(chǎn)雙重過濾飲用水的水處理系統(tǒng).其控制器是由SWaT的開發(fā)人員基于控制論和領(lǐng)域知識精心設(shè)計(jì)的可編程邏輯控制器[25],保障水箱無溢出和空箱且凈水產(chǎn)量最大化.

      2) RUBiS.RUBiS的被管理系統(tǒng)是一個(gè)網(wǎng)絡(luò)拍賣系統(tǒng),常作為控制型自適應(yīng)研究的實(shí)驗(yàn)對象[12,26,51].其控制器是一個(gè)依據(jù)PBM框架[9]設(shè)計(jì)的PID控制器,通過對服務(wù)器數(shù)量、工作狀態(tài)的伸縮來適應(yīng)用戶負(fù)載,保障網(wǎng)站運(yùn)營的快速響應(yīng)和高資源利用率.

      3) Encoder.Encoder的被管理系統(tǒng)是一個(gè)在線視頻壓縮系統(tǒng),也常作為控制型自適應(yīng)研究的實(shí)驗(yàn)對象[30,32,52].同樣地,其控制器是一個(gè)依據(jù)PBM框架[9]設(shè)計(jì)的PID控制器,通過調(diào)整壓縮算法的參數(shù)以平衡視頻吞吐量和視頻質(zhì)量,保障流暢和清晰的視頻流傳輸.

      4.1.2 場景設(shè)計(jì)

      運(yùn)行場景的設(shè)計(jì)是基于一個(gè)五元組(envini,envdev,paraini,paradev,t).其中,envini和envdev分別表示正常情況和模型偏差下的環(huán)境輸入,paraini和paradev分別表示正常情況和模型偏差下的模型參數(shù),t表示模型偏差發(fā)生的時(shí)間點(diǎn).實(shí)驗(yàn)對象首先依據(jù)envini和paraini進(jìn)行初始化,當(dāng)發(fā)生模型偏差時(shí),環(huán)境輸入變?yōu)閑nvdev,模型參數(shù)變?yōu)閜aradev.

      基于五元組的表示方法,根據(jù)已有工作將3個(gè)實(shí)驗(yàn)對象的運(yùn)行劃分為9個(gè)不同的運(yùn)行場景,包括4個(gè)正常運(yùn)行場景和5個(gè)模型偏差場景.每個(gè)運(yùn)行場景對應(yīng)于1個(gè)場景配置集合,具體如表1所示:

      Table 1 Scenario Configurations表1 場景配置

      在正常運(yùn)行場景中,整個(gè)自適應(yīng)軟件系統(tǒng)的envini=envdev且paraini=paradev,該場景配置下的運(yùn)行記錄稱為陰性運(yùn)行記錄.在模型偏差場景中,當(dāng)發(fā)生模型偏差時(shí),envini或paraini改變?yōu)椴煌膃nvdev或paradev,該場景配置下的運(yùn)行記錄稱為陽性運(yùn)行記錄.

      正常運(yùn)行場景對應(yīng)的場景配置集合(即SWaT1,RUBiS1,RUBiS2)覆蓋了現(xiàn)有工作對實(shí)驗(yàn)對象的原始設(shè)置[12].由于原始數(shù)據(jù)不可獲取,Encoder1不能覆蓋文獻(xiàn)[9]的原始設(shè)置,可根據(jù)文獻(xiàn)的描述生成場景配置.SWaT模型偏差場景對應(yīng)的場景配置集合(即SWaT2,SWaT3,SWaT4)覆蓋了SWaT中報(bào)告的模型偏差[25],包括物理摩擦磨損閥門導(dǎo)致的模型偏差(即SWaT2)、網(wǎng)絡(luò)攻擊篡改水位傳感器數(shù)值導(dǎo)致的模型偏差(即SWaT3)和網(wǎng)絡(luò)攻擊閥門控制信號導(dǎo)致的模型偏差(即SWaT4).RUBiS模型偏差場景對應(yīng)的場景配置集合(即RUBiS3)覆蓋了RUBiS系統(tǒng)已知的模型偏差設(shè)置[55],即系統(tǒng)配置和運(yùn)行環(huán)境不匹配.Encoder模型偏差場景對應(yīng)的場景配置集合(即Encoder2)根據(jù)經(jīng)驗(yàn)設(shè)計(jì)生成.SWaT3,SWaT4,RUBiS1,RUBiS3分別含有125,75,98,102個(gè)場景配置,而其他場景配置集合皆含有200個(gè)場景配置.

      4.1.3 場景劃分

      對于一個(gè)運(yùn)行場景,基于第3節(jié)提出的3個(gè)特性指標(biāo)的量化值,進(jìn)一步分類為6種特性場景之一.根據(jù)控制論中被廣泛使用的穩(wěn)態(tài)下外部波動(dòng)導(dǎo)致的系統(tǒng)輸出變化幅度不超過實(shí)際系統(tǒng)輸出變化范圍的5%這一假設(shè)[22],本文使用0.05作為劃分各特性指標(biāo)量化值的閾值,因?yàn)樘匦灾笜?biāo)量化值本身已經(jīng)在系統(tǒng)輸出變化范圍上進(jìn)行了歸一化.

      具體而言,根據(jù)控制信號強(qiáng)度值將運(yùn)行場景劃分為高控制影響場景IC↑(即控制信號強(qiáng)度矩陣IC中存在元素值大于0.05)和低控制影響場景IC↓(即控制信號強(qiáng)度矩陣IC的所有元素值都小于0.05).同理可劃分高、低環(huán)境影響場景IE↑和IE↓與高、低非確定性影響場景IU↑和IU↓.

      根據(jù)所提出的3個(gè)特性指標(biāo)計(jì)算9個(gè)運(yùn)行場景的特性指標(biāo),并歸類到劃分的6種特性場景中,具體如表2所示:

      Table 2 Scenario Characteristics表2 場景特性

      在SWaT中,傳感器數(shù)據(jù)篡改場景(即SWaT3)下,系統(tǒng)輸出變化顯著,使其控制信號強(qiáng)度指標(biāo)矩陣和非確定性強(qiáng)度指標(biāo)矩陣元素值均為0.00,即SWaT3屬于低控制影響場景和低非確定性影響場景,而其他3個(gè)運(yùn)行場景(即SWaT1,SWaT2,SWaT4)下的系統(tǒng)輸出變化較小,使其控制信號強(qiáng)度指標(biāo)矩陣和非確定性強(qiáng)度指標(biāo)矩陣元素值均大于0.05,即SWaT1,SWaT2,SWaT4屬于高控制影響場景.閥門磨損場景(即SWaT2)下,閥門進(jìn)、出水的流速因物理環(huán)境輸入(即物理摩擦)顯著變化,使其環(huán)境輸入強(qiáng)度指標(biāo)矩陣元素值大于0.05,即SWaT2屬于高環(huán)境影響場景,而其他3個(gè)運(yùn)行場景(即SWaT1,SWaT3,SWaT4)的環(huán)境輸入對系統(tǒng)輸出沒有影響,即SWaT1,SWaT3,SWaT4屬于低環(huán)境影響場景.

      在RUBiS中,低、高負(fù)載抖動(dòng)運(yùn)行場景(即RUBiS1和RUBiS2)下的系統(tǒng)輸出變化較小,使其3個(gè)特性指標(biāo)矩陣元素值均大于0.05,即RUBiS1和RUBiS2都屬于高控制影響場景、高環(huán)境影響場景和高非確定性影響場景.服務(wù)器狀態(tài)切換場景(即RUBiS3)下系統(tǒng)輸出變化較大,使其3個(gè)特性指標(biāo)矩陣元素值均小于0.05,即RUBiS3屬于低控制影響場景、低環(huán)境影響場景和低非確定性影響場景.

      在Encoder中,正常運(yùn)行場景(即Encoder1)下的系統(tǒng)輸出變化較小,使其3個(gè)特性指標(biāo)矩陣元素值均大于0.05,即Encoder1屬于高控制影響場景、高環(huán)境影響場景和高非確定性影響場景.視頻快速切換場景(即Encoder2)的系統(tǒng)輸出變化顯著,使其3個(gè)特性指標(biāo)矩陣元素值均小于0.05,即Encoder2屬于低控制影響場景、低環(huán)境影響場景和低非確定性影響場景.

      4.1.4 評價(jià)標(biāo)準(zhǔn)

      通過3個(gè)指標(biāo)評價(jià)模型偏差檢測方法在不同運(yùn)行場景下檢測的有效性.

      1) 平均時(shí)間延遲(mean time delay,MTD).陽性運(yùn)行記錄從模型偏差時(shí)間點(diǎn)到檢測報(bào)警時(shí)間點(diǎn)的平均時(shí)間間隔.

      2) 漏報(bào)率(false negative,FN).陽性運(yùn)行記錄集合中被錯(cuò)誤檢測為陰性運(yùn)行記錄的百分比.

      3) 誤報(bào)率(false positive,FP).陰性運(yùn)行記錄集合中被錯(cuò)誤檢測為陽性運(yùn)行記錄的百分比,或者陽性運(yùn)行記錄集合中陰性部分被錯(cuò)誤檢測為陽性的百分比.

      4.2 實(shí)驗(yàn)結(jié)果

      實(shí)驗(yàn)針對問題1,統(tǒng)計(jì)9個(gè)運(yùn)行場景下4種主流模型偏差檢測方法的有效性,歸一化對比分析每個(gè)運(yùn)行場景的有效檢測方法;針對問題2,統(tǒng)計(jì)6種特性場景下各檢測方法的有效性指標(biāo)均值,分析各檢測方法適用的特性場景范圍.

      1) 針對問題1的方法有效性.表3顯示了9個(gè)運(yùn)行場景下4種主流模型偏差檢測方法的有效性.其中,對于正常運(yùn)行場景SWaT1,RUBiS1,RUBiS1和Encoder1,指標(biāo)MTD和FN的值為空.

      Table 3 Effectiveness of Different Scenarios with Each Detection Approach表3 不同場景下各檢測方法的有效性

      在SWaT正常運(yùn)行場景SWaT1下,SWDetector和MoD2沒有誤報(bào),Direct的FP值達(dá)到13.5%,而ARMA不適用于該運(yùn)行場景(即FP值為100%).在SWaT閥門磨損場景SWaT2下,MoD2的3個(gè)指標(biāo)值皆顯著低于其他檢測方法(即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ù)篡改場景SWaT3下,SWDetector和MoD2的MTD值分別為0.05 s和1.69 s,且沒有漏報(bào)和誤報(bào);Direct的3個(gè)指標(biāo)值皆顯著高于SWDetector和MoD2;而ARMA的3個(gè)指標(biāo)值皆最高(即MTD值為33.21 s,FN值和FP值皆為66.4%).在控制信號篡改場景SWaT4下,MoD2的MTD值顯著低于SWDetector和Direct,且沒有漏報(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)行場景RUBiS1下,SWDetector沒有誤報(bào),Direct和MoD2的FP值皆為1.0%,而ARMA的FP值為8.2%;在RUBiS的高負(fù)載抖動(dòng)運(yùn)行場景RUBiS2下,ARMA的FP值為1.0%,而其他3個(gè)檢測方法沒有誤報(bào);在RUBiS的服務(wù)器狀態(tài)切換場景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)行場景Encoder1下,SWDetector和Direct皆沒有誤報(bào),MoD2的FP值為2.5%,而ARMA的FP值高達(dá)98.5%.在Encoder的視頻快速切換場景Encoder2下,MoD2的MTD值為0.00 s,FN值和FP值皆為0.5%;Direct和SWDetector的MTD值分別為0.03 s和0.13 s,且沒有漏報(bào)和誤報(bào);ARMA的MTD值為0.00 s,但是FN值和FP值高達(dá)64.0%.

      由于評價(jià)標(biāo)準(zhǔn)的3個(gè)指標(biāo)描述了檢測時(shí)延和檢測準(zhǔn)確度2個(gè)不同維度的有效性,需要對這3個(gè)指標(biāo)做歸一化和加權(quán)處理,從而獲得一個(gè)歸一化加權(quán)指標(biāo)值來對比各檢測方法的有效性.對于某一檢測方法,其評價(jià)指標(biāo)的歸一化值為其評價(jià)指標(biāo)值與各對比檢測方法評價(jià)指標(biāo)最小值之差和各對比檢測方法評價(jià)指標(biāo)值范圍的比值.

      由于檢測時(shí)延的評價(jià)只使用MTD值這一個(gè)指標(biāo),而檢測準(zhǔn)確度的評價(jià)卻使用FN值和FP值這2個(gè)不同角度的指標(biāo),考慮到檢測時(shí)延和檢測準(zhǔn)確度2個(gè)維度的平衡,需為3個(gè)評價(jià)指標(biāo)的歸一化值添加相應(yīng)的權(quán)重,即MTD值的歸一化值權(quán)重為2,FN值和FP值的歸一化值權(quán)重皆為1.則各檢測方法有效性的歸一化加權(quán)指標(biāo)值為3個(gè)評價(jià)指標(biāo)歸一化值與權(quán)重乘積之和,其值越小表示有效性越好.具體如表4所示:

      Table 4 Total Weight and Effectiveness Ranking of Different Scenarios with Each Detection Approach表4 不同場景下各檢測方法的總權(quán)重和有效性排序

      對于不同的運(yùn)行場景,4種模型偏差檢測方法的有效性排序存在差異.SWDetector在不同運(yùn)行場景下的有效性差異最大,如該檢測方法在SWaT的傳感器數(shù)據(jù)篡改場景SWaT3下的有效性最好,卻在SWaT的閥門磨損場景SWaT2下的有效性最差.ARMA在閥門磨損場景SWaT2下的有效性優(yōu)于SWDetector和Direct,在控制信號篡改場景SWaT4下的有效性優(yōu)于SWDetector,而其他運(yùn)行場景皆差.Direct的有效性差異較大,如該檢測方法在RUBiS的服務(wù)器狀態(tài)切換場景RUBiS3下的有效性最好,而在SWaT3下的檢測有效性劣于SWDetector和MoD2.MoD2在SWaT傳感器數(shù)據(jù)篡改場景SWaT3下和RUBiS正常運(yùn)行場景RUBiS1下的有效性劣于SWDetetor,在Encoder正常運(yùn)行場景Encoder1下的有效性劣于SWDetector和Direct,而在其他運(yùn)行場景下有效性皆優(yōu).

      Table 5 Effectiveness of Each Detection Approach under Different Characteristic Scenarios表5 各檢測方法在不同特性場景下的有效性

      綜上,4種主流模型偏差檢測方法適用的特性場景如表6所示:

      Table 6 Applicability of Each Detection Approach表6 各檢測方法適用性

      SWDetector通過自適應(yīng)軟件系統(tǒng)的系統(tǒng)輸出變化檢測模型偏差.如果自適應(yīng)軟件系統(tǒng)模型偏差場景下的系統(tǒng)輸出變化與正常情況的區(qū)分度越大,則該檢測方法的有效性越好,反之則沒有考慮控制信號因素.因此,SWDetector適用于低控制影響場景IC↓.SWDetector通過滑動(dòng)窗口綜合考慮連續(xù)多次的系統(tǒng)輸出值,從而平滑觀測誤差,但該補(bǔ)償操作對于高非確定性因素的補(bǔ)償效果有限.因此,SWDetector適用于低非確定性影響場景IU↓.由于SWDetector在建模自適應(yīng)軟件系統(tǒng)時(shí)未考慮環(huán)境輸入,使環(huán)境輸入導(dǎo)致的系統(tǒng)輸出顯著變化會(huì)降低檢測的有效性,因此SWDetector適用于低環(huán)境影響場景IE↓.

      ARMA使用自回歸模型描述模型偏差對于系統(tǒng)輸出的影響.自適應(yīng)軟件系統(tǒng)模型偏差場景下的系統(tǒng)輸出變化與正常情況的區(qū)分度越大,則該方法的有效性越好,反之則難以檢測.因此,ARMA適用于低控制影響場景IC↓.ARMA方法通常將環(huán)境輸入和非確定性因素視為影響自適應(yīng)軟件系統(tǒng)整體行為的一個(gè)外部擾動(dòng),并通過控制系統(tǒng)的穩(wěn)定性加以處理,并沒有引入單獨(dú)的機(jī)制進(jìn)行應(yīng)對.因此,ARMA適用于低環(huán)境影響場景IE↓和低非確定性影響場景IU↓.

      Direct基于標(biāo)稱模型,引入環(huán)境輸入建模自適應(yīng)軟件系統(tǒng).因此,Direct適用于任何環(huán)境影響場景IE↑和IE↓.自適應(yīng)軟件系統(tǒng)模型偏差場景下的系統(tǒng)輸出變化與正常情況的區(qū)分度越大,則模型參數(shù)估計(jì)值越容易超出安全區(qū)域,反之越容易被其他特性影響留在安全區(qū)域內(nèi).因此,Direct適用于低控制影響場景IC↓.由于控制信號的變化,Direct的補(bǔ)償操作(即滑動(dòng)窗口方法)不能有效平滑高非確定性因素.因此,Direct適用于低非確定性影響場景IU↓.

      MoD2基于標(biāo)稱模型,建模了模型參數(shù),添加了環(huán)境輸入和各種非確定性補(bǔ)償項(xiàng),因此適用于所分類的6種特性場景.

      由上述分析可知,MoD2在檢測模型偏差時(shí)可以有效地覆蓋不同的偏差場景.但相比于其他方法,MoD2需要開發(fā)人員在設(shè)計(jì)系統(tǒng)時(shí)額外計(jì)算更多的信息(如模型參數(shù)值的先驗(yàn)分布和非確定性補(bǔ)償項(xiàng)的參數(shù)值),且在檢測變量估計(jì)的過程中使用了計(jì)算量更大的貝葉斯方法,在性能上帶來了額外的開銷.這些額外的開銷使得MoD2能夠應(yīng)對各種高影響場景(即IC↑,IE↑,IU↑),但卻不能在低影響場景中相比其他部分方法提升其檢測有效性.因此我們認(rèn)為,在應(yīng)對各種低影響場景時(shí),可以綜合使用滑窗這類的低成本檢測方法,以平衡檢測方法的有效性和性能開銷.

      4.3 有效性威脅

      實(shí)證結(jié)論有效性的威脅包括實(shí)驗(yàn)對象、實(shí)現(xiàn)的模型偏差檢測方法以及場景特性3個(gè)指標(biāo)的內(nèi)在聯(lián)系.

      本文只使用了3個(gè)自適應(yīng)軟件系統(tǒng)作為實(shí)驗(yàn)對象,這可能會(huì)影響實(shí)驗(yàn)結(jié)論的普遍性.為了進(jìn)行實(shí)驗(yàn),需要對被管理系統(tǒng)及其控制論設(shè)計(jì)的控制器有充分的了解.這一要求限制了對可能的實(shí)驗(yàn)對象的選擇.盡管如此,所選擇的實(shí)驗(yàn)對象代表了不同平臺(包括網(wǎng)絡(luò)系統(tǒng)和信息物理融合系統(tǒng))和架構(gòu)(包括單控制器和多控制器)的自適應(yīng)軟件系統(tǒng).此外,所選自適應(yīng)軟件系統(tǒng)都被其他自適應(yīng)研究人員廣泛用作實(shí)驗(yàn)對象或研究案例.

      本文實(shí)現(xiàn)了4個(gè)模型偏差檢測方法.這4個(gè)檢測方法的實(shí)現(xiàn)可能無法完全代表4種主流模型偏差檢測方法的真實(shí)有效性.但是,這4個(gè)檢測方法都是依據(jù)已有的文獻(xiàn)描述實(shí)現(xiàn),其有效性已經(jīng)在相關(guān)文獻(xiàn)中得到了證明.因此,所實(shí)現(xiàn)的檢測方法可以比較好地反映所代表的模型偏差檢測方法的有效性.

      與控制論使用精確的數(shù)學(xué)模型去描述運(yùn)行場景不同,基于模型偏差檢測框架,對影響模型偏差檢測方法的有效性的因素進(jìn)行分析(即控制信號、環(huán)境輸入和非確定性3個(gè)主要因素對模型偏差檢測方法有效性的影響),由此定義了3個(gè)量化指標(biāo)去描述運(yùn)行場景在檢測有效性影響層面上的特性.因此,3個(gè)指標(biāo)代表自適應(yīng)軟件系統(tǒng)3個(gè)不同維度的檢測有效性影響因素的特性.

      5 相關(guān)工作

      軟件控制論是軟件工程的一個(gè)重要分支,其核心在于使用控制論的方法來解決軟件工程中的問題.現(xiàn)有工作中,軟件控制論已廣泛運(yùn)用于軟件的需求、實(shí)現(xiàn)、測試等各個(gè)方面[56].在軟件需求方面,控制論將反饋控制環(huán)用于需求提升.Xu等人[57]使用控制論來定義一個(gè)需求工程過程控制系統(tǒng).Liu等人[58]將數(shù)據(jù)驅(qū)動(dòng)的需求激發(fā)過程表示為一個(gè)反饋控制系統(tǒng),需求激發(fā)變成了對用戶行為模型的不斷優(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)研究.在軟件測試方面,控制論方法可以定量地預(yù)測測試過程的趨勢,并幫助管理者分配測試資源.Cangussu等人[59]使用反饋控制來調(diào)整測試過程的參數(shù).Zhang等人[60]遵循軟件控制論,提出了基于歷史的動(dòng)態(tài)隨機(jī)軟件測試,改進(jìn)了傳統(tǒng)的隨機(jī)測試和隨機(jī)劃分測試策略.

      控制型自適應(yīng)軟件系統(tǒng)的開發(fā)首先需要建立被管理系統(tǒng)的標(biāo)稱模型.在早期,標(biāo)稱模型可從已知的復(fù)雜系統(tǒng)架構(gòu)模型中推導(dǎo)獲得.Checiu等人[61]從Web服務(wù)系統(tǒng)的服務(wù)器請求模型中推導(dǎo)出對應(yīng)的常微分方程.Filieri等人[62-63]從應(yīng)用程序的離散時(shí)間馬爾可夫鏈模型中推導(dǎo)出對應(yīng)的數(shù)學(xué)方程.推導(dǎo)出的標(biāo)稱模型雖然能夠較好地描述軟件系統(tǒng)的行為,但要求開發(fā)人員同時(shí)具備軟件工程和控制論2方面的專業(yè)知識.為了降低開發(fā)人員的負(fù)擔(dān),同時(shí)更好地理解和推理實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)的行為,Filieri等人[9]提出了PBM框架,該框架給出了自適應(yīng)軟件系統(tǒng)的自動(dòng)化設(shè)計(jì)過程,理論保證實(shí)現(xiàn)的自適應(yīng)軟件系統(tǒng)具有所需的控制屬性.基于PBM框架,不同類型的標(biāo)稱模型和各種控制技術(shù)被引入用來應(yīng)對不同的軟件自適應(yīng)場景[5].然而,基于數(shù)據(jù)驅(qū)動(dòng)的標(biāo)稱模型更加凸顯模型偏差問題,使得各種模型偏差檢測方法應(yīng)運(yùn)而生.面對各種檢測方法,需要一個(gè)指導(dǎo)向的工作幫助選擇有效的模型偏差檢測方法,實(shí)現(xiàn)可靠運(yùn)行的自適應(yīng)軟件系統(tǒng).本文從模型偏差場景角度,分析了各模型偏差檢測方法適用的特性場景,輔助檢測方法的有效選擇.

      模型偏差問題自控制型自適應(yīng)軟件系統(tǒng)被提出以來一直備受關(guān)注.現(xià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ù)辨識值在系統(tǒng)運(yùn)行時(shí)不斷更新.Maggio等人[30]使用卡爾曼濾波,通過更新標(biāo)稱模型的狀態(tài)變量值達(dá)到修改標(biāo)稱模型參數(shù)辨識值的目的.這2類處理方式基本解決了標(biāo)稱模型參數(shù)辨識值的輕微偏差.第3類是模型偏差檢測.該類處理方式關(guān)注會(huì)使自適應(yīng)軟件系統(tǒng)的理論保證失效,可能導(dǎo)致被管理系統(tǒng)行為異常的模型偏差.在線檢測這類模型偏差對自適應(yīng)軟件系統(tǒng)的可靠運(yùn)行至關(guān)重要.PBM框架也考慮了模型偏差問題,并提供了基于滑窗的系統(tǒng)輸出檢測方法實(shí)時(shí)檢測由于模型偏差導(dǎo)致的系統(tǒng)異常行為.He等人[22]針對控制型CPS,提出了基于自回歸的系統(tǒng)輸出檢測方法,用于檢測由于軟件bug導(dǎo)致的模型偏差.Tong等人[10]針對現(xiàn)有檢測方法沒有平衡檢測及時(shí)性和準(zhǔn)確性的問題,提出了基于貝葉斯參數(shù)估計(jì)的檢測方法.對于模型偏差檢測,現(xiàn)有工作專注于針對不同的被管理系統(tǒng)和模型偏差場景提出既快又準(zhǔn)的檢測方法.據(jù)我們所知,現(xiàn)有工作缺乏對不同偏差場景下各檢測方法適用性的系統(tǒng)化研究.本文通過大量實(shí)驗(yàn)分析和描述了4種主流模型偏差檢測方法的適用性,為實(shí)現(xiàn)可靠自適應(yīng)軟件系統(tǒng)時(shí)如何選擇有效的檢測方法提供了實(shí)證研究支持.

      傳統(tǒng)控制論同樣關(guān)注模型偏差檢測問題,并提出了各種檢測方法.Webber等人[64]利用系統(tǒng)輸出抖動(dòng)與模型預(yù)測誤差的相似度來檢測模型偏差.Badwe等人[65]提出了一個(gè)基于分析控制信號和模型殘差之間的偏相關(guān)性的檢測方法.Ji等人[66]通過對比估計(jì)過程的頻率響應(yīng)與基于模型的頻率響應(yīng),檢測多變量模型預(yù)測控制的模型偏差.Wang等人[67]提出一種基于子空間法的模型偏差檢測方法.Yin等人[68]提出了一種數(shù)據(jù)驅(qū)動(dòng)方法來檢測模型偏差,該方法結(jié)合子空間法和滑動(dòng)窗口來估計(jì)標(biāo)稱模型的參數(shù)值.Tsai等人[69]使用2個(gè)系統(tǒng)辨識步驟來檢測和定位模型偏差.控制領(lǐng)域關(guān)于偏差檢測方法的實(shí)證研究關(guān)注在相同實(shí)例下對比各檢測方法的優(yōu)劣.Iqbal等人[70]對比了基于帶輸入自回歸(autoregressive with exogenous inputs, ARX)模型和有限沖激響應(yīng)(finite impulse response, FIR)模型的2種檢測方法,表明在實(shí)例下基于ARX模型的檢測方法要優(yōu)于基于FIR模型的檢測方法.Uddin等人[14]基于實(shí)例對比了ARX模型和帶輸入自回歸滑動(dòng)平均(autoregressive-moving-average with exogenous inputs, ARMAX)模型的2種偏差檢測方法,表明使用ARMAX建模受控物理系統(tǒng)能以更少的模型階數(shù)達(dá)到更好的檢測效果.而本文的實(shí)證研究關(guān)注每個(gè)檢測方法適用的實(shí)例有哪些特性.

      6 總 結(jié)

      本文通過實(shí)驗(yàn)對控制型自適應(yīng)軟件系統(tǒng)的模型偏差方法在不同模型偏差場景下的適用性進(jìn)行研究.基于提出的模型偏差檢測框架中對模型偏差檢測有效性產(chǎn)生影響的3個(gè)維度(即控制信號、環(huán)境輸入和非確定性),提出一套特性指標(biāo),即控制信號強(qiáng)度、環(huán)境輸入強(qiáng)度和非確定性強(qiáng)度,來描述模型偏差場景,并根據(jù)系統(tǒng)輸出穩(wěn)定性假設(shè),為3個(gè)特性指標(biāo)劃分6種不同特性場景.基于3個(gè)自適應(yīng)軟件系統(tǒng)生成的9個(gè)運(yùn)行場景,實(shí)驗(yàn)分析4種主流模型偏差檢測方法適用的特性場景范圍.

      作者貢獻(xiàn)聲明:童燕翔與秦逸完成研究構(gòu)思、實(shí)驗(yàn)設(shè)計(jì)、數(shù)據(jù)分析和論文寫作;馬曉星指導(dǎo)研究選題、方法設(shè)計(jì)以及論文修改等.全體作者都閱讀并同意最終的文本.

      猜你喜歡
      確定性偏差管理系統(tǒng)
      論中國訓(xùn)詁學(xué)與經(jīng)典闡釋的確定性
      論法律解釋的確定性
      法律方法(2022年1期)2022-07-21 09:18:56
      含混還是明證:梅洛-龐蒂論確定性
      基于James的院內(nèi)郵件管理系統(tǒng)的實(shí)現(xiàn)
      如何走出文章立意偏差的誤區(qū)
      兩矩形上的全偏差
      基于LED聯(lián)動(dòng)顯示的違停管理系統(tǒng)
      海盾壓載水管理系統(tǒng)
      中國船檢(2017年3期)2017-05-18 11:33:08
      法律確定性的統(tǒng)合理性根據(jù)與法治實(shí)施
      關(guān)于均數(shù)與偏差
      晋州市| 晋江市| 股票| 平遥县| 郎溪县| 丹棱县| 蕉岭县| 禹州市| 彩票| 青岛市| 通化市| 大埔区| 三江| 清水河县| 莆田市| 固始县| 日喀则市| 绥中县| 天峻县| 陆丰市| 乌拉特后旗| 化州市| 灯塔市| 穆棱市| 新河县| 呼和浩特市| 青田县| 阜新市| 迭部县| 宁晋县| 黄石市| 靖江市| 灯塔市| 株洲县| 平潭县| 乐都县| 张家界市| 长葛市| 隆林| 桐城市| 屯留县|