倪友聰,葉 鵬,杜 欣,陳 明,肖如良
(1.福建師范大學(xué)軟件學(xué)院,福建福州 350117;2.倫敦大學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院,英國(guó)倫敦 WC1E 6BT; 3.武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北武漢 430200;4.湖南師范大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,湖南長(zhǎng)沙,410081)
?
一種基于規(guī)則的軟件體系結(jié)構(gòu)層性能演化優(yōu)化方法
倪友聰1,2,葉 鵬3,杜 欣1,陳 明4,肖如良1
(1.福建師范大學(xué)軟件學(xué)院,福建福州 350117;2.倫敦大學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院,英國(guó)倫敦 WC1E 6BT; 3.武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北武漢 430200;4.湖南師范大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,湖南長(zhǎng)沙,410081)
目前基于規(guī)則的軟件體系結(jié)構(gòu)(Software Architecture,簡(jiǎn)記為SA)層性能優(yōu)化方法大多未充分考慮優(yōu)化過(guò)程中規(guī)則的使用次數(shù)和使用順序的不確定性,導(dǎo)致了搜索空間受限而難以獲取更優(yōu)的性能改進(jìn)方案.針對(duì)這一問(wèn)題并以最小化系統(tǒng)響應(yīng)時(shí)間為優(yōu)化目標(biāo),文中首先定義一種基于規(guī)則的SA層性能優(yōu)化模型RPOM,以將SA層性能優(yōu)化抽象為求解最優(yōu)規(guī)則序列的數(shù)學(xué)問(wèn)題;然后設(shè)計(jì)一種支持SA層性能改進(jìn)規(guī)則序列執(zhí)行的框架RSEF;進(jìn)一步提出一種采用約束檢查、修復(fù)及統(tǒng)計(jì)學(xué)習(xí)機(jī)制的演化求解算法EA4PO;最后以Web應(yīng)用為案例與已有方法進(jìn)行實(shí)驗(yàn)對(duì)比.結(jié)果表明:(1)本文方法較已有方法可以獲取更短的系統(tǒng)響應(yīng)時(shí)間;(2)EA4PO所引入的統(tǒng)計(jì)學(xué)習(xí)機(jī)制可顯著提高演化求解算法的收斂速度和解質(zhì)量.
性能評(píng)估;性能優(yōu)化;軟件體系結(jié)構(gòu);基于搜索的軟件工程
軟件的性能是衡量軟件系統(tǒng)質(zhì)量的一個(gè)重要屬性,性能的優(yōu)劣已經(jīng)成為系統(tǒng)成敗的關(guān)鍵因素.在SA設(shè)計(jì)階段進(jìn)行性能的評(píng)估和預(yù)測(cè),可以盡早地發(fā)現(xiàn)資源使用率過(guò)高、響應(yīng)時(shí)間過(guò)長(zhǎng)和吞吐量過(guò)小等性能問(wèn)題,并通過(guò)相應(yīng)的設(shè)計(jì)改進(jìn)來(lái)緩解或消除這些問(wèn)題,進(jìn)而可在軟件生命周期的早期達(dá)到性能優(yōu)化的目的.
經(jīng)過(guò)多年的研究和實(shí)踐,人們已提出了排隊(duì)網(wǎng)QN、分層排隊(duì)網(wǎng)LQN、隨機(jī)Petri網(wǎng)、隨機(jī)進(jìn)程代數(shù)和馬爾可夫鏈等性能模型及其分析工具[1,2],在此基礎(chǔ)上已涌現(xiàn)出了一些SA層性能評(píng)估和預(yù)測(cè)方法[3,4].這些方法能夠?qū)A變換成某種性能模型,經(jīng)過(guò)進(jìn)一步的解析和分析后,可獲取SA中相關(guān)軟件元素和硬件元素的各項(xiàng)性能指標(biāo),進(jìn)而可以評(píng)估和預(yù)測(cè)最終軟件系統(tǒng)的性能.在SA層性能評(píng)估和預(yù)測(cè)技術(shù)的基礎(chǔ)上,如何對(duì)SA進(jìn)行自動(dòng)改進(jìn)以獲得滿足性能需求的SA設(shè)計(jì)方案已成為一個(gè)受到高度關(guān)注的研究主題[5].然而隨著軟件系統(tǒng)的規(guī)模越來(lái)越大、復(fù)雜性越來(lái)越高,影響性能的因素也隨之增多,使得基于SA的性能改進(jìn)空間也在不斷增大[6].此外,在性能改進(jìn)過(guò)程中常常需要滿足各種不同的設(shè)計(jì)約束和限制,又致使性能改進(jìn)空間呈現(xiàn)高度的非連續(xù)形態(tài).在龐大且離散的性能改進(jìn)空間中,如何自動(dòng)找出SA層最優(yōu)的性能改進(jìn)方案,一直是軟件工程工業(yè)界和學(xué)術(shù)界亟待解決的難題之一.
為了解決這一問(wèn)題,目前已涌現(xiàn)出基于元啟發(fā)[7,8]和基于規(guī)則[9~12]兩類SA層性能自動(dòng)優(yōu)化方法.基于元啟發(fā)的方法將SA層性能優(yōu)化抽象為參數(shù)優(yōu)化問(wèn)題,并通過(guò)元啟發(fā)搜索技術(shù)[13~15]進(jìn)行求解.在預(yù)定義的優(yōu)化參數(shù)上,元啟發(fā)方法能在較大空間中搜索最優(yōu)性能改進(jìn)方案.然而元啟發(fā)方法往往只能對(duì)組件部署、硬件配置和組件選擇等少數(shù)幾種SA參數(shù)進(jìn)行優(yōu)化[8],且大多數(shù)元啟發(fā)方法尚未充分考慮將SA層性能改進(jìn)知識(shí)應(yīng)用到優(yōu)化過(guò)程中,以提高算法的收斂速度或增加優(yōu)化結(jié)果的可解釋性.而基于規(guī)則的SA層性能優(yōu)化方法則能以規(guī)則形式顯式、精確地描述性能反模式[16].利用這些規(guī)則并借助相應(yīng)的執(zhí)行引擎可對(duì)SA的結(jié)構(gòu)、行為和部署視圖中的多種參數(shù)進(jìn)行自動(dòng)優(yōu)化.基于規(guī)則的方法能按照一定的策略在所有規(guī)則組合所確定的性能改進(jìn)空間中,搜索最優(yōu)改進(jìn)方案.然而由于規(guī)則的使用次數(shù)和使用順序的不確定,往往導(dǎo)致規(guī)則的組合空間較為龐大.例如:Cortellessa和Trubiani等人針對(duì)12種SA層性能反模式,給出了對(duì)應(yīng)的12條性能改進(jìn)規(guī)則[9].即使在不考慮規(guī)則可以重復(fù)使用的情況下,由這12條規(guī)則不同的排列組合所確定的性能改進(jìn)空間也將包含多于1212(近9000萬(wàn)億)個(gè)候選的改進(jìn)方案.已有的基于規(guī)則的方法大多未充分考慮規(guī)則的使用次數(shù)和使用順序的不確定性,從而導(dǎo)致搜索空間受限,難以獲取更優(yōu)的性能改進(jìn)方案.
2.1 SA層性能改進(jìn)規(guī)則及其執(zhí)行引擎
SA層性能改進(jìn)規(guī)則由條件和動(dòng)作兩部分組成.規(guī)則的條件部分用于診斷存在的性能問(wèn)題,而動(dòng)作部分則給出相應(yīng)的改進(jìn)方案.Cortellessa和Trubiani等人[9,10]基于SA元模型和一階謂詞,并運(yùn)用邏輯規(guī)則描述了一組性能反模式.Mcgregor等人[12]通過(guò)綜合考慮SA的可修改性,定義了一組性能改進(jìn)規(guī)則.Xu等人[11]基于LQN模型并運(yùn)用Jess框架定義了一組不特定于SA建模語(yǔ)言的性能改進(jìn)規(guī)則.這些規(guī)則給出了資源瓶頸和響應(yīng)時(shí)間長(zhǎng)等性能問(wèn)題的診斷條件以及對(duì)應(yīng)的改進(jìn)動(dòng)作.為了支持SA層性能改進(jìn)規(guī)則的自動(dòng)執(zhí)行,相應(yīng)的規(guī)則執(zhí)行引擎[9,11,12]也已被研發(fā).
2.2 基于規(guī)則的SA層性能優(yōu)化算法
在SA層性能改進(jìn)規(guī)則及其執(zhí)行引擎的支持下,優(yōu)化算法運(yùn)用一定策略在規(guī)則組合所構(gòu)成的改進(jìn)空間中,搜索具有最短系統(tǒng)響應(yīng)時(shí)間的SA.這些優(yōu)化算法主要采用步進(jìn)式[9,10,12]、按輪迭代的深度優(yōu)先[11]兩種搜索策略,如圖1和圖2所示.圖中弧上標(biāo)記的r1,r2,…,rn表示n條性能改進(jìn)規(guī)則;圓形結(jié)點(diǎn)表示SA;有向弧表示應(yīng)用弧上標(biāo)記的規(guī)則,將弧尾結(jié)點(diǎn)的SA改進(jìn)為弧頭結(jié)點(diǎn)的SA;搜索過(guò)程從根結(jié)點(diǎn)對(duì)應(yīng)的初始SA開始.
步進(jìn)式搜索策略總是將n條規(guī)則r1至rn分別應(yīng)用到當(dāng)前搜索結(jié)點(diǎn)上,具有最短系統(tǒng)響應(yīng)時(shí)間的SA被選作下一次搜索的當(dāng)前結(jié)點(diǎn).如此反復(fù),直至沒(méi)有任何規(guī)則可以改進(jìn)系統(tǒng)響應(yīng)時(shí)間.按輪迭代的深度優(yōu)先搜索策略則將n條規(guī)則劃分成配置改進(jìn)和設(shè)計(jì)改進(jìn)兩類規(guī)則.其中規(guī)則r1,r2,…,rm為m條配置改進(jìn)規(guī)則,而規(guī)則rm+1,rm+2,…,rn為余下的n-m條設(shè)計(jì)改進(jìn)規(guī)則.搜索首先進(jìn)行初始的配置改進(jìn),然后再按輪進(jìn)行迭代改進(jìn).在每輪改進(jìn)中,總是先進(jìn)行設(shè)計(jì)改進(jìn),然后進(jìn)行配置改進(jìn).
從以上兩種策略的搜索過(guò)程可以看出兩點(diǎn):一是從根結(jié)點(diǎn)至最終結(jié)點(diǎn)的路徑上使用的規(guī)則所構(gòu)成序列可以視為求解出的性能改進(jìn)方案;另一是這兩種搜索策略都沒(méi)有充分考慮規(guī)則的不同使用次數(shù)和不同使用順序可能形成的各種組合情況,因而只能搜索相對(duì)較小的空間,更優(yōu)的改進(jìn)方案可能被排除.
RPOM模型可描述優(yōu)化過(guò)程中規(guī)則的使用次數(shù)、使用順序與最優(yōu)性能改進(jìn)方案之間的數(shù)學(xué)關(guān)系.下面給出它的具體定義.
定義1 定義函數(shù)r(SA)為根據(jù)SA求解并返回系統(tǒng)的響應(yīng)時(shí)間.
定義2 從1至n依次對(duì)n條SA層性能改進(jìn)規(guī)則進(jìn)行編號(hào),定義變換函數(shù)t(i,SA)表示將i(1≤i≤n)號(hào)規(guī)則應(yīng)用到軟件體系結(jié)構(gòu)SA上,返回i號(hào)規(guī)則執(zhí)行后的軟件體系結(jié)構(gòu).
定義3 定義函數(shù)imp(i,SA)用于判定將i號(hào)規(guī)則應(yīng)用到軟件體系結(jié)構(gòu)SA后,是否有性能改進(jìn)效果.imp函數(shù)的定義如式(1)所示.
(1)
定義4 定義規(guī)則號(hào)序列X=
(2)
1≤xk≤n,(1≤k≤l)
(3)
hi(X)≤ui,(1≤i≤n)
(4)
定義5 在SA層性能改進(jìn)方案X中,xk號(hào)規(guī)則的執(zhí)行前軟件體系結(jié)構(gòu)BSA由式(5)定義.
(5)
(6)
(7)
=0∧1≤k≤l)
(8)
基于已有規(guī)則執(zhí)行引擎,下面給出RSEF框架的總體結(jié)構(gòu)和執(zhí)行過(guò)程.
4.1 RSEF框架的總體結(jié)構(gòu)
表1 T-RuleUseInSeq表的設(shè)計(jì)
4.2 RSEF框架的執(zhí)行過(guò)程
RSEF框架的執(zhí)行過(guò)程可由表2定義的ARSE算法進(jìn)行描述.
表2 ARSE算法
EA4PO算法流程與傳統(tǒng)遺傳算法的類似,下面僅給出其個(gè)體編碼、適應(yīng)度計(jì)算、交叉和自適應(yīng)變異算子.5.1 個(gè)體編碼
在滿足RPOM中式(2)和式(4)定義的同時(shí),盡可能減少規(guī)則的使用次數(shù),我們引入了一條特殊的、編號(hào)為0的空規(guī)則.約定當(dāng)0號(hào)規(guī)則應(yīng)用到任何軟件體系結(jié)構(gòu)將不做任何修改,即式(9)恒成立.規(guī)則號(hào)0的最多可能出現(xiàn)次數(shù)由式(10)定義,它是所有非0規(guī)則號(hào)的最多可能出現(xiàn)次數(shù)之和.
t(0,SA)=SA
(9)
(10)
l′=u0
(11)
(12)
hi(X′)≤ui,(0≤i≤n)
(13)
5.2 適應(yīng)度計(jì)算
EA4PO中個(gè)體適應(yīng)度值可用式(14)定義的fitness函數(shù)計(jì)算.適應(yīng)度值越小,表明個(gè)體越優(yōu).
(14)
為了收集各個(gè)規(guī)則使用的啟發(fā)式信息,在函數(shù)fitness的計(jì)算過(guò)程中建立了規(guī)則使用歷史表T-RuleUseInHis,其設(shè)計(jì)如表3所示.其中,loc、rulNum和preRulNum三個(gè)字段構(gòu)成T-RuleUseInHis表的主碼.
表3 規(guī)則使用歷史表T-RuleUseInHis
5.3帶約束檢查和修復(fù)機(jī)制的交叉算子
EA4PO的交叉算子包括交叉、約束檢查和修復(fù)三個(gè)計(jì)算步驟.交叉步驟與一般的單點(diǎn)交叉操作相同.約束檢查步驟對(duì)產(chǎn)生的兩個(gè)中間個(gè)體,從交叉位開始至最后一位依次檢查每位上的規(guī)則號(hào)是否違反式(13)定義的最多出現(xiàn)次數(shù)的約束,并記錄所有違反約束的位.修復(fù)步驟將這些位上的規(guī)則號(hào)全部設(shè)置為0.
5.4 帶約束檢查和修復(fù)機(jī)制的自適應(yīng)變異算子
EA4PO的變異算子采用帶約束檢查和修復(fù)機(jī)制的自適應(yīng)單點(diǎn)變異算子.其包括基于統(tǒng)計(jì)學(xué)習(xí)的條件變異、約束檢查和修復(fù)三個(gè)計(jì)算步驟.后兩個(gè)步驟類似于5.3節(jié)中定義的約束檢查和修復(fù)步驟.基于統(tǒng)計(jì)學(xué)習(xí)的條件變異定義如下.
定義8 函數(shù)nxtRulNum(i,m)表示在T-RuleUseInHis表中按第i位置上為規(guī)則號(hào)m的條件進(jìn)行查找,并返回第i+1位置上所有出現(xiàn)的規(guī)則號(hào)構(gòu)成的集合.
定義9 函數(shù)avgImpRate(j,k,q)表示在T-RuleUseInHis表中按第j和j-1位置上規(guī)則號(hào)分別是k和q(當(dāng)j=1時(shí),q=-1)的條件進(jìn)行查找,計(jì)算結(jié)果記錄impNum和totNum兩字段值的商,稱為k號(hào)規(guī)則的平均改進(jìn)率.
(15)
(16)
(17)
在基于規(guī)則的SA層性能優(yōu)化方法中,僅Xu方法[11]所定義的規(guī)則是面向LQN模型[17]而不特定于具體的SA建模語(yǔ)言.考慮到Xu方法具有較好的通用性,故將其作為本文的對(duì)比方法.為了實(shí)證我們方法的有效性,以文獻(xiàn)[11]中的Web應(yīng)用(WebApp)為案例將我們的EA4PO與Xu按輪迭代的深度優(yōu)先搜索算法(簡(jiǎn)稱DFS)進(jìn)行實(shí)驗(yàn)對(duì)比,并進(jìn)一步將不帶統(tǒng)計(jì)學(xué)習(xí)機(jī)制的EA4PO-與EA4PO進(jìn)行比較,以實(shí)證采用統(tǒng)計(jì)學(xué)習(xí)機(jī)制的自適應(yīng)變異算子可以提高演化求解算法的收斂速度和解質(zhì)量.
6.1 WebApp案例
WebApp的初始LQN模型如圖4所示,其對(duì)應(yīng)的初始系統(tǒng)響應(yīng)時(shí)間為179.71ms.文獻(xiàn)[11]給出了WebApp案例所使用的6條性能改進(jìn)規(guī)則r1至r6及其相關(guān)的參數(shù)值.Xu的DFS算法獲取的WebApp優(yōu)化后的LQN模型如圖5所示,其對(duì)應(yīng)的系統(tǒng)響應(yīng)時(shí)間29.88ms,紅色部分為優(yōu)化后不同于優(yōu)化前的模型參數(shù)值.DFS獲取的性能改進(jìn)方案是
(1)EA4PO與Xu的算法比較 為了公平地比較,設(shè)置規(guī)則r1至r6相關(guān)的參數(shù)值與Xu方法相同.EA4PO中的種群大小、運(yùn)行次數(shù)、演化代數(shù)、交叉概率和變異概率分別為15,20,30,0.6和0.3.EA4PO運(yùn)行20次的結(jié)果如表4所示,其中第3、4、9、12、15、16、18、20次運(yùn)行獲取的結(jié)果響應(yīng)時(shí)間是22.6ms,它們對(duì)應(yīng)的LQN模型都是相同的,如圖6所示.與圖5中LQN模型的不同之處僅在于App2的多重性不同.從表4可看出,除了第10次運(yùn)行的結(jié)果外,EA4PO獲取的結(jié)果響應(yīng)時(shí)間均優(yōu)于DFS.我們使用Wilcoxon秩和檢驗(yàn)對(duì)EA4PO和DFS獲取的結(jié)果響應(yīng)時(shí)間進(jìn)行了統(tǒng)計(jì)檢驗(yàn).在置信水平α=0.05下,p-values=4.1696e-009<0.05,統(tǒng)計(jì)檢驗(yàn)結(jié)果表明EA4PO顯著優(yōu)于DFS.
表4 EA4PO算法20次運(yùn)行結(jié)果
此外,表4中第8行和第9行對(duì)應(yīng)的改進(jìn)方案都使用了規(guī)則r2,r3,r4和r5,且每個(gè)規(guī)則使用次數(shù)都相同,但這些規(guī)則的使用順序不同導(dǎo)致了兩次運(yùn)行獲得的結(jié)果響應(yīng)時(shí)間明顯不同.又如表4中第20行較第19行對(duì)應(yīng)的序列僅在最后1位多出規(guī)則r2,其余部分全部相同.但就是僅多使用的這1次規(guī)則r2,卻導(dǎo)致了獲得的結(jié)果響應(yīng)時(shí)間有著顯著的不同.DFS因未充分考慮優(yōu)化過(guò)程中各規(guī)則使用順序和使用次數(shù)的問(wèn)題而導(dǎo)致其搜索空間受限,難以獲取更優(yōu)的改進(jìn)方案.
(2)EA4PO-與EA4PO比較 EA4PO-與EA4PO設(shè)置相同的種群大小、交叉概率和變異概率,分別為15,0.6和0.3.兩個(gè)算法都獨(dú)立運(yùn)行20次,每次運(yùn)行以連續(xù)20代結(jié)果響應(yīng)時(shí)間不發(fā)生變化作為停機(jī)條件.采用文獻(xiàn)[18]提出的收斂曲線圖來(lái)表示所有20次運(yùn)行中每隔兩代最優(yōu)解平均值的變化曲線.
從圖7中可以看出EA4PO每次評(píng)估獲取的平均結(jié)果系統(tǒng)響應(yīng)時(shí)間均優(yōu)于EA4PO-,其收斂曲線的下降速度要快于EA4PO-.使用Wilcoxon秩和檢驗(yàn)對(duì)EA4PO和EA4PO-所獲取的結(jié)果響應(yīng)時(shí)間進(jìn)行了統(tǒng)計(jì)檢驗(yàn).在置信水平α=0.05下,p-values=1.8803e-006<0.05,統(tǒng)計(jì)檢驗(yàn)結(jié)果表明EA4PO顯著優(yōu)于EA4PO-.實(shí)驗(yàn)結(jié)果表明采用統(tǒng)計(jì)學(xué)習(xí)機(jī)制的自適應(yīng)變異算子不僅可以加快算法的收斂速度,而且能夠提高解質(zhì)量.
文中提出了一種基于規(guī)則的SA層性能演化優(yōu)化方法.首先定義了一種SA層性能優(yōu)化模型RPOM,通過(guò)該模型精確刻畫規(guī)則的使用次數(shù)、使用順序與最優(yōu)性能改進(jìn)方案之間的關(guān)系,并將SA層性能優(yōu)化抽象為求解最優(yōu)規(guī)則序列問(wèn)題;然后設(shè)計(jì)了一種用于支持SA層性能改進(jìn)規(guī)則序列的執(zhí)行框架RSEF,以支持RPOM的求解;進(jìn)一步通過(guò)引入約束檢查、修復(fù)及統(tǒng)計(jì)學(xué)習(xí)機(jī)制提出了一種高效的演化求解算法EA4PO,以搜索SA層最優(yōu)性能改進(jìn)方案.最后通過(guò)WebApp案例開展實(shí)驗(yàn)對(duì)比研究,實(shí)證了本文方法的有效性.下一步工作考慮將改進(jìn)代價(jià)作為一個(gè)優(yōu)化目標(biāo),研究基于規(guī)則的SA層性能多目標(biāo)演化優(yōu)化方法.
[1]Koziolek H.Performance evaluation of component-based software systems:A survey[J].Performance Evaluation,2010,67(8):634-658.
[2]Brosig F,et al.Quantitative evaluation of model-driven performance analysis and simulation of component-based architectures[J].IEEE Transactions on Software Engineering,2015,41(2):157-175.
[3]李傳煌,等.一種 UML 軟件架構(gòu)性能預(yù)測(cè)方法及其自動(dòng)化研究[J].軟件學(xué)報(bào),2013,24(7):1512-1528.
LI Chuan-Huang,et al.Performance prediction method for UML software architecture and its automation[J].Journal of Software,2013,24(7):1512-1528.(in Chinese)
[4]Cortellessa V,et al.Model-Based Software Performance Analysis[M].Berlin:Springer,2011.
[5]Aleti A,et al.Software architecture optimization methods:A systematic literature review[J].Software Engineering,IEEE Transactions on,2013,39(5):658-683.
[6]Koziolek A.Automated Improvement of Software Architecture Models for Performance and Other Quality Attributes[M].Karlsrule:KIT Scientific Publishing,2014.
[7]Martens A,Koziolek H.Automatic,model-based software performance improvement for component-based software designs[J].Electronic Notes in Theoretical Computer Science,2009,253(1):77-93.
[8]Etemaadi R,Chaudron M R.New degrees of freedom in metaheuristic optimization of component-based systems architecture:Architecture topology and load balancing[J].Science of Computer Programming,2015,97:366-380.
[9]Cortellessa V,et al.An approach for modeling and detecting software performance antipatterns based on first-order logics[J].Software & Systems Modeling,2014,13(1):391-432.
[10]Trubiani C,Koziolek A.Detection and solution of software performance antipatterns in palladio architectural models[J].Acm Sigsoft Software Engineering Notes,2011,36(5):19-30.
[11]Xu J.Rule-based automatic software performance diagnosis and improvement[J].Performance Evaluation,2012,69(11):525-550.
[12]Mcgregor J D,et al.Using arche in the classroom:One experience[R].Hanscom AFB,MA,USA:SEI,carnegie Mellon University,2007.
[13]Li Y,et al.An improved multiobjective estimation of distribution algorithm for environmental economic dispatch of hydrothermal power systems[J].Applied Soft Computing,2015,28:559-568.
[14]Li Y,et al.Dynamic-context cooperative quantum-behaved particle swarm optimization based on multilevel thresholding applied to medical image segmentation[J].Information Sciences,2015,294:408-422.
[15]Licheng J,et al.Quantum-inspired immune clonal algorithm for global optimization.[J].IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics A Publication of the IEEE Systems Man & Cybernetics Society,2008,38(5):1234-1253.
[16]Smith C U,Williams L G.Performance Solutions:A Practical Guide to Creating Responsive,Scalable Software[M].Redwood City,CA,USA:Addison-Wesley Longman Publishing Co.,Inc.,2002.
[17]Tribastone M.A fluid model for layered queueing networks[J].IEEE Transactions on Software Engineering,2013,39(6):744-756.
[18]Suganthan P N,Hansen N,et al.Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization[R].Singapore:Nanyang Technological University,2005.
倪友聰 男,1976 年8月出生于安徽省肥西縣.現(xiàn)為福建師范大學(xué)軟件學(xué)院副教授、碩士生導(dǎo)師.主要研究領(lǐng)域?yàn)榛谒阉鞯能浖O(shè)計(jì),軟件體系結(jié)構(gòu)等.
E-mail:youcongni@foxmail.com
葉 鵬 男,1976年12月出生于湖北省武漢市.現(xiàn)為武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院講師.主要研究領(lǐng)域?yàn)榛谒阉鞯能浖O(shè)計(jì),軟件體系結(jié)構(gòu)等.
E-mail:whuyp@126.com
杜 欣(通信作者) 女,1979年2月出生于新疆河子市.現(xiàn)為福建師范大學(xué)軟件學(xué)院副教授、碩士生導(dǎo)師.主要研究領(lǐng)域?yàn)榛谒阉鞯能浖こ?,演化?jì)算等.
E-mail:xindu79@126.com
An Approach for Rule-Based Performance Evolutionary Optimization at Software Architecture Level
NI You-cong1,2,YE Peng3,DU Xin1,CHEN Ming4,XIAO Ru-liang1
(1.FacultyofSoftware,FujianNormalUniversity,Fuzhou,Fujian350117,China; 2.DepartmentofComputerScience,UniversityCollegeLondon,London,WC1E6BT,UK; 3.CollegeofMathematicsandComputer,WuhanTextileUniversity,Wuhan,Hubei430200,China; 4.CollegeofMathematicsandComputerScience,HunanNormalUniversity,Changsha,Hunan410081,China)
In the existing rule-based performance optimization approaches at software architecture (SA) level,it has not been fully concerned that the count and the order of each rule usage are uncertain in the optimization process.As a result,the search space for performance improvement is limited and the better solutions are hard to find.Aiming to this problem and taking the system response time minimum as the optimization objective,firstly,a model called RPOM is defined to abstract rule-based software performance optimization at SA level as the mathematical problem for solving the optimal rule sequence.Secondly,a framework named RSEF is designed to support the execution of a rule sequence.Furthermore,an evolutionary algorithm named EA4PO is proposed to find the optimal performance improvement solution by introducing statistical learning,constraint checking and repairing.Finally,a web application is taken as a case in the experiments for comparing with the existing methods.The experimental results indicate that the shorter system response time can be obtained and the statistical learning can obviously improve the convergence rate and the solution quality in our approach.
performance evaluation;performance optimization;software architecture;search-based software engineering
2016-02-02;
2016-04-27;責(zé)任編輯:馬蘭英
國(guó)家自然科學(xué)基金(No.61305079,No.61370078,No.61402481); 武漢大學(xué)軟件工程國(guó)家重點(diǎn)實(shí)驗(yàn)室開放基金(No.SKLSE 2014-10-02); 福建省自然科學(xué)基金(No.2015J01235); 福建省教育廳JK 類項(xiàng)目(No.JK2015006); 湖南省教育廳資助科研項(xiàng)目(No.14C0680); 河北省自然科學(xué)基金(No.F2015403046)
TP311
A
0372-2112 (2016)11-2688-07
??學(xué)報(bào)URL:http://www.ejournal.org.cn
10.3969/j.issn.0372-2112.2016.11.018