999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向環境與需求不確定性的系統自適應決策

2018-05-28 03:06:20楊卓群
計算機研究與發展 2018年5期
關鍵詞:滿意度環境

楊卓群 金 芝

1(高可信軟件技術教育部重點實驗室(北京大學) 北京 100871) 2(中國科學院數學與系統科學研究院數學研究所 北京 100190) 3 (北京大學信息科學技術學院軟件研究所 北京 100871) (zhuoqun.y@hotmail.com)

隨著軟件系統越來越深入地嵌入到人類社會和物理社會中,軟件在運行時會與其他軟硬件系統、物理設備和用戶發生密切交互.來自交互環境和用戶對軟件期望的不確定性成為軟件系統開發面臨的挑戰.

不確定性(uncertainty)指一種具有不完善或未知信息和知識的狀況.在這一狀況下,事物的當前狀態、未來的某一結果或者多個結果都無法被確切地描述出來[1].它出現在部分可觀測或者隨機的環境中,并且由相關知識的缺失所導致.

不確定性存在于對未來事件的預測以及對事物的度量過程中[2].處理不確定性的方式有多種,比如:貝葉斯學派通過概率對事件的發生情況進行描述,以預測未來事件發生的可能性;模糊理論學派通過模糊邏輯對變量的度量結果進行描述,以處理度量過程中的誤差[3].

軟件系統所面對的不確定性包括交互環境的變化難以準確預測,及其需求隨環境發生的改變無法預知[4].不確定性使軟件系統變得復雜.為應對來自交互環境和需求的變化,軟件需要做出相應調節以提供持續的服務.此調節過程實際上是一種自適應過程[5].為保證自適應軟件系統能夠根據運行時環境和需求的變化進行自主調節,需要構建自適應機制[6].

目前,關于自適應軟件系統如何建模和決策以應對不確定性的研究有:1) 在應對環境不確定性方面,主要工作包括基于目標模型刻畫環境對需求的影響[7]、通過追蹤性刻畫環境變化帶來的需求變化[8-10],基于組件結構的自適應決策[11-12]和基于概率計算的自適應決策[13-15];2) 在應對需求變化方面,相關工作包括運行時的需求監控[16]、需求彈性建模[17-18]、環境和需求的推理關系建模[19]、不確定性需求的管理[20-21]及針對需求滿足變化性的自適應決策[22-24].

當環境和需求均不確定時,在自適應過程中同時考慮兩者變化及軟件行為的調整非常必要.然而,現有工作缺乏對這一問題的綜合考慮,有的僅關注如何建模環境和需求間的變化追蹤關系,有的僅考慮如何在變化的環境下調整軟件行為以滿足固定需求.它們均不能處理環境和需求自身均有變化的自適應問題.

本文的主要關注點為如何通過自適應決策來應對環境和需求的不確定性.首先,環境的變化會引起軟件質量需求的變化.在用戶無法準確表達質量需求時,就無法精確建立環境對需求的影響關系.比如:“電量充足的情況下,用戶希望能接收到更多的數據”,其中的“電量充足”和“更多的數據”都是無法準確衡量的.這些無法準確量化的表述,均適合通過模糊邏輯進行刻畫.另外,環境和需求的變化也會導致無法準確描述它們和軟件行為間的關系[25].其次,需求的不確定性會導致自適應決策目標的變化.決策目標固定時,軟件系統可依據先驗知識實現調節.然而在決策目標變化時,基于先驗知識的調節過程可能會失效,因為先驗知識無法覆蓋不可預知的變化.這2點都對自適應決策過程帶來很大的挑戰.

為通過自適應決策應對不確定性,軟件系統應當能夠感知環境和需求變化,并根據這些變化對自身行為進行優化調節.從感知到調節的過程可通過控制方法實現[26],尤其是采用反饋回路構建自適應機制[27].

本文提出一種基于模糊控制的自適應決策方法(fuzzy control based adaptation decision making, FADEM),通過控制機制和推理計算實現軟件系統的在線優化決策,以應對運行時環境和需求的不確定性.主要工作包括3個方面:

1) 基于模糊邏輯建模并描述環境、需求和軟件行為中的變化要素及要素間的影響關系;

2) 根據影響關系構建啟發式推理規則,基于模糊推理過程實現量化的推理計算;

3) 基于前饋-反饋控制結構設計自適應機制與算法,并結合MAPE-K結構[28]設計軟件自適應組件,用于實現自適應過程.

1 研究案例

本節主要介紹一個移動端軟件系統的研究案例,用于說明本文方法的可行性和有效性.

比特幣(bitcoin)[29]是近年來出現的一種電子貨幣,用作互聯網上的交易媒介.與傳統貨幣不同,比特幣依存于一種豐富、廣泛的互聯網生態系統.比特幣的計算核心是一個全局的、公共的日志.由于日志數據是通過節點逐個傳遞的,因此被形象的稱為區塊鏈.區塊鏈記錄了所有用戶的比特幣交易記錄.

礦工(miner)是互聯網中共同維護區塊鏈的參與者,具有松散的、分布式的、去中心化的組織結構.礦工可以是服務提供商,也可以是自然人.他們在本地獲取并處理其他用戶的交易數據,將結果在區塊鏈中傳播.礦工處理交易數據的過程叫做采礦,采礦的工具稱為比特幣采礦機(bitcoin-miner),它可以用于PC端,也可以用于移動端.采礦模式概括為:礦工消耗本地的計算資源來維護區塊鏈,同時會得到相應數量的比特幣作為獎勵.采礦機軟件系統的業務功能需求為:

1) 用戶需對個人賬戶進行管理;

2) 系統需收集并處理區塊鏈中的交易記錄;

3) 系統需將本地交易記錄在網絡中廣播;

4) 用戶需獲得比特幣作為采礦的獎勵.

移動終端的采礦機系統會受到一系列計算資源的制約,如帶寬、延遲、剩余電量和可用內存等.用戶對系統還有質量需求(quality requirements).

1) QR1:用戶希望系統的響應速度更快;

2) QR2:用戶希望系統更加節能省電;

3) QR3:用戶希望系統處理的交易數據更多.

2 FADEM方法概覽

軟件開發問題就是要通過開發軟件,使其與環境產生交互,以滿足需求.軟件(S)、軟件系統的交互環境(E)及軟件需求(R)之間存在關系[30]:

(1)

即軟件應符合行為規約S,并通過和其交互環境E發生交互,使需求R得以滿足.這里,R不僅包含了功能需求還包括質量需求.

由于軟件系統運行過程中存在不確定性,即E和R均會發生變化,這就要求S必須也能隨之發生相應變化,以保證軟件系統能滿足需求(式(1)).其中,關于變化的影響分為2個方面:

1) 環境變化會引起需求變化.這體現為在不同的環境中,用戶可能會對軟件有不同的期望.我們目前僅關注質量需求變化的情況,即用戶偏好的變化.這種偏好可通過用戶對質量需求的預期滿意度(desired satisfaction degree)來衡量.比如,對于比特幣采礦機而言,終端電量較低時,用戶對于節能需求的偏好會更強,即對此需求的預期滿意度就會增高,反之則降低.此外,預期滿意度也描述了用戶對質量需求的接受程度,滿意度高則表示用戶對該需求的接受限制越高.當環境不確定時,質量需求的偏好也是不確定的.如何描述環境和質量需求,并建立兩者間變化的關聯是描述這一影響關系的關鍵點.

2) 環境和需求的變化會引起軟件行為也隨之發生變化,即軟件根據環境和自身的變化,展現不同的行為,以保證當前需求的滿足.質量需求的實際滿足情況用其實際滿意度(actual satisfaction degree)來衡量.這一方面的關鍵點是如何根據環境和質量需求來確定軟件行為,即如何建立自適應機制,通過決策使質量需求的實際滿意度能夠達到預期滿意度.

為刻畫上述2個方面的影響,首先需要建立質量需求、環境和軟件行為間的影響關系,即建立質量需求、環境和軟件行為中那些變化要素間的影響關系.這就需要一種能建模和描述變化要素的方法.

其次,對于軟件系統,量化求解往往無法采用精確的系統方程實現,而基于規則推理的方法能解決這一問題.比如,模糊推理可用于不確定性的量化計算.因此,在缺少系統方程的情況下,構建推理規則是支持決策求解的要點.

再次,軟件在運行時需要不斷感知環境和需求的變化,并基于這些變化對其行為進行決策,軟件系統自身應構成封閉回路.故為實現自適應過程,還需提供一種將軟件建模為回路的自適應機制.

針對此3點問題,FADEM方法:1)通過模糊邏輯建模并描述變化不確定的質量需求、環境和軟件行為,并建立變化要素間的影響關系(第3節);2)基于變化要素間的影響關系,構建啟發式推理規則,用于支持定量的推理計算(第4節);3)基于前饋-反饋控制結構,構建自適應機制,并通過具體算法和組件實現在線的自適應決策(第5節).

FADEM的框架可以通過圖1表示:系統由業務邏輯層和自適應邏輯層2部分刻畫,業務邏輯層包含軟件的功能結構和交互環境,自適應邏輯層包含實現自適應決策所需要的自適應機制、算法和組件;系統建模過程從業務邏輯層抽象構建系統的需求模型、環境模型和配置模型,并進一步由用戶和專家從模型中抽取出變化要素和要素間的影響關系;模糊控制器的構建包括2個部分:隸屬函數根據變化要素的描述生成,推理規則根據影響關系的描述生成;模糊控制器構成了自適應邏輯層的求解單元.

Fig. 1 Framework of FADEM圖1 FADEM的框架

3 基于模糊邏輯的系統建模

為描述質量需求、環境和軟件行為之間的關系,需要對系統進行建模.系統建模涉及3個方面:質量需求建模、環境建模和軟件配置建模.本節首先介紹這3個方面的模型,然后進一步闡述質量需求、環境和軟件行為間的關系.

3.1 質量需求建模

為描述質量需求,首先應進行需求建模.目標模型是用于刻畫軟件需求的常用模型,建模元素分別為:目標描述軟件的功能需求、任務描述實現目標所要執行的動作、軟目標用于刻畫質量需求、分解關系用于刻畫目標間或目標與任務間的精化關系、貢獻關系刻畫任務對于軟目標的支持.

為描述需求滿足程度的彈性,Whittle等人[18]提出RELAX語言,對需求完成情況進行放松.其形式為在需求前加入模糊關鍵詞,比如“盡可能滿足p”,其中p為與需求相關的原子命題.然而,RELAX只考慮了需求滿足情況的變化,并未關注需求本身是否會變化.因此不適用于處理需求自身變化的問題.

FADEM用于解決質量需求自身變化時的決策問題.質量需求的自身變化體現為其預期滿意度的變化,而其實際滿足情況則通過實際滿意度來刻畫.自適應決策目標為每個質量需求的預期滿意度和實際滿意度的差值盡可能接近于零.這種決策目標應在目標模型中的每個軟目標上進行擴展,以刻畫質量需求變化.

擴展過程首先通過目標建模,識別出軟件所需滿足的軟目標集合SG={sg1,sg2,…,sgn}和軟目標滿意度集合SD={sd1,sd2,…,sdn}.滿意度的取值為[0,1]上的實數.

為根據軟目標滿意度的變化進行決策,需要刻畫滿意度的變化性.軟目標滿意度描述為四元組

sdvs d,doms d,LVs d,MFs d.

1)vs d是滿意度的清晰值(crisp value);

2)doms d是滿意度的定義域(domain),即[0,1];

軟目標滿意度的取值空間表示為笛卡兒積:

對于軟件整體,其決策目標應權衡每個軟目標,從而使整體滿意度偏差達到最小,即:

(2)

其中,wi是sgi的權重.

整體決策目標的含義是通過自適應決策使實際滿意度更貼近預期滿意度.從這一角度出發,考慮用戶需求的變化性和需求預期滿意度才具有意義.該決策目標既使軟件的調節結果能更好地符合用戶期望,又在滿足需求的前提下,減小了系統開銷.

以比特幣采礦機為例,為能實現其業務需求,它應支持用戶管理、交易數據收集、數據分析和報酬獲取的功能.為更靈活地滿足質量需求,采礦機應具有一定調整能力,比如,能對處理數據規模和時間進行設置.此外,由于軟件所處的網絡環境是多變的,它需要支持不同的交易數據廣播方式,即廣播到主區塊或者廣播到鄰近節點.通過對采礦機軟件目標建模,可得到圖2所示的采礦機需求模型.其中,目標集合{g1,g2,…,g15}表示軟件的功能需求,任務集合{t1,t2,…,t8}表示軟件為實現目標所需要執行的任務.

Fig. 2 Requirements model of bitcoin-miner圖2 比特幣采礦機需求模型

軟目標sg1,sg2,sg3分別建模采礦機質量需求QR1,QR2,QR3.sg0是在3個軟目標之上的總體軟目標.圓角矩形表示針對每個軟目標擴展出的相應決策目標.

以sg1的滿意度sd1為例,當用語言變量集合{低,中,高}對其進行刻畫時,它描述為

vs d1,[0,1],{低,中,高},MFs d1.

滿意度表達式中的隸屬函數集合MFs d應通過用戶對質量需求滿足程度的評估來構建.構建隸屬函數的過程就是確定隸屬函數參數的過程.函數參數可采用問卷調研法(questionnaire survey)進行抽取.常見的隸屬函數類型包括三角型隸屬函數、梯形隸屬函數和高斯型隸屬函數等.對于不同類型的隸屬函數,需要抽取的參數是不同的,但抽取步驟是一致的.注意,不同軟目標滿意度的隸屬函數類型可以不同,并且針對不同的軟目標滿意度需設計不同的問卷.

以圖2中sg1的滿意度和三角型隸屬函數為例,該滿意度隸屬函數的抽取步驟如下:

1) 設計關于滿意度的調研問題,如圖3(a)所示,調研問題中應給定滿意度取值范圍;

2) 設計評估表格,如圖3(b)所示.表格首行為描述滿意程度的語言變量;表格首列為用戶評估滿意度屬于某語言變量的邊界(上界和下界);

3) 用戶根據對質量需求的評估填寫表格,如圖3(b)所示中灰色部分,若認為無邊界值則可設為缺省;

4) 根據每個語言變量對應的邊界值確定隸屬函數曲線的拐點,如圖3(c)所示.不同語言變量對應的隸屬函數構成的集合即為MFs d1.

Fig. 3 Elicitation of functions for satisfaction degrees of quick response requirement圖3 快速響應需求的滿意度隸屬函數的抽取過程

3.2 環境建模

環境變化由環境實體的變化所引起.從變化性的角度出發,軟件運行所依賴的環境實體可分為2類,即固定的環境實體和變化的環境實體.對于變化的環境實體,又可根據變化類型進一步分為取值變化的環境實體和狀態變化的環境實體.取值變化的環境實體的特點為其屬性變量是連續變化的數值,而狀態變化的環境實體的特點為其屬性狀態構成一個有限集.

環境建模就是要對軟件運行所依賴的環境實體進行歸類,將每個環境實體劃分到固定的環境實體、取值變化的環境實體和狀態變化的環境實體3類之一,進而對于變化的環境實體識別出它們的屬性變量和屬性狀態.

根據識別出的屬性變量和屬性狀態,可得到環境變量的集合為E={e1,e2,…,en}.由于屬性狀態可看做是屬性變量在離散域中的特例,屬性變量和屬性狀態統一描述為四元組

eve,dome,LVe,MFe,

Fig. 4 Environment model of bitcoin-miner圖4 比特幣采礦機環境模型

其中,ve是環境變量的清晰值,dome是該變量的取值范圍,LVe是刻畫該變量程度的語言變量集合,MFe是隸屬函數集合.

環境變量的取值空間定義為笛卡兒積

以比特幣采礦機為例,由于軟件運行依賴于互聯網、能量和計算設備,因此網絡、電池和硬盤均是影響軟件的環境實體.相應地,帶寬和網絡延遲、剩余電量和可用內存是這些環境實體的屬性.由于這些屬性取值都無法通過一個有限集刻畫,相應的實體都是取值變化類型的.由于軟件運行還需要依賴設備捕獲網絡信號,故網絡設備也是影響軟件的環境實體.它的屬性狀態為設備的開或關.

以上建模結果可用圖4表示,它描述了環境實體的分類及實體和屬性的關系.其中環境變量e1,e2,e3,e4的取值范圍是一個區間,表達了它們的潛在變化.該區間可通過對環境變量的監測來確定.

以e3為例,當環境變量取值用語言變量集合{低,中,高}刻畫時,它描述為

ve3,[0mA,1000mA],{低,中,高},MFe3.

Fig. 6 Configuration model of bitcoin-miner圖6 比特幣采礦機配置模型

環境變量隸屬函數集合MFe可通過領域專家對環境變量的評估來構建.采用問卷法抽取環境變量隸屬函數的步驟與抽取軟目標滿意度隸屬函數的過程是一致的.以三角型隸屬函數為例,圖5展示了從問題到調研抽取出MFe3的過程.

Fig. 5 Elicitation of functions for dump energy圖5 剩余電量隸屬函數的抽取過程

3.3 軟件配置建模

軟件行為的變化體現在其任務的動態調節中,包括任務參數的動態調節和任務結構的動態調節.

首先,可配置任務指在運行時需要通過自適應決策動態調整的任務,包括3種類型:參數可配置任務、結構可配置任務和混合配置任務.參數可配置任務指執行過程涉及參數(如時間、數據量等)動態調節的任務,這些需要動態調節的參數統稱為配置參數;結構可配置任務指能夠實現相同目標需求的多個任務;混合配置任務指該任務在結構可調節的基礎上,還具有配置參數.

配置參數集合為C={c1,c2,…,cn}.參數描述為四元組:

cvc,domc,LVc,MFc,

其中,vc是配置參數的清晰值,LVc是表示參數大小的語言變量集,domc是參數的配置范圍,隸屬函數集合MFc可通過專家對軟件行為評估來構建.

配置參數的取值空間表示為

其次,可配置任務為實現軟件頂層目標提供不同行為選項.在軟件自適應過程中,為保證軟件的穩定性,應使調節的配置規模減至最小.最小配置集指能夠實現軟件頂層目標所需要的最少配置參數的集合.最小配置集用于刻畫配置結構.在線自適應決策就是要確定選用哪個最小配置集并確定該最小配置集中所有配置參數的取值.

為識別軟件的配置參數和可選的最小配置集,需對目標模型中的任務節點進行分析,抽取任務參數和結構選項,構建軟件配置模型.軟件配置模型體現了軟件行為動態調節的特點.構建原則為:從需求模型中識別可配置任務,并抽取出這些任務所需要的配置參數;最后根據目標到任務的分解關系,將抽取出的配置參數劃分為不同的最小配置集.

以采礦機軟件為例,根據圖2的需求模型,t3和t4為參數可配置任務;t7和t8為混合配置任務,因為t7和t8既包含配置參數,又為實現g11提供不同任務選項.通過抽取可配置任務的參數,可得到圖6所示的配置模型,它在目標模型的任務節點上添加了配置參數標簽,即c1,c2,c3,c4.

根據需求模型中目標到任務的分解關系,圖6中的{c1,c2,c3}和{c1,c2,c4}被識別為2個最小配置集.

以c1為例,當參數取值用語言變量集合{小,中,大}進行刻畫時,它描述為

〈vc1,[200KB,500KB],{小,中,大},MFc1.

配置參數隸屬函數集合MFc可通過領域專家對軟件行為的評估來構建.采用問卷法抽取隸屬函數的步驟與抽取軟目標滿意度隸屬函數的過程也一致.圖7展示了抽取三角型隸屬函數MFc1的過程.

Fig. 7 Elicitation of functions for data size圖7 數據量隸屬函數的抽取過程

3.4 影響關系描述

為根據環境和質量需求的變化獲得自適應決策,需要建立環境、質量需求和軟件行為之間的量化關系.實際上,這就是要刻畫環境變量、軟目標滿意度和配置參數之間的量化關系.

根據第2節中關于變化性影響關系的討論,環境變量、軟目標滿意度和配置參數之間的影響關系主要體現在期望(expect)、調節(adjust)和滿足(satisfy)3個方面,具體內容如表1所示.

其中,期望影響關系表示為三元組:

rEXPE,SD,WEXP,

E為環境變量集合,SD為軟目標滿意度集合.該關系中SD表現為軟目標預期滿意度.權重矩陣WEXP由E中元素對SD中元素的影響權值組成.

期望影響關系的映射表示為

MEXPSpaceenv→SpacesatDegree.

權重矩陣WEXP由領域專家和用戶根據環境對質量需求的影響共同確定.WEXP中的權值取自[-a,a]上的實數,正值表示環境變量與軟目標預期滿意度之間正相關,負值表示負相關.權值的絕對值越大,表示環境變量的變化對軟目標預期滿意度的變化影響越大,兩者關系越緊密.

Table 1 Influence Relations Between Environment Variables,Softgoal Satisfaction Degrees and Configuration Parameters表1 環境變量、軟目標滿意度和配置參數間的影響關系

比如,以[-5,5]為權值區間,采礦機軟件的WEXP如表2所示.其中,剩余電量對節能需求預期滿意度的影響權值為-5,這表示剩余電量越低,用戶對節能需求的預期滿意度就會升高,意味著這種情景下用戶對該需求更加關注.

調節影響關系表示為三元組:

rADJE,C,WADJ,

E為環境變量集合,C為配置參數集合,權重矩陣WADJ由E中元素對C中元素的影響權值組成.

調節影響關系的映射表示為

MADJSpaceenv→Spaceconfig.

權重矩陣WADJ由領域專家根據環境對軟件行為影響的先驗知識確定.WADJ可支持軟件基于領域知識,根據環境變量求解所需的配置參數.WADJ中的權值是取自[-a,a]上的實數,正值表示環境變量與配置參數之間正相關,負值表示負相關.權值的絕對值越大,表示環境變量與配置參數間的關系越緊密.

Table 2 Weight Matrix of Expect-Relation表2 期望影響關系的權重矩陣

Fig. 8 Structure of fuzzy controller圖8 模糊控制器的結構

比如,采礦機系統的WADJ描述如表3所示,其中,剩余電量對處理數據量的影響權值為3,表示剩余電量越高,處理的數據量就越大.這意味著電量充足的情況下,處理的事務數量會自主增多.

Table 3 Weight Matrix of Adjust-Relation表3 調節影響關系的權重矩陣

滿足影響關系表示為三元組:

rSATC,SD,WSAT,

C為配置參數集合,SD為軟目標滿意度集合.該關系中SD表現為軟目標實際滿意度.權重矩陣WSAT由C中元素對SD中元素的影響權值組成.

滿足影響關系的映射表示為

MSATSpaceconfig→SpacesatDegree.

權重矩陣WSAT由領域專家和用戶根據軟件行為對質量需求的影響共同確定.WSAT中的權值也是取自[-a,a]上的實數,正值表示配置參數與軟目標實際滿意度之間正相關,負值表示負相關.權值的絕對值越大,表示配置參數變化對軟目標實際滿意度變化的影響越大,兩者關系越緊密.

比如,采礦機系統的WSAT如表4所示.其中,處理時間間隔對節能需求的影響權重為4,表示處理數據時間間隔越久,節能需求的實際滿意度越高.

Table 4 Weight Matrix of Satisfy-Relation表4 滿足影響關系的權重矩陣

4 基于模糊控制的推理規則

FADEM用于無法獲得軟件系統方程情況下的自適應優化決策,通過推理實現變量的計算.本節首先介紹模糊控制器,然后對推理規則進行描述,最后說明如何通過影響關系權重矩陣生成這些規則.

4.1 模糊控制結構

模糊控制[32]是以模糊集理論、模糊語言變量和模糊邏輯推理為基礎的智能控制方法.它是從行為上模仿人的思維方式,對模糊現象進行識別和判斷,并進行決策的一種智能控制方法.模糊控制器用于實現模糊推理,其結構如圖8所示.

一個模糊控制器由4個組件構成:

1) 規則庫記錄了一系列啟發式推理規則,由操作人員或者領域專家的知識編寫而成;

2) 模糊化組件將來自傳感器的實時信號通過隸屬函數模糊化,這一過程將清晰值轉變為模糊值,從而可利用推理規則進行比較和計算;

3) 推理機是模糊控制器的核心,利用推理規則對輸入的模糊量進行推理,產生模糊值作為輸出;

4) 解模糊化組件將輸出的模糊值重新轉化為清晰值,作為控制量加入到系統的執行器中.

此外,在模糊控制器中需要對輸入和輸出參量定義相應的隸屬函數,用于支持模糊化過程、推理計算過程以及解模糊化過程.

4.2 推理規則的表示

為實現推理計算,除了需要抽取變量的隸屬函數,還需要構造推理規則.為便于說明,此處將3.4節中的3種影響關系和映射分別抽象記為

rRELV1,V2,WREL,
MREL

其中,V1和V2表示2組變量,WREL表示它們各分量之間的影響權重矩陣.對于映射MREL,V1和V2變量間推理規則的基本形式為

映射MREL的推理規則集為RREL=∪rulei.根據第3.4節的影響關系,RREL可泛化得到3類規則集,即REXP,RSAT,RADJ.其中,REXP和RSAT與用戶需求相關;RADJ與領域知識相關.注意,實現相同目標的不同配置參數是互斥的,所以RADJ和RSAT應針對最小配置集進行構建.比如圖6中的c3和c4,它們是“或”關系,故不能出現在同一條推理規則中.

4.3 推理規則的構建

在推理規則中,IF子句的表達式可通過邏輯運算轉換為析取范式,并分割為不同的合取范式,從而保證每個規則的前件都是合取范式.對于THEN子句,由于同類變量之間是解耦的,所以THEN子句本身就是合取范式.故推理規則化簡為

(3)

將式(3)中所有語言變量抽取出來構成一個m+n維語言變量向量

(4)

其中,前m維取自推理規則前件,后n維取自推理規則后件.

算法1. 推理后件的語言變量向量生成.

③nv′←nv×WREL;

④NM′←NM×WREL;

⑤BM←[columnMax(NM′);columnMin(NM′)];

⑥ FOR 對nv′和BM的每列

⑦ 將BMi進行ni等分;

算法1對構建3類規則集REXP,RADJ,RSAT均適用.比如以采礦機軟件的期望影響關系為例,令環境變量向量為(帶寬,延遲,電量,內存)和滿意度向量為(快速響應滿意度,節能滿意度,處理量大滿意度),每個變量的語言變量值均取自集合{低,中,高},引入雙射f將語言變量映射為數值,如f(低)=1,f(中)=2,f(高)=3.當lvE=(中,中,高,低)時,通過算法1可得出lvSD=(中,低,低).此條規則的語言變量向量為(中,中,高,低,中,低,低),含義為:

如果帶寬中等、且延遲中等、且電量高、且內存低,那么,快速響應的預期滿意度為中,且節能的預期滿意度為低,且處理量大的預期滿意度為低.

在規則應用過程中,仍然引入雙射f,將語言變量按程度映射為索引整數值,比如f(低)=1,f(中)=2,f(高)=3.從而得到式(4)的數值向量:

推理時需要根據該數值向量匹配選擇相應的隸屬函數進行模糊化和解模糊化的計算,推理過程采用經典的模糊集推理算法[33]實現.

5 基于前饋反饋的自適應機制

本節首先提出軟件自適應過程所需具備的自適應機制和在線決策步驟,然后介紹用于支持該機制的自適應算法和組件結構.

5.1 自適應機制

軟件面向不確定性的自適應決策是感知環境和質量需求變化、分析質量需求滿意度并根據優化目標求解決策配置的綜合過程.為實現這一過程,FADEM框架為軟件系統提供了基于前饋-反饋結構的自適應機制,如圖9所示.圖9上半部分為該機制的框架;圖9下半部分描述了各組成部分的實現方式.

Fig. 9 Feedforward-feedback based adaptation mechanism圖9 基于前饋-反饋的自適應機制

自適應機制分為感知器、控制器和被控系統3個組成部分,其中:

1) 感知器由環境感知模塊和需求感知模塊構成,分別用于感知環境變量和質量需求預期滿意度的變化;

2) 控制器由前饋調節模塊和反饋調節模塊構成,用于求解自適應決策;其中,前饋調節模塊主要支持軟件及時粗調節,根據環境變量求解配置參數,以消除環境變化對質量需求的影響;反饋控制模塊主要用于根據質量需求滿意度的偏差,通過全局尋優對配置參數進行細致校正;

3) 被控系統表示自適應軟件系統,它接受獲得的配置參數并進行在線部署.

基于此自適應機制的決策過程在運行時通過以下步驟實現,這些步驟與圖9下半部分中的編號相對應.

1) 軟件通過傳感器或監測器測量環境變量;

2) 根據環境變量,求解質量需求預期滿意度.

3) 當前配置下的質量需求滿意度偏差符合給定閾值時,無需調整配置;否則,根據環境變量對配置參數進行前饋調節.

① github.com/ZhuoqunYang/FuzzyControlForSAS

vC=RADJ(RADJ,vE,MFE∪MFC);

4) 求解前饋調節后的質量需求實際滿意度.

5) 將實際滿意度進行反饋,計算滿意度偏差.若偏差符合給定閾值,則將該配置作為決策配置;否則,基于遺傳算法對配置參數進行優化調節.此步驟的優化目標為

5.2 自適應算法

FADEM框架提供了支持決策過程的算法,包括前饋調節算法(算法2)、反饋調節算法(算法3)和綜合自適應算法(算法4).算法中輸入、輸出和中間變量命名與圖9下半部分中標注的傳遞參數相一致,并以最小配置集為執行單位.本文基于MATLAB給出了這些算法模塊的具體實現,讀者可參考GitHub鏈接①進一步了解.

前饋調節算法用于實現基于先驗知識的決策,根據環境變量獲得新的配置參數.當軟件功能目標有多種實現方式時,需對每個最小配置集分別執行算法2,并選擇能夠帶來最小滿意度偏差的配置集作為自適應決策結果.

算法2. 前饋調節算法.

輸入:vE,RSAT,RADJ,MFE,MFSD,MFC;

①vC←RADJ(RADJ,vE,MFE∪MFC);

反饋算法用于實現基于優化目標的決策,通過遺傳算法,迭代求解最優的配置參數.它是在自變量定義域內搜索全局最優解的算法.

遺傳算法的求解過程為:將配置參數的取值范圍作為自變量定義域,將配置參數編碼為染色體;將初代染色體作為模糊控制器的輸入,求解每一個染色體帶來的需求滿意度偏差,滿意度偏差即為適應度;對適應度進行排序,并對染色體進行選擇、交叉、重構和變異操作;將得到的新染色體作為下一輪的輸入,并計算適應度;當滿意度偏差收斂到閾值內時,得到最小偏差的染色體就對應著求得的配置參數.遺傳算法的求解規模與種群數量、遺傳迭代次數以及染色體的操作方式有關.由于本文將遺傳算法與模糊控制相結合,適應度需要通過模糊控制過程進行計算,其求解規模又與模糊控制器的推理規則和隸屬函數的規模有關.代碼細節可參考GitHub鏈接中的相應文檔.

當軟件功能目標有多種實現方式時,需對每個最小配置集分別執行算法3,并選擇能帶來最小滿意度偏差的配置集作為決策結果.

算法3. 反饋調節算法.

①chrom←createPopulation(N,Spaceconfig);

②generation←0;

③ FOR ALLchr∈chrom

⑤ END FOR

⑥ WHILEgeneration

⑦ perform GA with new population;

⑨ END WHILE

綜合自適應算法用于實現軟件運行時整體的在線決策.首先,算法根據環境變化計算軟目標預期滿意度(行①)并根據當前配置計算實際滿意度(行②);若當前滿意度偏差達到閾值要求,則不需要調節配置(行③④);否則,調用算法2求解所需配置(行⑤);若算法2求得的配置參數使滿意度偏差達到閾值要求,則該配置即為決策配置(行⑥⑦);否則,調用算法3求解最優配置參數(行⑧).

算法4. 綜合自適應算法.

⑨ END IF

⑩ END IF

5.3 自適應組件

FADEM框架從結構層提出自適應軟件系統應具備的組件結構,如圖10所示.該組件結構基于MAPE-K自主管理器[28]進行設計和搭建,不同組件用于實現自適應算法中的不同計算模塊.這些組件在前述GitHub鏈接中均有對應實現代碼.

Fig. 10 Adaptation components of FADEM圖10 FADEM自適應組件結構

自適應組件分為6種類型:

1) 自適應控制器(adaptation controller)是自適應機制的控制核心,用于調度下層組件,同時也具有執行器(executor)的作用,將決策得到的配置進行部署;

2) 監測器(monitor)是軟件和環境的接口,用探針采集相關的環境變量,并傳遞給上層模塊;

3) 分析器(analyzer)用于診斷當前質量需求實際滿意度是否達到其預期滿意度;

4) 決策器(planner)用于求解最優配置參數;

5) 知識庫(knowledge base)用于為自適應決策的推理計算過程提供啟發式規則;

6) 推理機(inference machine)用于構建模糊推理系統并實現推理計算.

6 案例仿真實驗

本節針對比特幣采礦機的案例,通過仿真實驗展示自適應機制和算法在面向環境和需求不確定性的優化決策問題中的有效性.具體實現過程和結果可參考前述GitHub中的MATLAB程序.

6.1 參數與設置

仿真實驗環境為配置有AMDFX8350(3.8 GHz) 4核4線程CPU、4 GB內存和500 GB硬盤的Windows 7系統.采礦機案例的每個環境變量、軟目標滿意度和配置參數的語言變量集合均為{低,中,高};3種影響關系的權重分別取自表2~4.基于影響權重生成的243條推理規則所對應的數值向量請參考GitHub鏈接中的Excel文檔.推理過程采用經典的模糊集的推理算法[33].滿意度偏差的閾值集合為{0.002,0.004,0.006,0.008,0.01,0.02,0.04,0.06,0.08,0.1}.

遺傳算法的參數設置為:種群大小為50,遺傳迭代次數為100,種群代溝為0.9,交叉率0.9,變異率0.05.染色體選擇方法為隨機全局采樣,交叉方法為單點交叉,適應度通過式(2)計算,其中軟目標的權重均相同.為提高求解效率,遺傳算法采用并行方式在4個資源池上共同完成.

為說明自適應機制在不同環境中的決策效果,實驗仿真了3種動態變化的環境:

1) 可導型環境(derivable environment)中環境變量的變化規律服從連續可導函數.此類環境變量采用三角函數進行仿真,通過函數周期刻畫環境變量間此消彼長的狀況;

2) 準噪聲型環境(quasi-noisy environment)中環境變量的變化趨勢與可導型環境一致,但是具有微弱的噪聲.此類環境變量采用在三角函數上加入高斯噪聲進行仿真;

3) 噪聲型環境(noisy environment)指變化完全不確定的環境,同時無規律可循.此類環境變量采用高斯噪聲函數仿真.

環境變量在500個時間點的采樣值如圖11所示:

Fig. 11 Three types of environment variables圖11 3種類型的環境變量

6.2 結果與分析

在線自適應決策的結果主要包括4個方面:軟目標預期滿意度的變化結果、配置參數的決策結果、前饋和反饋調節的性能對比及滿意度偏差的控制效果.

1) 軟目標預期滿意度的變化結果

Fig. 12 Changes of softgoal desired satisfaction degrees and correlation with environment variables圖12 軟目標預期滿意度的變化和與環境變量的相關性

不同類型環境中軟目標預期滿意度的動態變化如圖12(a)~(c)所示.通過與圖11對照可知,軟目標預期滿意度和環境變量的相關性與表2中WEXP的權重取值是一致的.比如在可導型環境和準噪聲型環境中,對比節能軟目標預期滿意度曲線和電量曲線,它們呈現負相關性.這與表2中兩者對應的影響權值為-5是一致的.為便于觀察噪聲型環境變量與軟目標預期滿意度的相關性,此處采用R語言相關圖表示它們的關系,如圖12(d)所示.色塊中的正斜率線條表示正相關,負斜率線條表示負相關;色塊顏色越深,表示相關系數越大.左下角3×4方框內的色塊與表2中的數值大小和符號均一致.

軟目標預期滿意度曲線刻畫了質量需求自身變化的不確定性.預期滿意度和環境變量的相關性表明,滿意度的變化正確地反映出了用戶偏好,即矩陣WEXP.比如在時間點為100時,隨著電量升高,節能需求的預期滿意度呈下降趨勢,而數據處理需求的預期滿意度呈上升趨勢,這說明用戶此時對節能的偏好降低,而對處理數據的偏好升高.

2) 配置參數的決策結果

自適應機制在不同類型環境中求得的配置參數如圖13(a)~(c)所示.為便于說明,將c3(主區塊廣播時間)和c4(鄰居節點廣播時間)的取值統一展示:第1行曲線中的正數表示廣播到主區塊,負數表示廣播到鄰居節點,絕對值表示廣播時間.配置參數和軟目標預期滿意度間的相關性與表4中權重矩陣WSAT是一致的,說明軟目標實際滿意度與預期滿意度有相同的變化趨勢.圖13(d)展示了噪聲型環境中求得的配置參數和軟目標預期滿意度的相關性.左下角3×3方框所示的色塊與表4中的權重符號和大小一致.

Fig. 13 Configuration parameters and correlation with desired satisfaction degrees圖13 配置參數及噪聲型環境中配置參數與預期滿意度的相關性

在微弱噪聲的影響下,可導型環境中的配置參數和準噪聲型環境中的配置參數偏差約為前者的5%.這一現象在c1(數據規模)和c2(時間間隔)上更加突出,這是由于它們與軟目標間的影響權重更大.該結果說明,那些對軟目標滿意度影響較大的配置不會因環境和質量需求的微弱變化而發生大幅度調整.所以,在環境變化雖不確定但微弱的情況下,FADEM方法的自適應結果相對平穩.

3) 前饋和反饋調節的性能對比

圖14(a)展示了不同滿意度偏差閾值下,軟件系統采用前饋調節和反饋調節結果作為決策配置的頻率.閾值較小時,系統主要通過反饋算法來求解自適應決策;隨著閾值增大,前饋調節的使用頻率逐漸升高,反饋調節的作用逐漸淡化.

圖14(b)對比了不同閾值下的決策用時.通過統計可得,前饋調節用時約為0.003 s,反饋調節用時約為0.64 s.注意,決策用時受本地計算資源(如CPU、緩存等)的影響,因此會有一定偏差.隨著閾值增大,決策用時與前饋調節用時相同的情況逐漸增加.這從用時的角度說明軟件采用前饋調節的情況增多.

結果表明:FADEM的自適應機制在決策過程中具有靈活性,可根據不同的約束條件,選擇不同的調節方式:約束寬松時,采用前饋的粗調節提高決策速度;約束緊縮時,采用反饋的細調節提高決策精度.

Fig. 14 Comparison between performances of feedforward and feedback adaptation圖14 前饋和反饋調節的性能對比

4) 滿意度偏差的控制效果

Fig. 15 Deviations of entire satisfaction degrees under different types of environment and thresholds圖15 不同類型環境和閾值下整體滿意度偏差

圖15(a)展示了自適應決策在不同閾值下帶來的平均滿意度偏差.FADEM方法通過優化決策算法將滿意度偏差控制在給定閾值內.隨著閾值的增大,偏差的控制效果會產生一定放松.對比文獻[22-24]中單純依據先驗知識的自適應結果,FADEM具有更好的滿意度偏差控制效果.因為FADEM采用反饋回路對配置參數進行優化決策,而文獻[22-24]的方法沒有控制機制支持,也就無法避免自適應決策產生的偏差.

圖15(b)~(d)描述了自適應決策后,滿意度偏差的統計結果.每個盒子表示500個時間點偏差值的分布.圖15(b)~(d)表明:FADEM方法在可導型環境和準噪聲型環境中的低閾值情況下的滿意度偏差相對穩定,決策效果較好;而在高閾值情況下偏差較大,這是因為閾值增高時,軟件系統采用前饋調節的頻率升高,故系統調節結果的自由度更大.在噪聲型環境中,滿意度偏差的穩定性較差,這是由環境變量中大量的隨機性引起的,但是偏差仍在可接受范圍內.

6.3 討 論

1) 方法的可擴展性

本文以比特幣采礦機案例對方法的可行性進行了分析說明.當軟件更加復雜時,會涉及到其他種類的質量需求,比如關于用戶負載的需求.且軟件配置的數目會增多,交互環境也會變得復雜.采用本文方法解決復雜性問題的關鍵在于,識別和擴展那些對新的質量需求產生影響的關注點,包括軟件配置和環境實體,并構建這些要素對需求的影響關系.比如,當引入用戶負載的需求時,需要考慮對用戶數進行監測,并對服務器等設備進行重配置.雖然軟件配置和交互環境都會變得復雜,但配置內容和環境實體仍可按照本文的建模原則,劃分為相應類別.因此,系統復雜性的增加會引起關注點的增加,但不會影響本文方法和流程的應用.

此外,本方法側重軟件需求建模和自適應策略的設計,主要考察需求、軟件配置和環境間模型層面的關聯.它不受限于軟件運行的設備或硬件系統,也不受配置或代碼模塊具體能耗的影響.在需求階段,為設計針對質量需求可滿足性的自適應策略,需建模各類變化因素對需求的影響,而需求間的影響則應通過性能工程的測試評估進行確定.

2) 推理規則的構建

本文的推理規則是基于Mamdani模糊系統[34]的原理構造的,但是FADEM框架同樣適用于基于T-S模糊系統[35]的推理過程,僅需要把推理規則中THEN子句中變成自變量的線性組合.T-S型推理規則為

其中,ai是實數線性系數.

這一規則可用于建立環境變量與配置參數的推理關系,其線性系數是未知的,需要通過運行時學習獲得.由于ai取自實數域,這時遺傳算法就不再適合作為學習算法,因為在自變量定義域已知情況下進行遺傳編碼,會使算法收斂效果更好.由于BP神經網絡能學習和存儲大量的輸入-輸出模式映射關系,而無需提前描述這種映射關系的數學方程,它比較適合用來學習T-S模糊系統推理規則的參數.此擴展也在前述的GitHub鏈接中給出了實例.

3) 參數評價與優化

隸屬函數的構造有2種常見的方法,即基于專家的先驗知識進行構造和基于學習的后驗知識進行構造.由于在需求工程階段缺乏系統運行時數據,以作為提取后驗知識的基礎,本文采用前者作為最初的構建方法.同時,在決策過程中采用遺傳算法進行求解,避免了完全依賴先驗知識.當系統運行后,FADEM可根據決策結果對隸屬函數參數進行優化.參數優化問題可通過系統辨識過程來求解,具體可采用機器學習的方法.在本文提供的GitHub鏈接中,已經給出了2種修正隸屬函數參數的方法,即通過遺傳算法進行優化和通過神經網絡進行優化,該問題將在后續工作中予以解決,不作為本文關注點.影響權值矩陣用于對不同變量間影響關系進行描述,它反映了概念和認知,這些數值也可根據用戶對結果的評價進行調整.

4) 敏感性分析

質量需求預期滿意度和配置參數的求解均通過基于隸屬函數的模糊推理過程實現,故隸屬函數參數會對計算結果的質量產生影響.因此,還需要對這類參數的敏感性進行分析.下面以表1中環境變量和質量需求預期滿意度之間的期望關系為例,分析可導型環境中,環境變量隸屬函數參數的變化對快速響應需求預期滿意度求解結果的影響.

圖16展示了環境變量隸屬函數參數為初始值和參數變化范圍在變量定義域5%~25%時,快速響應需求預期滿意度結果.曲線表明,隨著參數增大,滿意度在多數時間點呈遞減趨勢,少數呈不規則變化.經計算,預期滿意度的平均偏差分別為1.05%,1.89%,2.90%,3.89%,4.74%.這說明模糊推理的求解過程弱化了隸屬函數參數變化帶來的影響,使計算結果的敏感性降低.另一方面,在構造隸屬函數時,可根據所需結果的質量對函數參數的準確性提出要求.比如,當可接受的預期滿意度平均偏差在1.05%左右時,環境變量的隸屬函數參數允許存在5%左右的浮動.

Fig. 16 Desired satisfaction degrees of quick response requirement under different membership function parameters圖16 不同隸屬函數參數下的快速響應需求預期滿意度

7 相關工作

相關工作主要包括自適應系統如何通過建模和決策,以應對環境和需求的2種變化.

在面向環境變化的建模方面,Cheng等人[7]提出一種目標建模方法來構建動態適應系統的需求,描述環境不確定性對需求的影響,并通過RELAX[18]規約語言來處理約束寬松的需求.該方法局限于描述需求不滿足情況下的解決方案,沒有關注運行時的自適應配置.Cheng[36]最近將不確定性帶來的挑戰總結為基于模型的開發技術、自動需求確保技術和自適應決策技術3個方面.Bencomo等人[8]提出Claim模型,將環境對需求的影響作為需求變化的依據,并在模型層對軟件行為作出解釋.該模型還用于處理環境變化下的需求追蹤問題[9].Ramirez等人[10]將RELAX和Claim融合,并對變化環境下的Claim模型的有效性給出說明,在需求模型的基礎上顯示化的描述出環境對松弛需求的影響,系統在不同環境中所滿足需求也是不同的.但該模型用于記錄有限的環境類別,當環境連續變化時,就不再適用了.

在面向環境變化的決策方面,現有工作主要采用方程計算的方式進行求解.Elkhodary等人[11]提出FUSION框架,通過特征重配置,消除環境變化對系統目標的影響.該方法支持環境不確定性下的配置調節,但是依賴于特征和決策目標間的數學關系,需要精確的領域知識為基礎,應用條件較為嚴格.Esfahani等人[12]提出POISED框架,通過系統的全局優化配置來提高系統的質量屬性.該方法評估了不確定性給質量屬性帶來的影響,分析不同配置在目標函數下的表現,以確定最優的解決方案.POISED有較好的普適性,但是它是一種基于架構的方法,與系統需求聯系較弱,當有多組質量屬性需要被提高時,該方法未能說明如何權衡不同質量屬性.Lee等人[13]、Moreno等人[14]和Chen等人[15]分別采用概率方法針對特征模型、軟件行為模型和目標需求模型求解自適應決策.這些工作主要關注軟件行為不確定性對需求的影響.

在面向需求變化的建模方面,Sawyer等人[16]提出將自適應系統的需求作為運行時的實例予以監控,以支持系統自適應決策.該方法可用于自適應機制的設計,但未能支持決策求解.Baresi等人[17]提出FLAGS模型,在KAOS模型的基礎上擴展自適應目標和自適應對策,通過將需求看做具有活性的運行時實例來觸發自適應過程.該方法刻畫了自適應需求和需求違背時的系統對策,同時提供良定的規約描述.但是其規約只用于對目標和調節策略的說明,未能支持在線的自動適應過程.Whittle等人[18]提出RELAX需求規約語言,它基于時態模糊邏輯描述松弛情況下的需求和環境.模糊化后的需求使系統具有靈活性,它也是一種用于規約的形式化方法,并未說明如何支持自適應調節過程.另外,RELAX放松了需求滿足情況,但并未關注需求本身的變化性.Mendonca等人[19]提出根據上下文模型求解可靠性需求變化的框架,可靠性需求采用模糊邏輯進行量化,但沒有關注自適應決策問題.此外,Chechik[20]提出通過局部模型[21]建立需求模型間的追蹤關系來管理需求不確定性.

在面向需求變化的決策方面,Pernici等人[22-24]從服務計算領域提出基于模糊推理實現服務自適應的方法.Web服務的性能參數變化引起服務質量的變化,服務質量變化是系統自適應調節的依據,調節過程基于領域知識實現.該類方法的切入點是軟件行為變化對服務質量滿足情況的影響,而不是對服務質量自身的影響.該種性能是軟件行為的表現,因此變化并非來自交互環境,同時,該類方法的推理計算過程無法對自適應決策進行優化.另外,國內研究人員也對服務自身演化下的服務組合自適應方法進行了探討[37].

與這些工作相比,本文在刻畫環境和需求不確定性方面,側重于通過建模過程抽取變化要素,采用模糊邏輯描述潛在的變化性,而不是枚舉變化的可能性;同時將連續變量映射到離散域,以便于求解計算;在建模質量需求、環境和軟件行為間的關系方面,本文根據用戶偏好和領域知識抽取影響關系矩陣,進而生成推理規則.推理規則刻畫出變量間的計算關系,擺脫了依賴精確系統數學模型的局限性.在實現自適應決策方面,本文將環境和需求不確定性納入到統一的FADEM框架中,該框架支持從系統建模到規約描述,然后到推理規則生成,再到設計自適應機制、算法和組件結構的完整過程.該框架的優勢在于,為軟件工程師在需求工程階段進行不確定性的表達、知識提取及模型算法的構建提供了理論依據和方法支持,并允許建模和計算過程具有一定的彈性.

8 結束語

本文提出一種在環境和需求不確定性下,自適應軟件系統實現優化決策的框架.該框架通過需求建模、環境建模和軟件配置建模,抽取出質量需求滿意度、環境變量和配置參數,并通過模糊邏輯進行表示;描述各類變量間的影響關系,并根據影響權重矩陣構造模糊推理規則,以支持變量間的計算;基于前饋-反饋控制設計自適應機制及相應算法,并融合MAPE-K結構搭建自適應組件.

在自適應軟件系統面向不確定性的在線決策研究方向上,本文具有4方面意義:

1) FADEM框架將環境和需求的不確定性同時納入自適應機制的在線決策問題中,涉及到多種類型的環境變化(如取值變化型、狀態變化型)和多種類型的自適應調節方式(如結構調節、參數調節);

2) 基于模糊邏輯的建模和描述方法具有通用性.形式化表達式通過變量范圍刻畫了變量潛在的不確定性,同時通過隸屬函數將不確定的變量映射到離散的語言描述上;

3) 根據影響關系權值矩陣構建的推理規則,在不違背專家和用戶認知的前提下,減輕了人工建立推理規則的復雜度.同時,構建的規則是考慮到所有影響因素后的綜合結果;

4) 基于前饋-反饋結構建立的自適應機制,能與MAPE-K結構有機結合,以設計通用的自適應組件.在將軟件建模為閉環系統的同時,還發揮了前饋控制和反饋控制的各自優勢.

未來的研究工作中,我們主要關注2個方向:1)基于控制理論建立自適應機制是我們的關注點,尤其是軟件系統辨識的問題,即如何找到更好的數學模型刻畫軟件系統的變化性,我們認為機器學習是解決軟件系統辨識問題的有效途徑;2)我們還關注模糊化需求的驗證問題,并考慮如何通過需求放松和自適應機制給軟件系統帶來彈性.

[1]Tversky A,Kahneman D. Judgment under uncertainty: Heuristics and biases[J]. Science, 1974, 185(1): 141-162

[2]Liu Baoding. Uncertainty Theory[M]. Berlin: Springer, 2007: 183-187

[3]Celikyilmaz A, Türksen I B. Modeling Uncertainty with Fuzzy Logic[M]. Berlin: Springer, 2011: 11-50

[4]Esfahani N, Malek S. Uncertainty in self-adaptive software systems[G] //LNCS 7475: Software Engineering for Self-Adaptive Systems Ⅱ. Berlin: Springer, 2013: 214-238

[5]Cheng B H C, Lemos R, Giese H, et al. Software engineering for self-adaptive systems: A research roadmap[G] //LNCS 5525: Software Engineering for Self-Adaptive Systems Ⅰ. Berlin: Springer, 2009: 1-26

[6]Yang Zhuoqun, Li Zhi, Jin Zhi, et al. A systematic literature review of requirements modeling and analysis for self-adaptive systems[C] //Proc of the 20th Int Working Conf on Requirements Engineering: Foundation for Software Quality. Berlin: Springer, 2014: 55-71

[7]Cheng B H C, Sawyer P, Benecomo N, et al. A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty[C] //Proc of the 12th Int Conf on Model Driven Engineering Languages and Systems. New York: ACM, 2009: 468-483

[8]Bencomo N, Welsh K, Sawyer P, et al. Self-explanation in adaptive systems[C] //Proc of the 17th Int Conf on Engineering of Complex Computer Systems. Piscataway, NJ: IEEE, 2012: 157-166

[9]Welsh K, Sawyer P. Requirements tracing to support change in dynamically adaptive systems[C] //Proc of the 15th Int Working Conf on Requirements Engineering: Foundation for Software Quality. Berlin: Springer, 2009: 59-73

[10]Ramirez A J, Cheng B H C, Bencomo N, et al. RELAXing claims: Coping with uncertainty while evaluating assumptions at run time[C] //Proc of the 15th Int Conf on Model Driven Engineering Languages and Systems. New York: ACM, 2012: 53-69

[11]Elkhodary A, Esfahani N, Malek S. FUSION: A framework for engineering self-tuning self-adaptive software systems[C] //Proc of the 18th ACM SIGSOFT Int Symp on the Foundations of Software Engineering. New York: ACM, 2010: 7-16

[12]Esfahani N, Kouroshfar E, Malek S. Taming uncertainty in self-adaptive software[C] //Proc of the 19th ACM SIGSOFT Symp and the 13th European Conf on Foundations of Software Engineering. New York: ACM, 2011: 234-244

[13]Lee H C, Lee S W. Decision supporting approach under uncertainty for feature-oriented adaptive system[C] //Proc of the 39th Int Computer Software and Applications Conf. Piscataway, NJ: IEEE, 2015: 324-329

[14]Moreno G A, Mara J, Garlan D, et al. Proactive self-adaptation under uncertainty: A probabilistic model checking approach[C] //Proc of the 10th Joint Meeting of the European Software Engineering Conf and the ACM SIGSOFT Symp on the Foundations of Software Engineering. New York: ACM, 2015: 1-12

[15]Chen Bihuan, Peng Xin, Yu Yijun, et al. Uncertainty handling in goal-driven self-optimization - Limiting the negative effect on adaptation[J]. Journal of Systems & Software, 2014, 90(1): 114-127

[16]Sawyer P, Bencomo N, Whitle J. Requirements-aware systems: A research agenda for RE for self-adaptive systems[C] //Proc of the 18th IEEE Int Conf on Requirements Engineering. Piscataway, NJ: IEEE, 2010: 95-103

[17]Baresi L, Pasquale L, Spoletini P. Fuzzy goals for requirement-driven adaptation[C] //Proc of the 18th Int Conf on Requirements Engineering. Piscataway, NJ: IEEE, 2010: 125-134

[18]Whittle J, Sawyer P, Bencomo N, et al. RELAX: A language to address uncertainty in self-adaptive systems requirement[J]. Requirements Engineering, 2010, 15(2): 177-196

[19]Mendonca D F, Ali R, Rodrigues G N. Modelling and analysing contextual failures for dependability requirements[C] //Proc of the 9th Int Symp on Software Engineering for Adaptive and Self-Managing Systems. Piscataway, NJ: IEEE, 2014: 55-64

[20]Chechik M. Managing requirements uncertainty with partial models[J]. Requirements Engineering, 2013, 18(18): 107-128

[21] Famelis M, Salay R, Chechik M. Partial models: Towards modeling and reasoning with uncertainty[C] //Proc of the 34th Int Conf on Software Engineering. Piscataway, NJ: IEEE, 2012: 573-583

[22]Pernici B, Siadat S H. A fuzzy service adaptation based on QoS satisfaction[C] //Proc of the 23rd Int Conf on Advanced Information Systems Engineering. Berlin: Springer, 2011: 48-61

[23]Pernici B, Siadat S H, Benbernou S, et al. A penalty-based approach for QoS dissatisfaction using fuzzy rules[C] //Proc of the 9th Int Conf on Service-Oriented Computing. New York: ACM, 2011: 574-581

[24]Pernici B, Siadat S H. Selection of service adaptation strategies based on fuzzy logic[C] //Proc of the 7th IEEE World Congress on Services. Piscataway, NJ: IEEE, 2011: 99-106

[25]Souza V E S, Lapouchnian A, Mylopoulos J. System identification for adaptive software systems: A requirements engineering perspective[C] //Proc of the 30th Int Conf on Conceptual Modeling. Berlin: Springer, 2011: 346-361

[26]Patikirikorala T, Colman A, Han J, et al. A systematic survey on the design of self-adaptive software systems using control engineering approaches[C] //Proc of the 7th ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems. Piscataway, NJ: IEEE, 2012: 33-42

[27]Müller H, Villegas N. Runtime evolution of highly dynamic software[G] //Evolving Software Systems. Berlin: Springer, 2014: 229-264

[28]Kephart J O, Chess D M. The vision of autonomic computing[J]. Computer, 2003, 36(1): 41-50

[29]Nakamoto S. Bitcoin: A peer-to-peer electronic cash system[OL]. 2009[2016-09-16]. https://bitcoin.org/bitcoin.pdf

[30]Jackson M. The meaning of requirements[J]. Annals of Software Engineering, 1997, 3(1): 5-21

[31]Zadeh L A. The concept of a linguistic variable and its application to approximate reasoning-I[J]. Information Sciences, 1975, 8(3): 199-249

[32]Passino K M, Yurkovich S. Fuzzy Control[M]. Menlo Park, CA: Addison Wesley Longman, 1997: 137-144

[33]Zadeh L A. Fuzzy sets[J]. Information & Control, 1965, 8(3): 338-353

[34]Mamdani E H. Advances in the linguistic synthesis of fuzzy controllers[J]. International Journal of Man-Machine Studies, 1976, 8(6): 669-678

[35]Takagi T, Sugeno M. Fuzzy identification of systems and its applications to modeling and control[J]. IEEE Trans on System, 1985, 15(1): 387-403

[36]Cheng B H C. Addressing assurance for self-adaptive systems in the face of uncertainty[C] //Proc of the 13th Int Conf on Autonomic Computing. New York: ACM, 2016: 2

[37]Ren Lifang, Wang Wenjian, Xu Xing. Uncertainty-aware adaptive service composition in cloud computing[J]. Journal of Computer Research and Development, 2016, 53(12): 2867-2881 (in Chinese)

(任麗芳, 王文劍, 許行. 不確定感知的自適應云計算服務組合[J]. 計算機研究與發展, 2016, 53(12): 2867-2881)

猜你喜歡
滿意度環境
多感謝,生活滿意度高
工會博覽(2023年3期)2023-04-06 15:52:34
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
16城市公共服務滿意度排行
小康(2021年7期)2021-03-15 05:29:03
孕期遠離容易致畸的環境
不能改變環境,那就改變心境
淺談如何提升脫貧攻堅滿意度
活力(2019年19期)2020-01-06 07:34:38
明天村里調查滿意度
雜文月刊(2019年15期)2019-09-26 00:53:54
環境
孕期遠離容易致畸的環境
主站蜘蛛池模板: 亚洲男人在线天堂| 国产主播福利在线观看| 久久免费成人| 三上悠亚精品二区在线观看| 黑人巨大精品欧美一区二区区| 中文字幕在线欧美| 久久亚洲精少妇毛片午夜无码| 亚洲大尺码专区影院| 在线观看精品国产入口| 宅男噜噜噜66国产在线观看| 97国产在线播放| 国产91丝袜在线观看| 国产激情影院| 这里只有精品国产| 一边摸一边做爽的视频17国产| 国产精品无码作爱| 欧美午夜视频在线| 亚洲无码高清一区二区| 国产成人91精品| 国产理论最新国产精品视频| 亚洲欧美日韩色图| 欧美日韩一区二区三区在线视频| 国产swag在线观看| 狼友av永久网站免费观看| 男女男精品视频| 免费jjzz在在线播放国产| 老汉色老汉首页a亚洲| 亚洲人成成无码网WWW| 亚洲综合香蕉| 久久黄色免费电影| 欧美97欧美综合色伦图| 亚洲国产成人在线| 小说区 亚洲 自拍 另类| 野花国产精品入口| 久久精品无码中文字幕| 综1合AV在线播放| 又猛又黄又爽无遮挡的视频网站| 浮力影院国产第一页| 91在线精品麻豆欧美在线| 一边摸一边做爽的视频17国产| 99热这里只有精品国产99| 国产精品视频导航| 久久综合结合久久狠狠狠97色| 国产激爽大片在线播放| 天堂网亚洲系列亚洲系列| 波多野结衣久久高清免费| 国产午夜无码专区喷水| 久久国产成人精品国产成人亚洲 | 成年人久久黄色网站| 欧美国产综合视频| 在线播放国产一区| 日韩欧美中文字幕在线韩免费| 午夜小视频在线| 无码福利日韩神码福利片| 日韩av无码DVD| 国产主播一区二区三区| 国产成人1024精品下载| 色窝窝免费一区二区三区| 波多野结衣在线一区二区| 日韩成人在线网站| 日韩欧美高清视频| 全裸无码专区| 四虎永久免费网站| 亚洲无码A视频在线| 久久精品这里只有国产中文精品| 超碰精品无码一区二区| 日本亚洲成高清一区二区三区| 99热这里只有精品2| 国产一级做美女做受视频| 热这里只有精品国产热门精品| 国产噜噜噜视频在线观看| 在线看片免费人成视久网下载| 2021无码专区人妻系列日韩| 免费观看成人久久网免费观看| 国产中文一区a级毛片视频| 午夜成人在线视频| 国产精品久久久久久久伊一| 国产一级在线播放| 国产丝袜啪啪| 色综合成人| 成人中文在线| 片在线无码观看|