• 
    

    
    

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

      網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)的趨勢(shì)分析

      2016-11-23 06:20:32陸超澤曾國(guó)蓀
      關(guān)鍵詞:網(wǎng)絡(luò)化動(dòng)態(tài)軟件

      陸超澤, 曾國(guó)蓀

      (1.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 200092;2.同濟(jì)大學(xué) 嵌入式系統(tǒng)與服務(wù)計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室,上海 200092)

      ?

      網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)的趨勢(shì)分析

      陸超澤1,2, 曾國(guó)蓀1,2

      (1.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 200092;2.同濟(jì)大學(xué) 嵌入式系統(tǒng)與服務(wù)計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室,上海 200092)

      綜述了網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù),以軟件演化基本概念為基礎(chǔ),深刻分析了網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化的動(dòng)因,重點(diǎn)評(píng)述了網(wǎng)絡(luò)軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)在需求捕捉、情境建模、感知操作、決策技術(shù)、演化操作五個(gè)方面的發(fā)展現(xiàn)狀,由此指出網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化面臨的挑戰(zhàn)和發(fā)展趨勢(shì).

      網(wǎng)絡(luò)化軟件; 軟件演化; 自適應(yīng)技術(shù); 研究綜述

      演化最早被生物學(xué)家達(dá)爾文用來表示變化的繼承,揭示不同世代的物種之間存在著差異現(xiàn)象.后來,隨著軟件技術(shù)的發(fā)展,人們把“演化”概念引進(jìn)了軟件工程領(lǐng)域,出現(xiàn)了“軟件演化”這一術(shù)語.近年來,不少學(xué)者從多種角度對(duì)軟件演化的發(fā)展進(jìn)行分析和預(yù)測(cè),綜述軟件演化的發(fā)展現(xiàn)狀和發(fā)展趨勢(shì),雖然不能形成統(tǒng)一的見解,卻充分展現(xiàn)了各自的認(rèn)識(shí)和觀點(diǎn).

      早期,軟件演化并不被人們所認(rèn)識(shí),在第二屆軟件工程國(guó)際大會(huì)(ICSE)上,Swanson[1]發(fā)表了《維護(hù)的維度》一文,軟件演化雛形初步形成.Lehman[2]根據(jù)早期對(duì)軟件操作系統(tǒng)版本的追蹤,從生命周期和演化定律的角度對(duì)軟件程序級(jí)的演化進(jìn)行綜述,軟件演化開始被人們所認(rèn)識(shí).Perry[3]從認(rèn)知的角度對(duì)軟件演化進(jìn)行總結(jié),認(rèn)為軟件系統(tǒng)演化速度和相關(guān)人員的認(rèn)知水平有重要關(guān)系.我國(guó)學(xué)者楊芙清等人[4]從軟件技術(shù)發(fā)展的角度,總結(jié)了函數(shù)、對(duì)象級(jí)的演化已經(jīng)不能滿足Internet軟件的發(fā)展,指出了網(wǎng)構(gòu)軟件演化模型是軟件演化的重要方向.隨著互聯(lián)網(wǎng)的發(fā)展,軟件演化的大量的工作集中在網(wǎng)絡(luò)化軟件演化中,南京大學(xué)的呂建等人[5]分別從軟件演化的原因、軟件演化的定律、自演化的要素進(jìn)行了重要闡述.北京大學(xué)的梅宏等人[6]以體系結(jié)構(gòu)為中心,將軟件演化技術(shù)圍繞著生命周期作了詳細(xì)技術(shù)分析.湖南大學(xué)的陳洪龍等人[7]在總結(jié)自適應(yīng)演化軟件特征的基礎(chǔ)上,從語言、體系結(jié)構(gòu)和框架應(yīng)用層面對(duì)已有工作進(jìn)行概括和分析.浙江大學(xué)李長(zhǎng)云等人[8]從動(dòng)態(tài)演化的語言、模型和平臺(tái)三者之間的關(guān)系綜述已有的研究成果,提出自適應(yīng)演化是動(dòng)態(tài)演化未來的方向.最近幾年,很多研究學(xué)者從軟件服務(wù)的角度對(duì)軟件在線自適應(yīng)演化進(jìn)行綜述.例如,中科院王青等人[9]從互聯(lián)網(wǎng)的角度去總結(jié)軟件演化,認(rèn)為互聯(lián)網(wǎng)軟件將成為“永遠(yuǎn)的測(cè)試版”.國(guó)防科技大學(xué)的王懷民等人[10-11]從軟件服務(wù)的在線演化角度提出了“成長(zhǎng)構(gòu)造性”和“適應(yīng)性演化”兩條法則.Aversano等人[12]從ERP開源軟件在企業(yè)中的適應(yīng)的角度去總結(jié)軟件演化的發(fā)展.Liu等人[13]從模型驅(qū)動(dòng)的需求工程探索網(wǎng)構(gòu)軟件的自適應(yīng)演化.

      雖然很多學(xué)者對(duì)軟件演化以及軟件自適應(yīng)演化的研究進(jìn)展進(jìn)行了綜述性總結(jié),主要以網(wǎng)構(gòu)軟件為對(duì)象,分別從軟件體系結(jié)構(gòu)、Web服務(wù)、互聯(lián)網(wǎng)等方面或角度描述自適應(yīng)演化,但是由于考慮角度不一樣,對(duì)其理解也不一樣.因此,軟件自適應(yīng)演化的概念不清晰、產(chǎn)生動(dòng)因不明確、發(fā)展所涉及技術(shù)闡述不全面、發(fā)展趨勢(shì)不明確,以上綜述工作都有“盲人摸象”之嫌.當(dāng)前,以互聯(lián)網(wǎng)技術(shù)為中心的網(wǎng)構(gòu)軟件、web服務(wù)軟件等成為了軟件的一種新形態(tài),這類軟件與傳統(tǒng)軟件本質(zhì)的區(qū)別在于其賴以生存的環(huán)境為互聯(lián)網(wǎng)、組成的基本單位為互聯(lián)網(wǎng)上的服務(wù)資源、其結(jié)構(gòu)和行為可以動(dòng)態(tài)演化,為此統(tǒng)稱具有這類特點(diǎn)的軟件為網(wǎng)絡(luò)化軟件.網(wǎng)絡(luò)化軟件已成為軟件發(fā)展的主流方向,為此以網(wǎng)絡(luò)化軟件為對(duì)象,擬從“需求捕捉、情境建模、感知方式、決策方式、演化方式”五個(gè)方面,對(duì)自適應(yīng)動(dòng)態(tài)演化技術(shù)的研究現(xiàn)狀進(jìn)行全方位的分析,力求將自適應(yīng)演化技術(shù)概念清晰化、自適應(yīng)演化產(chǎn)生的動(dòng)因闡述明確,試圖將軟件自適應(yīng)演化發(fā)展所涉及技術(shù)闡述更全面、軟件自適應(yīng)演化發(fā)展趨勢(shì)更明確.

      1 軟件演化及動(dòng)因

      定義1 (軟件維護(hù)):指在軟件產(chǎn)品發(fā)布運(yùn)行后,為了確保實(shí)現(xiàn)軟件需求規(guī)約要求,對(duì)軟件進(jìn)行的修正錯(cuò)誤、適應(yīng)環(huán)境、增加功能、提升性能、預(yù)防問題發(fā)生的修改活動(dòng).

      定義 2 (軟件演化):指在軟件的生命周期內(nèi),對(duì)已有軟件系統(tǒng)不斷進(jìn)行修改、補(bǔ)充和完善,以便適應(yīng)外界環(huán)境變化,滿足用戶不斷變化需求和目標(biāo)的維護(hù)和更新活動(dòng).

      軟件維護(hù)和軟件演化這兩個(gè)概念既有關(guān)聯(lián)又有區(qū)別[9]:①軟件維護(hù)通常是系統(tǒng)為了實(shí)現(xiàn)軟件預(yù)先的需求規(guī)約而進(jìn)行的一組有計(jì)劃的活動(dòng);軟件演化除了有計(jì)劃活動(dòng)外還包括軟件隨時(shí)遇到的突發(fā)情況,如事先沒有預(yù)料到體系結(jié)構(gòu)的改變、全新計(jì)算模式的出現(xiàn)等.②軟件維護(hù)沒有“本質(zhì)變化”含義,注重的是保持和修復(fù);軟件演化更加強(qiáng)調(diào)“本質(zhì)變化”,表示從舊的設(shè)計(jì)變化到新的設(shè)計(jì)的過程.③軟件維護(hù)通常是發(fā)生在軟件運(yùn)行期間的修改活動(dòng);而軟件演化著眼于軟件整個(gè)生命周期,全面觀察和推進(jìn)軟件系統(tǒng)向前演化.④軟件維護(hù)更加偏向于實(shí)際工程領(lǐng)域,強(qiáng)調(diào)下一步該做什么、風(fēng)險(xiǎn)期望等;軟件演化則是范圍更加廣、更加偏向理論化,強(qiáng)調(diào)的是出現(xiàn)了某種現(xiàn)象,該采取何種方法應(yīng)對(duì).

      縱觀軟件演化的發(fā)展歷程,軟件演化的研究最早在20世紀(jì)60年代,Lehman對(duì)IBM OS/360操作系統(tǒng)版本進(jìn)行軟件演化研究,發(fā)現(xiàn)持續(xù)演化是軟件固有的基本屬性.在20世紀(jì)80~90年代后期相繼總結(jié)出了著名的Lehman軟件演化八大定律[14],具有演化過程的Bennet分段演化模型、Bohem螺旋演化模型等相繼被提出.20世紀(jì)90年代后期,研究者開始從程序語言、體系結(jié)構(gòu)等層面以軟件復(fù)用的角度對(duì)軟件演化進(jìn)行研究,出現(xiàn)各種支持軟件演化的技術(shù):構(gòu)件技術(shù)、軟件架構(gòu)、軟件逆向工程、軟件再工程、領(lǐng)域工程等.然而在這些支持軟件演化的各項(xiàng)技術(shù)中,通常將軟件演化劃分為靜態(tài)演化和動(dòng)態(tài)演化.

      定義3(靜態(tài)演化):指軟件在停機(jī)狀態(tài)下,對(duì)軟件系統(tǒng)的功能進(jìn)行完善與擴(kuò)充、性能的提高與加強(qiáng)、體系結(jié)構(gòu)的改變與重構(gòu)等維護(hù)和更新活動(dòng),并且這種活動(dòng)必須要重新啟動(dòng),或者重新編譯軟件系統(tǒng)才能得以實(shí)現(xiàn).

      定義4 (動(dòng)態(tài)演化):指軟件在運(yùn)行期間,不需要重啟或者重新編譯軟件系統(tǒng),就能動(dòng)態(tài)或在線地實(shí)現(xiàn)對(duì)軟件進(jìn)行功能完善與擴(kuò)充、性能的提高與加強(qiáng)、體系結(jié)構(gòu)改變與重構(gòu)等行為的維護(hù)和更新活動(dòng).

      靜態(tài)演化和動(dòng)態(tài)演化雖然都是為了實(shí)現(xiàn)軟件維護(hù)和更新這一共同目標(biāo)而進(jìn)行的,但是兩者卻具有自己的優(yōu)點(diǎn)和缺點(diǎn).靜態(tài)演化主要優(yōu)點(diǎn)在于不用考慮軟件狀態(tài)遷移和活動(dòng)進(jìn)程處理等問題,缺點(diǎn)是會(huì)造成軟件服務(wù)的中斷、暫時(shí)失效、重啟時(shí)間過長(zhǎng)等問題.動(dòng)態(tài)演化的優(yōu)點(diǎn)在于演化期間服務(wù)持續(xù)不斷地可用,適合開放多變的分布式網(wǎng)絡(luò)環(huán)境,缺點(diǎn)是需要考慮狀態(tài)遷移、觸發(fā)時(shí)機(jī)不確定、演化范圍難控等.除了靜態(tài)演化和動(dòng)態(tài)演化概念之外,人們還從不同的角度對(duì)軟件演化進(jìn)行了分類,具體如表1所示.

      近年來,隨著網(wǎng)構(gòu)軟件、普適計(jì)算軟件、云軟件、信息物理系統(tǒng)軟件等新一代軟件范型的出現(xiàn),軟件的形態(tài)正在發(fā)生深刻地變革,網(wǎng)絡(luò)化軟件成為了常態(tài).針對(duì)網(wǎng)絡(luò)化軟件,人們對(duì)它的期盼更加強(qiáng)調(diào)的是自適應(yīng)的效果,于是出現(xiàn)了網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化的新概念.

      表1 軟件演化分類

      定義5 (網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化):指網(wǎng)絡(luò)化軟件可以從外部環(huán)境中,自動(dòng)地收集自身行為信息,根據(jù)某些評(píng)價(jià)機(jī)制來評(píng)判自身行為,并依據(jù)評(píng)判結(jié)果主動(dòng)決策是否調(diào)整自身行為和結(jié)構(gòu),以便更好地達(dá)到預(yù)期目標(biāo).

      網(wǎng)絡(luò)化軟件自適應(yīng)演化現(xiàn)象普遍存在,例如:①蘋果手機(jī)的官方經(jīng)過一段時(shí)間后就會(huì)發(fā)布最新的IOS,要求IOS具有自動(dòng)收集手機(jī)的硬件資源、并根據(jù)評(píng)判機(jī)制的評(píng)判結(jié)果自動(dòng)決策是否進(jìn)行升級(jí)活動(dòng).②移動(dòng)云計(jì)算環(huán)境下,移動(dòng)終端可以根據(jù)當(dāng)前終端電量剩余量、任務(wù)數(shù)量多少等信息,自動(dòng)地將任務(wù)在云端和移動(dòng)終端之間的自由地遷移,以最小的開銷來滿足用戶的體驗(yàn).可見,網(wǎng)絡(luò)化自適應(yīng)軟件體現(xiàn)出了以下特征:感知性、自查性、自主性、動(dòng)態(tài)演化性、智能適應(yīng)性、協(xié)同性、多目標(biāo)性.總之,網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化的目標(biāo)是軟件實(shí)現(xiàn)失效時(shí)可以實(shí)現(xiàn)自我動(dòng)態(tài)配置、自動(dòng)恢復(fù)且檢測(cè)自身狀態(tài)、自我保證可靠性、不斷優(yōu)化自身功能和性能,即實(shí)現(xiàn)自配置、自治愈、自保護(hù)和自優(yōu)化.

      2 網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化的動(dòng)因

      計(jì)算機(jī)的幾十年發(fā)展中,計(jì)算模式由個(gè)人計(jì)算到網(wǎng)絡(luò)計(jì)算的轉(zhuǎn)變,分布式計(jì)算軟件得到了廣泛地部署.網(wǎng)絡(luò)化軟件在需求變化、運(yùn)行環(huán)境、應(yīng)用模式等方面都表現(xiàn)出與傳統(tǒng)應(yīng)用軟件諸多不同,自適應(yīng)動(dòng)態(tài)演化成為網(wǎng)絡(luò)化軟件應(yīng)具備的基本能力,下面將分析網(wǎng)絡(luò)軟件自適應(yīng)動(dòng)態(tài)演化的動(dòng)力和原因.

      2.1 用戶需求的變化

      “變化”是現(xiàn)實(shí)世界的永恒主題,世界只有“變化”才能發(fā)展.軟件是對(duì)真實(shí)世界里問題空間以及問題解空間的實(shí)在描述,用戶需求是問題空間的一種具體反映,因此用戶需求也具有“變化性”.然而當(dāng)前用戶需求更加強(qiáng)調(diào)時(shí)效性地變化,由此驅(qū)動(dòng)了軟件必須具有自適應(yīng)演化的能力.例如:在當(dāng)前最流行的電子商務(wù)平臺(tái)中,原有的基本業(yè)務(wù)流程為選擇商品、在線支付、下訂單、接收訂單、檢查庫存、發(fā)貨、收貨,然而現(xiàn)在用戶把在線支付改為貨到付款,這就驅(qū)動(dòng)了軟件必須具有可以自適應(yīng)的為用戶重新規(guī)劃業(yè)務(wù)流程的能力.對(duì)于大家使用的手機(jī),原先只有簡(jiǎn)單的彩色拍照功能,然而用戶希望拍照可以根據(jù)當(dāng)前的環(huán)境自適應(yīng)的調(diào)節(jié)光圈和快門,使拍照的效果更好,這就驅(qū)動(dòng)了手機(jī)必須增強(qiáng)相機(jī)模塊自適應(yīng)調(diào)節(jié)功能.數(shù)值求解時(shí),響應(yīng)時(shí)間要求由5 s變?yōu)? s,計(jì)算結(jié)果精度要求小數(shù)點(diǎn)后2 位,變?yōu)樾?shù)點(diǎn)后5 位,這就驅(qū)動(dòng)了軟件必須具有自適應(yīng)地選擇更高速度與精度云節(jié)點(diǎn)的能力.當(dāng)前很多電子商務(wù)平臺(tái)都要求在保護(hù)顧客隱私的前提下具有自動(dòng)捕捉顧客所在地能力,以此方便提供不同的語言和商品的購(gòu)買頁面,這就驅(qū)動(dòng)了軟件具有依據(jù)不同國(guó)家和地區(qū)的政策和法律自適應(yīng)地提供合法購(gòu)買頁面的能力等等.由此可見,由于網(wǎng)絡(luò)化軟件的快捷、輕便、易用等特點(diǎn)使得用戶嘗到了甜頭,促使用戶在互聯(lián)網(wǎng)環(huán)境下對(duì)服務(wù)的要求更高、個(gè)性化的追求更強(qiáng)、安全隱私保護(hù)更渴望、性能要求更高、功能要求更加齊全、業(yè)務(wù)流程更加便捷、智能程度要求更高、實(shí)時(shí)性要求更突出等,然而用戶的這些需求是無止境的、無規(guī)律的、無確定目標(biāo)的,因此用戶需求不確定性的變化是驅(qū)動(dòng)網(wǎng)絡(luò)化軟件自適應(yīng)演化的動(dòng)因之一.

      2.2 軟件運(yùn)行環(huán)境的變遷

      軟件系統(tǒng)通常在交付后持續(xù)運(yùn)行多年,在此期間,CPU的處理速度按摩爾定律每18個(gè)月加速1倍,計(jì)算機(jī)內(nèi)存從1MB變成4GB,硬盤變換成了存儲(chǔ)陣列,運(yùn)行終端由臺(tái)式機(jī)變換成筆記本電腦和iPad,服務(wù)器換成了集群,新設(shè)備的不斷使用,導(dǎo)致硬件環(huán)境變化.由此必然驅(qū)動(dòng)軟件必須具有自動(dòng)識(shí)別終端、服務(wù)器和各種設(shè)備的能力,從而自適應(yīng)地選擇不同的軟件版本等提供相應(yīng)的支持.軟件系統(tǒng)的基礎(chǔ)支持平臺(tái)是操作系統(tǒng)和工具軟件.操作系統(tǒng)從早期的DOS,發(fā)展到現(xiàn)在Windows,Unix和Linux.數(shù)據(jù)庫從早期的Foxbase,發(fā)展到Mysql,Oracle,再發(fā)展到現(xiàn)在的NoSQL和NewSQL.這些必然導(dǎo)致軟件環(huán)境變化.由此必然驅(qū)動(dòng)軟件必須具有自動(dòng)識(shí)別操作系統(tǒng)和數(shù)據(jù)庫類型和版本的能力,從而自適應(yīng)地選擇不同的軟件版本等提供相應(yīng)的支持.近年來,網(wǎng)絡(luò)經(jīng)過改造,由局域網(wǎng)變成廣域網(wǎng),由廣域網(wǎng)變成WWW 全球互聯(lián)網(wǎng),由有線網(wǎng)變成無線網(wǎng),接入方式更加靈活方便,軟件的運(yùn)行環(huán)境已從單機(jī)環(huán)境上過渡到了網(wǎng)絡(luò)環(huán)境,然而網(wǎng)絡(luò)環(huán)境具有動(dòng)態(tài)性不穩(wěn)定性,由此驅(qū)動(dòng)軟件必須具有自適應(yīng)選擇較高質(zhì)量網(wǎng)絡(luò)環(huán)境的能力.當(dāng)前物聯(lián)網(wǎng)和云計(jì)算環(huán)境都體現(xiàn)出了彈性構(gòu)造,也就是說硬件資源和軟件資源可以按需選取,由此驅(qū)動(dòng)了軟件必須具有自適應(yīng)地快速匹配軟件環(huán)境和硬件環(huán)境的能力.由此可見,網(wǎng)絡(luò)化軟件與傳統(tǒng)軟件的運(yùn)行環(huán)境存在本質(zhì)上不同,表現(xiàn)為:硬件資源規(guī)?;?、操作系統(tǒng)多樣化、數(shù)據(jù)庫系統(tǒng)非結(jié)構(gòu)化、應(yīng)用環(huán)境多元化、硬軟件資源按需而取化等.上述運(yùn)行環(huán)境特征使得網(wǎng)絡(luò)化軟件的應(yīng)用、數(shù)據(jù)、計(jì)算等資源隨時(shí)處于可以變化的狀態(tài),且難以對(duì)這些變化資源的邊界給予明確地界定,體現(xiàn)環(huán)境的開放、動(dòng)態(tài)、難控等特點(diǎn),因此軟件運(yùn)行環(huán)境的變遷也是驅(qū)動(dòng)網(wǎng)絡(luò)化軟件自適應(yīng)演化的動(dòng)因之一.

      2.3 軟件應(yīng)用模式的變更

      早期,軟件的應(yīng)用模式很單一,主要是針對(duì)計(jì)算機(jī)本身而設(shè)計(jì)一款軟件,應(yīng)用范圍很窄,例如:引導(dǎo)操作系統(tǒng)啟動(dòng)、命令形式的簡(jiǎn)單算術(shù)問題等,軟件基本上屬于自編自用應(yīng)用模式.后來隨著計(jì)算機(jī)開始商用化,軟件通常被刻在軟盤、光盤上進(jìn)行買賣,例如,Windowxp、瑞星殺毒等,那個(gè)時(shí)期軟件屬于我編他用的應(yīng)用模式.隨著開源世界的到來,軟件作為一種資源開始被人們所共享,例如,在開源社區(qū)你會(huì)找到計(jì)算器軟件很多版本,可以對(duì)其修改后還可以上傳供大家使用,這個(gè)時(shí)期的軟件開始走向了共享使用的應(yīng)用模式.近年來,智能終端的不斷普及,人們可以通過網(wǎng)上在線購(gòu)買App軟件,這標(biāo)志著軟件在線購(gòu)買應(yīng)用模式.隨著普適計(jì)算、網(wǎng)格計(jì)算、服務(wù)計(jì)算、云計(jì)算的發(fā)展,人們更希望將互聯(lián)網(wǎng)當(dāng)作一個(gè)大型的軟件,只需要通過點(diǎn)擊瀏覽器,就可以獲取自己所需的軟件服務(wù)應(yīng)用模式,例如:網(wǎng)上租用存儲(chǔ)空間,科學(xué)實(shí)驗(yàn)網(wǎng)上租用高性能計(jì)算服務(wù)等,軟件的應(yīng)用發(fā)展到了租用模式.現(xiàn)在隨著大數(shù)據(jù)和挖掘技術(shù)的發(fā)展,將來有可能促使軟件根據(jù)挖掘到的用戶偏好規(guī)律、行為規(guī)律、作息規(guī)律等發(fā)展到軟件私人訂制應(yīng)用模式.然而以上的一系列應(yīng)用模式改變促使了網(wǎng)絡(luò)化軟件應(yīng)該具備自適應(yīng)演化的能力,例如:開源社區(qū)的Linux操作系統(tǒng)在進(jìn)行剪裁時(shí)是否可以符合硬件環(huán)境的各項(xiàng)配置,需要軟件具有自我檢測(cè)能力等.因此,應(yīng)用模式的改變也是促使網(wǎng)絡(luò)化軟件應(yīng)具備自適應(yīng)動(dòng)態(tài)演化能力的原因之一.

      綜上所述,正是由于需求的變化、運(yùn)行環(huán)境的變遷、應(yīng)用模式的變更使得網(wǎng)絡(luò)化軟件面臨著諸多與傳統(tǒng)軟件不同的技術(shù)挑戰(zhàn).然而自適應(yīng)動(dòng)態(tài)演化技術(shù)為系統(tǒng)化地解決這些基本問題提供了一條可行的技術(shù)路徑.

      3 網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化的技術(shù)進(jìn)展

      網(wǎng)絡(luò)化軟件促使了軟件演化由人為參與的被動(dòng)式演化轉(zhuǎn)換成主動(dòng)式無人參與的演化.主動(dòng)性的自適應(yīng)演化通常包括五個(gè)方面要素:需求、情境、感知、決策、演化,這五個(gè)方面要素相互關(guān)聯(lián),通過前饋和反饋技術(shù)形成一個(gè)閉環(huán)機(jī)制相互影響[5],如圖1所示.但是由于各要素的目標(biāo)追求不一,采用的描述技術(shù)方法不一,大多數(shù)研究成果都是交錯(cuò)在一起沒有特別明顯的區(qū)別.針對(duì)需求捕捉、情境建模、感知操作、決策方式、演化操作這幾個(gè)方面,學(xué)者們開展了大量研究工作.

      圖1 自適應(yīng)動(dòng)態(tài)演化五大要素的內(nèi)容和關(guān)系

      3.1 自適應(yīng)動(dòng)態(tài)演化的需求捕捉

      傳統(tǒng)的需求捕捉方法主要有訪談、調(diào)查問卷、觀察和業(yè)務(wù)檔案研究等.這些方法具有動(dòng)態(tài)地與訪談?wù)哌M(jìn)行交互、調(diào)查用戶的多元化、親身體會(huì)用戶的工作業(yè)務(wù)過程的優(yōu)點(diǎn),但是具有反饋延時(shí)很長(zhǎng)、準(zhǔn)確度不高、觸犯一些單位或者個(gè)人隱私等缺點(diǎn).現(xiàn)在的需求捕捉方法是軟件原型法,群體頭腦風(fēng)暴,聯(lián)合應(yīng)用開發(fā)等.這些方法具有可視化環(huán)境便于溝通、需求一致性達(dá)成、群體協(xié)作重點(diǎn)突破一些重大問題的優(yōu)點(diǎn),但是具有成本高、費(fèi)時(shí)、不易召集相關(guān)人員的缺點(diǎn).

      然而這些需求捕捉方法都存在一些客觀的不足,導(dǎo)致了一些問題的產(chǎn)生:用戶參與度低、協(xié)商程度不夠全面、需求不一致和不完整、用戶與開發(fā)人員背景知識(shí)存在鴻溝等.針對(duì)這些問題,研究者又相應(yīng)的提出了各種解決方案,用于補(bǔ)充需求捕捉技術(shù).針對(duì)用戶參與度低,主要有使用模式的方法誘導(dǎo)用戶的需求,使用情景協(xié)同的方式誘導(dǎo)用戶需求,使用問題驅(qū)動(dòng)場(chǎng)景的協(xié)同誘導(dǎo)需求方法等.針對(duì)協(xié)商程度不夠全面,主要有使用基于個(gè)性領(lǐng)域知識(shí)場(chǎng)景協(xié)同的需求捕捉方法,使用四維及多維的交流協(xié)商框架方法,以及WinWin協(xié)商模型方法等.針對(duì)需求不一致和不完整問題,主要有使用面向領(lǐng)域知識(shí)的需求不一致驗(yàn)證及管理框架方法,多視點(diǎn)集成的方法,以及本質(zhì)用例引導(dǎo)用戶逐步完善和精化需求方法等.針對(duì)用戶與開發(fā)人員背景知識(shí)存在鴻溝問題,主要有通過領(lǐng)域知識(shí)的相互滲透來消除用戶與開發(fā)人員的知識(shí)鴻溝到達(dá)獲取需求的目的方法,通過上下文感知來消除兩者之間的知識(shí)鴻溝來捕捉需求的方法,以及本體自動(dòng)捕捉需求來消除兩者之間的鴻溝方法等[15].然而網(wǎng)絡(luò)化軟件更加強(qiáng)調(diào)的是自主性,因此這些需求捕捉技術(shù)也不能很好地滿足網(wǎng)絡(luò)化軟件自適應(yīng)的要求.

      因此,面對(duì)網(wǎng)絡(luò)化軟件用戶呈現(xiàn)出扁平性、廣泛性,研究人員又提出了各種技術(shù)組合的需求捕捉方式.例如,將目標(biāo)分類技術(shù)和建模技術(shù)結(jié)合起來捕捉需求;將目標(biāo)和本體技術(shù)結(jié)合自動(dòng)捕捉需求;將本體、機(jī)器學(xué)習(xí)技術(shù)、數(shù)據(jù)挖掘引入智能需求捕捉技術(shù)中;將社會(huì)網(wǎng)絡(luò)技術(shù)和需求工程技術(shù)結(jié)合用于廣泛用戶需求捕捉;將用戶評(píng)論和特征挖掘技術(shù)用于高時(shí)效性的需求捕捉;將云計(jì)算、服務(wù)計(jì)算、社會(huì)計(jì)算等與控制論結(jié)合起來用于自動(dòng)控制需求捕捉等[13,15-16].各種組合技術(shù)不斷出現(xiàn),但是由于網(wǎng)絡(luò)環(huán)境中軟件需求本身的不確定性成分太多,這些需求捕捉技術(shù)只能是片面的或者是某個(gè)時(shí)間某個(gè)領(lǐng)域?qū)W(wǎng)絡(luò)化軟件自適應(yīng)演化技術(shù)適用而已,通用的自適應(yīng)網(wǎng)絡(luò)化軟件需求捕捉技術(shù)還有待進(jìn)一步探索.

      3.2 自適應(yīng)動(dòng)態(tài)演化的情境建模

      當(dāng)前對(duì)情境的定義并沒有統(tǒng)一的認(rèn)識(shí),然而Dey 等人[17]所描述的情境定義被廣為借鑒:“情境是用于表示實(shí)體狀態(tài)特征的一切信息,其中,實(shí)體指的是人、機(jī)、以及人機(jī)交互相關(guān)的所有客體”.如今,情境信息已經(jīng)在各類應(yīng)用系統(tǒng)得到廣泛的應(yīng)用,但是關(guān)注的內(nèi)容不一樣.從整體上來看,情境信息主要包括時(shí)間、位置、設(shè)備類型、設(shè)備狀態(tài)、周圍環(huán)境(包括天氣、季節(jié)等)、情緒、意圖等,還有些系統(tǒng)可能包括更廣泛的情境信息,如計(jì)算平臺(tái)、社會(huì)網(wǎng)絡(luò)、通信平臺(tái)、存儲(chǔ)平臺(tái)等.然而網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化主要關(guān)注的情境信息是什么,如何對(duì)情境信息建模是本文所重點(diǎn)關(guān)注的問題?其實(shí)情境對(duì)于網(wǎng)絡(luò)化軟件來說是軟件實(shí)體進(jìn)行演化的環(huán)境或平臺(tái)的一種抽象表示,它不僅包括系統(tǒng)本身的一些靜態(tài)信息,還包括運(yùn)行時(shí)刻的動(dòng)態(tài)信息以及一些非功能性方面的需求信息,至今在網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化方面并沒有系統(tǒng)的情境模型,但是很多研究人員在一些應(yīng)用領(lǐng)域已經(jīng)使用了不同方法對(duì)情境建立了模型值得借鑒,如下描述.

      情境建模是情境信息的數(shù)據(jù)表達(dá)和組織形式,是獲取網(wǎng)絡(luò)軟件動(dòng)態(tài)運(yùn)行狀態(tài)的關(guān)鍵技術(shù),其發(fā)展經(jīng)歷了幾個(gè)重要過程:理解模型、交互模型、層次模型、推理模型和本體模型.理解模型主要是通過符號(hào)、向量和圖等形式表述情境信息,如Adomavicius描述的基于圖的情境建模語言(CML)[18]等,這種模型優(yōu)點(diǎn)簡(jiǎn)潔、直觀、易于展開數(shù)學(xué)計(jì)算,但是人為操作因素過多、對(duì)情境交互缺少統(tǒng)一的格式.交互模型主要通過標(biāo)記語言表示,如Knappmeyer[19]提出的 ContextML等,這個(gè)模型的優(yōu)點(diǎn)簡(jiǎn)單、易理解,但是缺乏嚴(yán)格的邏輯驗(yàn)證.層次模型主要通過樹結(jié)構(gòu)實(shí)現(xiàn),如Stefanidis等人[20]用樹模型來表示對(duì)象情境和實(shí)例情境之間的邏輯從屬關(guān)系,這個(gè)模型的優(yōu)點(diǎn)層次從屬關(guān)系明確、范圍大小清晰,缺點(diǎn)是隨著樹深度增加復(fù)雜度不斷增加.推理模型通過將情境信息用邏輯語言或推理機(jī)表示,如Riahi[21]等人將XML和Petri結(jié)合表示情境信息,通過XML的語義和Petri的過程進(jìn)行語義推理.這個(gè)模型的優(yōu)點(diǎn)具有嚴(yán)格的推理過程,缺點(diǎn)就是不易于理解.本體模型主要通過知識(shí)系統(tǒng)進(jìn)行情境信息描述,具有代表性的研究是CoBrA 項(xiàng)目[22],具有易推理、易共享、易重用的優(yōu)點(diǎn),這也是目前情境建模的熱點(diǎn)之一.

      當(dāng)前已經(jīng)有支持軟件的自適應(yīng)動(dòng)態(tài)演化系統(tǒng),但是對(duì)情境建模方面有明顯的缺陷.例如:CMU的Garlan等人提出的Rainbow[23]是一種層次模型建立的自適應(yīng)動(dòng)態(tài)演化軟件系統(tǒng),但是情境信息是隱式描述的.K-Component的框架[24]由都柏林大學(xué)的Dowling等人提出,情境信息由感知部件直接獲取,但是沒有專門管理歷史情境信息的部件.ArchStudio系統(tǒng)[25]由加州大學(xué)歐文分校的Taylor等人開發(fā),情境信息被體系結(jié)構(gòu)語言隱式的描述,在高層的體系結(jié)構(gòu)映射到底層的運(yùn)行對(duì)象導(dǎo)致情境信息不明確.Arch-Ware項(xiàng)目[26]是由歐盟資助的,情境信息沒有顯示刻畫,情境信息分散,難于管理情境信息,導(dǎo)致后期的擴(kuò)展相當(dāng)困難.MADAM[27]情境信息被中間件封裝在實(shí)例對(duì)象中,提取情境信息增加了難度.Artemis-MAC[28]由南京大學(xué)馬曉星等人開發(fā),主要通過RDF和OWL技術(shù)對(duì)情境信息給予建模,但是該平臺(tái)在情境信息的沖突檢測(cè)方面并沒有提及.由上分析可知,對(duì)于網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)來說,情境建模的好與壞決定了自適應(yīng)動(dòng)態(tài)演化的擴(kuò)展性和通用性.

      3.3 自適應(yīng)動(dòng)態(tài)演化的感知操作

      網(wǎng)絡(luò)化軟件情境信息的感知操作主要包括三個(gè)環(huán)節(jié):情境信息的獲取、情境信息的過濾推薦、情境信息的管理.

      情境信息的獲取是網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化關(guān)鍵的一步,因?yàn)槟芊駵?zhǔn)確獲取情境信息對(duì)決策方式的影響很大.當(dāng)前對(duì)情境信息的獲取主要有三種方式[29]:①顯示獲取.主要是通過傳統(tǒng)的物理設(shè)備以及現(xiàn)在的各類傳感器感知、人工的用戶主動(dòng)問詢、機(jī)器輪詢等方式,可以直接獲得各種關(guān)注的顯示情境信息.②隱式獲取.主要有時(shí)間匹配法、位置匹配法、歸納法、相似法、分類法等,通過已有的情境信息間接地獲取部分更詳細(xì)的情境信息,例如可以通過直接獲取方式獲取系統(tǒng)中的日志文檔情境信息,然后通過日志文檔間接歸納法獲取更詳細(xì)的某用戶的時(shí)間情境信息.③推理獲取.主要是對(duì)一些顯示或隱式獲取的情境信息,需要用挖掘技術(shù)、統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)等方法進(jìn)行推理才能獲得更高層次的情境信息.這三種方式相鋪相成的,因?yàn)轱@示獲取方式雖然能夠得到很精確的情境信息,但是這些情境信息有可能并沒有實(shí)用價(jià)值,需要隱式獲取或者推理獲取才能獲得更加有意義的情境信息.因此將這些情境信息的獲取技術(shù)進(jìn)行組合或者改進(jìn)對(duì)網(wǎng)絡(luò)化軟件的自適應(yīng)演化技術(shù)可以提供有效的支持.

      情境信息的過濾推薦是為了決策階段獲取更加精確有效的信息,同時(shí)減少無用信息的干擾,經(jīng)過主動(dòng)推薦提高精度.當(dāng)前從信息的角度來看,通常使用的過濾推薦方法有三種:協(xié)同過濾法、基于內(nèi)容過濾法、混合式過濾法.①協(xié)同過濾法.主要是利用“群體智慧”的思想,根據(jù)當(dāng)前事件/實(shí)體或者其他事件/實(shí)體對(duì)部分情境信息的已知偏好來預(yù)測(cè)當(dāng)前事件/實(shí)體對(duì)其他情境信息的偏好;或者利用部分事件/實(shí)體對(duì)當(dāng)前情境信息或者其他情境信息的已知偏好來預(yù)測(cè)其他事件/實(shí)體對(duì)當(dāng)前情境信息的潛在偏好,這一技術(shù)已經(jīng)得到了廣泛的應(yīng)用.例如:Shin等人[30]根據(jù)余弦相似度理論來度量某實(shí)體當(dāng)前情境信息與歷史情境信息的相似度,然后聯(lián)合歷史情境實(shí)體的偏好來預(yù)測(cè)當(dāng)前情境的實(shí)體偏好完成協(xié)同過濾推薦.現(xiàn)在還有一些利用機(jī)器學(xué)習(xí)(如支持向量機(jī))或者統(tǒng)計(jì)相關(guān)模型(張量分解)來改進(jìn)協(xié)同過濾技術(shù).這種方法的優(yōu)點(diǎn)在于充分利用“群體智慧”思想,知識(shí)面豐富;缺點(diǎn)就是冷啟動(dòng)、高維數(shù)據(jù)處理難度大、稀疏性等.②基于內(nèi)容的過濾.主要通過挖掘?qū)嶓w在不同的情境下對(duì)不同具體實(shí)例屬性的偏好,然后根據(jù)每個(gè)具體實(shí)例的屬性描述計(jì)算實(shí)體、實(shí)例、情境之間的匹配度(或相似度、概率),從而預(yù)測(cè)實(shí)體偏好,完成情境信息的過濾推薦.該技術(shù)的關(guān)鍵在于實(shí)例屬性特征的描述和計(jì)算匹配度的方法,實(shí)例屬性特征的描述當(dāng)前已有的方法為:如TF-IDF法、聚類、貝葉斯網(wǎng)絡(luò)等分類法;計(jì)算匹配度的方法主要有: 杰拉德(Jaccard)相似系數(shù)、余弦相似度、皮爾遜(Pearson)相關(guān)系數(shù)、曼哈頓(Manhattan)距離等.這種方法的優(yōu)點(diǎn)在于可以利用成熟的分類方法,過濾推薦的結(jié)果簡(jiǎn)單、直觀、易理解;缺點(diǎn)是內(nèi)容情境信息受限、情境信息的有效性受限于分類方法的好壞等.③混合式過濾法.這種方法主要是通過各種不同的混合策略(如串聯(lián)、加權(quán)、擴(kuò)充、層次疊加、特征組合等)將各種不同的過濾方法組合完成過濾推薦.例如: Wang等人[31]將協(xié)同過濾原型和基于情緒特征的協(xié)同過濾方法混合,各取優(yōu)點(diǎn)完成情境信息的過濾推薦.這個(gè)方法的優(yōu)點(diǎn)在于可以借鑒集成學(xué)習(xí)理論,用共同學(xué)習(xí)的方法提供推薦精度;缺點(diǎn)在于會(huì)引入很多組合參數(shù),增加了計(jì)算復(fù)雜度.因此這些情境信息的過濾推薦技術(shù)各有利弊,都在一定程度上對(duì)網(wǎng)絡(luò)化軟件的自適應(yīng)演化技術(shù)提供支持,但是并不完備.

      情境信息的管理在當(dāng)前的網(wǎng)絡(luò)化軟件自適應(yīng)演化中并沒有得到過多的重視,但其也是情境信息方面的一個(gè)難點(diǎn).情境信息的管理主要包括情境信息的沖突、歷史情境信息的管理、情境信息的緩存管理三個(gè)方面.①情境信息的沖突.情境沖突主要是來源于情境信息獲取并非嚴(yán)格的進(jìn)行分類、或者是情境信息定義的范圍劃界不明確、或者是獲取過程中出現(xiàn)偏差造成的,通常現(xiàn)在情境信息的沖突解決方法有兩個(gè)方面.一種就是利用非形式地方法通過編寫沖突檢測(cè)的邏輯程序進(jìn)行檢測(cè);另一種方法就是在情境建模過程中用嚴(yán)格的邏輯推理進(jìn)行規(guī)避.②歷史情境信息的管理.歷史情境信息通常作為當(dāng)前的情境信息的一個(gè)參照、或者模仿信息,在進(jìn)行偏好相似度方面有著很重要的地位,但是往往由于設(shè)備的存儲(chǔ)空間有限,歷史情境信息并不是能夠完全保留,制作一套高效的歷史情境信息管理機(jī)制顯得相當(dāng)重要.③情境信息的緩存管理.在網(wǎng)絡(luò)化軟件的分布式環(huán)境中,情境信息的緩存是為了提高響應(yīng)、支持實(shí)時(shí)性,如何從高層態(tài)勢(shì)的情境信息中選取至關(guān)重要的情境信息構(gòu)成緩存機(jī)制也顯得很重要.

      當(dāng)前網(wǎng)絡(luò)化軟件自適應(yīng)演化在感知操作方面相當(dāng)薄弱,很多已有的自適應(yīng)演化系統(tǒng)在感知操作所涉及的三個(gè)環(huán)節(jié)并沒有考慮完全,只是注重其中的一個(gè)或兩個(gè)環(huán)節(jié).如Rainbow[23]系統(tǒng)、K-Component[24]的框架、ArchStudio系統(tǒng)[25]、Arch-Ware項(xiàng)目[26]和MADAM[27]都只是分別通過Probe-Gauge、Monitor、Bus-sensor、Monitor、Distribute-Sensor進(jìn)行情境信息的獲取,而 Artemis-MAC[28]和李青山等人[32]描述的情境信息都是由Agent進(jìn)行獲取的,但是在情境信息過濾和情境信息管理方面并沒有提及.

      3.4 自適應(yīng)動(dòng)態(tài)演化的決策方式

      策略是以指導(dǎo)方式對(duì)軟件的動(dòng)態(tài)行為進(jìn)行管理和控制,人們將管理邏輯通過策略的形式獨(dú)立出來就是為了更好地利用自適應(yīng)演化過程的知識(shí).決策作為自適應(yīng)動(dòng)態(tài)演化技術(shù)中比較重要的一個(gè)環(huán)節(jié),軟件實(shí)體可以根據(jù)預(yù)先制定的策略進(jìn)行決策,也可以通過人工智能技術(shù)和交叉學(xué)科相關(guān)技術(shù)實(shí)現(xiàn)決策[33].當(dāng)前對(duì)策略的研究已經(jīng)有很多研究成果,但是對(duì)網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)提供支持的主要有基于策略管理技術(shù)、基于人工智能的策略技術(shù)、基于交叉學(xué)科的策略技術(shù)等.

      在基于策略管理方面:主要是通過策略語言和策略沖突兩個(gè)角度進(jìn)行管理.策略語言角度,通常以比高級(jí)語言更加簡(jiǎn)單的形式對(duì)策略進(jìn)行描述,且以動(dòng)態(tài)運(yùn)行解釋為主.例如,IBM的自主計(jì)算平臺(tái)PMAC使用基于XML 語言的ACPL (Automatic Computing Policy Language)來描述策略,以此對(duì)具有標(biāo)簽的策略進(jìn)行管理[34].策略沖突角度,由于多條策略同時(shí)執(zhí)行可能會(huì)導(dǎo)致不可預(yù)期的結(jié)果,因此要對(duì)策略進(jìn)行沖突管理,如Rainbow中使用事件匹配機(jī)制來對(duì)策略的優(yōu)先級(jí)區(qū)分[23].

      在基于人工智能的策略方面:軟件自適應(yīng)動(dòng)態(tài)演化研究的人工智能策略主要是從三種技術(shù)進(jìn)行開展:Agent技術(shù)、基于用例推理和強(qiáng)化學(xué)習(xí)技術(shù).Agent技術(shù)由于具有自適應(yīng)的內(nèi)部組織結(jié)構(gòu)和自配置、自優(yōu)化、自保護(hù)、自修復(fù)等特點(diǎn),較適合自適應(yīng)動(dòng)態(tài)演化機(jī)制,例如李青山等人[32]就是通過改進(jìn)合同網(wǎng)的Agent協(xié)作策略完成基于Agent的自適應(yīng)動(dòng)態(tài)演化機(jī)制.Rani等人[35]將Agent和本體技術(shù)結(jié)合用于完成web軟件的自適應(yīng)動(dòng)態(tài)演化的云存儲(chǔ)機(jī)制.基于用例推理主要思想是從過往成功的策略中獲取經(jīng)驗(yàn),在近年來也得到了廣泛的發(fā)展,例如ArchStudio系統(tǒng)[25]就是使用基于用例推理的一個(gè)成功例子.強(qiáng)化學(xué)習(xí)主要是將學(xué)習(xí)作為一種試探與評(píng)價(jià),通過不間斷地與情境信息進(jìn)行交互獲取相關(guān)知識(shí)從而更好的改進(jìn)策略,例如K-Component[24]的框架通過合作強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)在分布式環(huán)境下的協(xié)同策略進(jìn)行自適應(yīng)演化.其他的一些自適應(yīng)人工智能策略主要有基于規(guī)劃技術(shù)、基于生物編程技術(shù)和基于模糊邏輯等技術(shù).

      在基于交叉學(xué)科的策略方面:網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化策略相關(guān)的交叉學(xué)科主要有仿生學(xué)、控制論、決策論、博弈論等.仿生學(xué)主要通過對(duì)生物的個(gè)體行為和群體行為特征進(jìn)行策略的模仿,例如Mckinley 等人[36]通過模仿生物進(jìn)化行為的過程來構(gòu)造自適應(yīng)進(jìn)化的優(yōu)勝劣汰策略.在控制論中,主要是運(yùn)用已有控制論的已有知識(shí)構(gòu)造策略,例如Chen等人[37]將模型檢測(cè)器作為控制器,軟件體系結(jié)構(gòu)模型作為控制目標(biāo),構(gòu)造一個(gè)實(shí)時(shí)性的知識(shí)決策器,不斷地優(yōu)化動(dòng)態(tài)軟件體系結(jié)構(gòu)模型.決策論主要是運(yùn)用概率理論和效用理論這兩方面的知識(shí),例如,POISED[38]是通過概率論來在線評(píng)估策略;博弈論方面,主要是通過經(jīng)濟(jì)領(lǐng)域的博弈思想引入軟件自適應(yīng)動(dòng)態(tài)演化中,例如Ye等人[39]將博弈論思想的引入自適應(yīng)分布式網(wǎng)絡(luò)交互操作演化模型上,利用囚徒困境模型構(gòu)造互操作的自適應(yīng)優(yōu)化策略.

      3.5 自適應(yīng)動(dòng)態(tài)演化的演化操作

      網(wǎng)絡(luò)化軟件的自適應(yīng)演化的操作主要體現(xiàn)在參數(shù)調(diào)整和結(jié)構(gòu)調(diào)整[33].參數(shù)調(diào)整通常表現(xiàn)為不對(duì)軟件具體實(shí)現(xiàn)進(jìn)行修改,只是對(duì)變量、屬性等進(jìn)行重配置,從而完成軟件行為的改變;結(jié)構(gòu)調(diào)整主要體現(xiàn)在需要對(duì)軟件的具體實(shí)現(xiàn)進(jìn)行修改,如替換代碼和模塊等,從而實(shí)現(xiàn)軟件行為的改變.

      參數(shù)調(diào)整的自適應(yīng)演化操作主要的方法就是通過參數(shù)的動(dòng)態(tài)配置完成.例如,Boyapati等人[40]提出了一種中斷模型的參數(shù)動(dòng)態(tài)配置方法,主要在某個(gè)點(diǎn)進(jìn)行中斷,等待這個(gè)點(diǎn)之后的所有代碼都進(jìn)入了不活躍狀態(tài),參數(shù)更新配置才開始,完成后返回且恢復(fù)系統(tǒng)正常運(yùn)行,該方法缺點(diǎn)是不支持多線程.Kang等人[41]提出一種調(diào)用模型的參數(shù)動(dòng)態(tài)配置方法,首先在某個(gè)點(diǎn)先進(jìn)行通知,過了一段時(shí)間運(yùn)行到更新點(diǎn)才開始進(jìn)行參數(shù)的更新配置,完成后返回且恢復(fù)系統(tǒng)正常運(yùn)行,該方法支持多線程.Chen等人[42]提出一種松一致模型的參數(shù)動(dòng)態(tài)配置方法,它是中斷模型的一個(gè)擴(kuò)展,它不同之處在于更新完畢后,新老進(jìn)程可以并存,等待所有的新老進(jìn)程都達(dá)到某個(gè)點(diǎn)時(shí),才完全執(zhí)行新進(jìn)程等.

      結(jié)構(gòu)調(diào)整的自適應(yīng)演化操作涉及的方法有:基于構(gòu)件的動(dòng)態(tài)配置,動(dòng)態(tài)體系結(jié)構(gòu),服務(wù)動(dòng)態(tài)組合,代碼動(dòng)態(tài)遷移,動(dòng)態(tài)方面編程.①基于構(gòu)件的動(dòng)態(tài)配置.構(gòu)件的動(dòng)態(tài)配置支持比函數(shù)、對(duì)象更大粒度的軟件重用,基本的演化操作是構(gòu)件的替換、增加、刪除.隨著容器和構(gòu)件的接口不斷地標(biāo)準(zhǔn)化,基于構(gòu)件開發(fā)的軟件可以通過構(gòu)件的演化操作完成對(duì)用戶需求和硬件環(huán)境等因素的自適應(yīng).例如,微軟公司的開發(fā)的COM/DCOM/COM+系列構(gòu)件模型, Sun公司提出的EJB系列, OMG提出的CORBA構(gòu)件模型,是通過容器管理構(gòu)件的替換、增加、刪除操作,通常是用恢復(fù)性方法、避免性方法、通用動(dòng)態(tài)配置框架法完成系統(tǒng)一致性.恢復(fù)性方法,記錄多個(gè)檢查點(diǎn),當(dāng)演化操作發(fā)生時(shí)破壞了一致性,就回滾到特定的檢查點(diǎn).避免性方法,首先由配置算法方案檢測(cè)可能影響的范圍,然后凍結(jié)響應(yīng)范圍的構(gòu)件行為,完成演化操作后恢復(fù)正常運(yùn)行.通用動(dòng)態(tài)配置框架方法,基本思想是每個(gè)構(gòu)件都配置一個(gè)控制器,且存儲(chǔ)有構(gòu)件當(dāng)前的狀態(tài)和交互約束等.②動(dòng)態(tài)體系結(jié)構(gòu).動(dòng)態(tài)軟件體系結(jié)構(gòu)的演化操作依賴于構(gòu)件、連接件和體系結(jié)構(gòu)配置,連接件是用于構(gòu)件間的交互和交互規(guī)則的設(shè)定,體系結(jié)構(gòu)配置是用于確保構(gòu)件和連接件的交互和拓?fù)潢P(guān)系.例如,南京大學(xué)的馬曉星等[43]使用類型化圖文法給出了基于“Master/Slaver”風(fēng)格的實(shí)例系統(tǒng)的增加、刪除演化操作規(guī)則,由體系結(jié)構(gòu)配置完成結(jié)構(gòu)調(diào)整.我國(guó)學(xué)者趙會(huì)群等人[44]利用代數(shù)模型給出了網(wǎng)構(gòu)體系結(jié)構(gòu)的激發(fā)、使用、協(xié)同、并行、重復(fù)、選擇演化操作.Xu[45]等人利用超圖文法描述動(dòng)態(tài)體系結(jié)構(gòu),給出了順序、并行、拆分、重組等組合演化操作的超圖文法演化規(guī)則.③服務(wù)動(dòng)態(tài)組合.服務(wù)動(dòng)態(tài)組合的演化操作主要是依賴于服務(wù)組合的模型.例如,曾晉等[46]從服務(wù)組合的角度給出了服務(wù)的替換、增加、刪除和結(jié)構(gòu)調(diào)整4 種演化操作,給出了一個(gè)組合服務(wù)流程結(jié)構(gòu)的動(dòng)態(tài)在線遷移機(jī)制.曾國(guó)蓀等人[47]基于條件Pi演算擴(kuò)展給出了插入、刪除、遷移、替換、并行、交換、增加依賴、去除依賴、更新條件、嵌入選擇分支、嵌入循環(huán)的服務(wù)演化操作,形成了一個(gè)組合服務(wù)柔性演化模型.④代碼的動(dòng)態(tài)遷移.代碼的動(dòng)態(tài)遷移主要是根據(jù)周圍運(yùn)行環(huán)境變化時(shí),軟件通過遷移部分代碼或者模塊以適應(yīng)環(huán)境,完成軟件演化.當(dāng)前這種技術(shù)主要運(yùn)用在云分布式環(huán)境中,例如Zhang等人[48]將單個(gè)移動(dòng)云計(jì)算的任務(wù)自動(dòng)地劃分為多個(gè)Weblet構(gòu)件,然后根據(jù)當(dāng)前的運(yùn)行環(huán)境狀況自適應(yīng)動(dòng)態(tài)的分配Weblet構(gòu)件是在云端還是在移動(dòng)端執(zhí)行等.⑤動(dòng)態(tài)方面編程.動(dòng)態(tài)方面編程技術(shù)是將業(yè)務(wù)邏輯的公共代碼(即橫切關(guān)注點(diǎn))通過預(yù)定義截獲點(diǎn)、代理設(shè)計(jì)等手段動(dòng)態(tài)的植入正在運(yùn)行的軟件系統(tǒng)中,也屬于自適應(yīng)演化的范疇,且已經(jīng)成為了自適應(yīng)領(lǐng)域的一種重要的發(fā)展方向.例如 Machta等人[49]利用動(dòng)態(tài)方面編程與UML結(jié)合為遺產(chǎn)軟件系統(tǒng)增加實(shí)時(shí)、安全等非功能方面的自適應(yīng)機(jī)制.

      在完成各類演化操作后,如何保證系統(tǒng)的一致性和完整性使其不偏離原有系統(tǒng)也是軟件演化發(fā)生后必須關(guān)心的問題.首先,一致性在這里是指系統(tǒng)演化前后結(jié)構(gòu)和狀態(tài)的一致性.為了保證這類一致性,已經(jīng)有很多學(xué)者從建模的角度提出了各種方法,圖文法、Petri-Net、自動(dòng)機(jī)、可靠性度量模型等,例如,徐洪珍等人[50]構(gòu)造了一種基于條件超圖文法的系統(tǒng)一致性判定方法.周宇等人[51]從行為的角度采用層次式時(shí)間自動(dòng)機(jī)以及模型檢測(cè)工具對(duì)演化約束規(guī)則進(jìn)行一致性驗(yàn)證.其次,完整性指的是系統(tǒng)演化后不能破壞原有系統(tǒng)規(guī)約中的約束.當(dāng)前對(duì)完整性檢測(cè)的相關(guān)技術(shù),主要集中在反射技術(shù)、一階邏輯、高階邏輯等.例如,ArchStudio系統(tǒng)[25]利用反射技術(shù)和推理邏輯保證系統(tǒng)的完整性.Artemis-MAC[28]是基于利用反射技術(shù)和一階邏輯的保證系統(tǒng)的完整性等.

      綜上所述,將所提及的若干經(jīng)典自適應(yīng)動(dòng)態(tài)演化系統(tǒng)在建模語言、情境建模、感知、決策和演化五個(gè)方面的使能技術(shù)進(jìn)行比較分析,結(jié)果如表2所示:

      4 網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)的挑戰(zhàn)和發(fā)展趨勢(shì)

      隨著網(wǎng)絡(luò)軟件規(guī)模不斷地增大、組成結(jié)構(gòu)日益復(fù)雜,運(yùn)行環(huán)境呈現(xiàn)出開放、動(dòng)態(tài)和難控的局面,致使軟件需要自適應(yīng)動(dòng)態(tài)演化來滿足環(huán)境和用戶需求.從宏觀的角度來看,當(dāng)前自適應(yīng)動(dòng)態(tài)演化技術(shù)存在諸多挑戰(zhàn),本文試圖指出一些發(fā)展趨勢(shì).

      4.1 網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)的挑戰(zhàn)

      早期的軟件工程領(lǐng)域開發(fā)模型大多數(shù)都是基于確定性假設(shè)進(jìn)行開發(fā)的,隨著網(wǎng)絡(luò)化軟件的出現(xiàn),這種假設(shè)難以成立,不確定性成為了常態(tài),成為了自適應(yīng)演化的一大挑戰(zhàn).在軟件的自適應(yīng)動(dòng)態(tài)演化中不確定性主要來源于需求的不確定和環(huán)境的不確定.此外,由于演化數(shù)據(jù)和資源的分散、多樣、異構(gòu)、泛在等原因,導(dǎo)致了演化數(shù)據(jù)和資源的安全性不能得到保證,這也是自適應(yīng)演化的又一挑戰(zhàn).

      表2 若干經(jīng)典的自適應(yīng)動(dòng)態(tài)演化系統(tǒng)比較

      (1)網(wǎng)絡(luò)化軟件超常復(fù)雜

      美國(guó)卡耐基梅隆大學(xué)軟件工程研究所在2006年發(fā)表題為《超大規(guī)模系統(tǒng):軟件未來的挑戰(zhàn)》[52]中指出未來軟件在代碼行數(shù)、節(jié)點(diǎn)數(shù)目、數(shù)據(jù)量等都是千萬級(jí)甚至更高量級(jí)的,其超大規(guī)模性是現(xiàn)在軟件系統(tǒng)無法比擬的.網(wǎng)絡(luò)化軟件作為未來軟件的一種形態(tài),規(guī)模激增已經(jīng)在各種維度的復(fù)雜性上引起內(nèi)在變化[53]:例如,用戶需求和目標(biāo)的復(fù)雜性;互聯(lián)網(wǎng)環(huán)境多元素的復(fù)雜性;元素之間的交互復(fù)雜性;元素組成員邊界劃分的復(fù)雜性;去中心化的非集中式管理復(fù)雜性等.因此,面對(duì)規(guī)模劇烈增長(zhǎng)、復(fù)雜性不斷增加、持續(xù)不斷演化的網(wǎng)絡(luò)化軟件,需要尋找新的觀念、新的思想、新的技術(shù)來應(yīng)對(duì)這些問題.

      (2)需求的不確定性

      需求的不確定性指的是用戶需求的不確定性 ,導(dǎo)致需求不確定有幾個(gè)原因.首先,認(rèn)識(shí)帶來的需求不確定.需求是用戶對(duì)客觀世界的描述,但是人們認(rèn)識(shí)客觀世界的能力受限于知識(shí)和經(jīng)驗(yàn),即對(duì)客觀世界得認(rèn)識(shí)是不完全的,因此導(dǎo)致了用戶需求的不確定性.其次,變化帶來的不確定性.客觀世界是變化的,因此需求規(guī)格也會(huì)隨著客觀世界的變化而變化,隨著普適計(jì)算、網(wǎng)格計(jì)算、服務(wù)計(jì)算、云計(jì)算新型計(jì)算的出現(xiàn),用戶需求變化程度愈加強(qiáng)烈,表現(xiàn)出來的不確定性更加廣泛.

      (3)外部環(huán)境信息的不確定性

      在開放、動(dòng)態(tài)的背景下的系統(tǒng)所處的運(yùn)行的環(huán)境是具有極其高的不確定性和動(dòng)態(tài)性.由于在開發(fā)階段,網(wǎng)絡(luò)軟件很難精確地預(yù)測(cè)可能要面對(duì)什么樣的環(huán)境,特別是面對(duì)分布式環(huán)境的影響因素過多,且因素的動(dòng)態(tài)性太強(qiáng),當(dāng)前網(wǎng)絡(luò)化軟件面對(duì)著環(huán)境不確定性,主要的方法就是對(duì)環(huán)境進(jìn)行實(shí)時(shí)地監(jiān)控,然而基于監(jiān)控的技術(shù)往往只是針對(duì)某些固定因素進(jìn)行監(jiān)控,對(duì)那些瞬時(shí)出現(xiàn)的環(huán)境信息無法捕捉,該技術(shù)并不是能夠很好地支持環(huán)境信息不確定性,急需新的理論、方法和技術(shù)手段疊加或者創(chuàng)建給予支持.

      (4)演化數(shù)據(jù)和資源的不可信

      當(dāng)前在開發(fā)環(huán)境下參與自適應(yīng)動(dòng)態(tài)演化的構(gòu)造單元或者數(shù)據(jù)種類繁多、來源不一,特別是開源軟件庫主導(dǎo)的分布式軟件的可信性面臨著巨大的挑戰(zhàn).我國(guó)學(xué)者呂建等人[5]指出建立可信管理和可信評(píng)估是演化數(shù)據(jù)和資源得以重要前提.我國(guó)學(xué)者王懷民等人[54]指出了參與演化的數(shù)據(jù)和資源的多元性、分散性等原因是演化安全性隱患的重要因素.網(wǎng)絡(luò)化軟件部署在泛化環(huán)境中,參與的演化資源和數(shù)據(jù)的來源更是多樣化、不可預(yù)測(cè)等特點(diǎn),因此演化數(shù)據(jù)和資源的不可信性是網(wǎng)絡(luò)化軟件自適應(yīng)演化的一個(gè)重大挑戰(zhàn).

      (5)自適應(yīng)演化理論方法不完善

      由于軟件自適應(yīng)演化本身是一個(gè)外延很廣泛的技術(shù),它的實(shí)現(xiàn)涉及軟件工程、復(fù)雜系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、人工智能、生物學(xué)、社會(huì)組織學(xué)等多個(gè)學(xué)科,傳統(tǒng)的軟件演化技術(shù)理論方法已經(jīng)無法勝任.如今已有的動(dòng)態(tài)演化、在線演化的理論方法對(duì)自適應(yīng)技術(shù)的支撐只是針對(duì)某個(gè)特定領(lǐng)域,并沒有形成系統(tǒng)化的理論、方法、工具和基本的支撐設(shè)施.自適應(yīng)演化作為網(wǎng)絡(luò)化軟件生命周期內(nèi)持續(xù)演化的重要技術(shù),沒有完整的理論方法支撐將會(huì)嚴(yán)重阻礙網(wǎng)絡(luò)化軟件的發(fā)展.

      4.2 網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)的發(fā)展趨勢(shì)

      針對(duì)網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)面臨的各方面挑戰(zhàn),網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)的發(fā)展趨勢(shì)有如下幾個(gè)方面:

      (1)彈性的網(wǎng)絡(luò)化軟件體系結(jié)構(gòu)模型.隨著網(wǎng)絡(luò)化軟件規(guī)模和復(fù)雜性不斷地增加,開發(fā)可自適應(yīng)演化的網(wǎng)絡(luò)化軟件系統(tǒng)遇到了嚴(yán)重的阻礙.最大的阻礙之一就是無法將不同種類的原系統(tǒng)和軟件模型清晰地區(qū)分開,然而軟件體系結(jié)構(gòu)在開發(fā)過程中扮演著全局視圖的重要角色,創(chuàng)建彈性的網(wǎng)絡(luò)化軟件體系結(jié)構(gòu)模型是解決該問題的方法之一.

      (2)基于大數(shù)據(jù)挖掘的演化誘因捕捉.當(dāng)前引起網(wǎng)絡(luò)化軟件演化的動(dòng)因主要為用戶需求和環(huán)境變化,然而這些變化由人為的觀察只能分析表面的原因并不能正確地把握這些變化的規(guī)律,大數(shù)據(jù)技術(shù)的發(fā)展卻可以為挖掘事件變化深層的規(guī)律提供了支持,因此為了延長(zhǎng)軟件生命周期,發(fā)展基于大數(shù)據(jù)的網(wǎng)絡(luò)化軟件演化動(dòng)因的捕捉勢(shì)在必行.

      (3)基于深度學(xué)習(xí)的多目標(biāo)演化決策技術(shù).在網(wǎng)絡(luò)化軟件中,由于用戶多需求的特點(diǎn),導(dǎo)致軟件系統(tǒng)多種不同的功能、性能屬性演化時(shí)發(fā)生沖突,緩解這種沖突的方式顯然為多目標(biāo)演化決策的過程,由于認(rèn)知技術(shù)具有記憶功能,可以清楚地掌握不同功能和性能在不同需求情況下的權(quán)重,可以為這種多目標(biāo)演化決策的過程提供強(qiáng)有力的保證.

      (4)基于行為和內(nèi)容可信的演化管理.網(wǎng)絡(luò)化軟件演化呈現(xiàn)出演化資源的泛在性和異構(gòu)性、演化數(shù)據(jù)的分散性與多樣性、演化目標(biāo)的多元性、演化過程的交錯(cuò)性等給軟件的演化安全管理提出重大的挑戰(zhàn),擁有一套可信演化管理的機(jī)制才是保證演化正確實(shí)施的關(guān)鍵.

      (5)基于群體智慧的自適應(yīng)動(dòng)態(tài)演化優(yōu)化.由于自適應(yīng)動(dòng)態(tài)演化被激發(fā)的原因主要來源于用戶,當(dāng)前的大多數(shù)自適應(yīng)演化框架都只是停留在開發(fā)人員對(duì)用戶需求的被動(dòng)了解,因此讓用戶主動(dòng)參與軟件演化才是自適應(yīng)演化的關(guān)鍵,因此基于群體智慧技術(shù)對(duì)自適應(yīng)演化框架的優(yōu)化將成為一種趨勢(shì).

      5 結(jié)束語

      隨著計(jì)算機(jī)環(huán)境從封閉、靜態(tài)、可控轉(zhuǎn)向開放、動(dòng)態(tài)、難控的局面,給網(wǎng)絡(luò)化軟件演化提出了新的挑戰(zhàn),從而驅(qū)動(dòng)了建立網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化機(jī)制勢(shì)在必行.本文從構(gòu)造自適應(yīng)動(dòng)態(tài)演化機(jī)制這一角度出發(fā),首先介紹軟件演化的基本概念;在此基礎(chǔ)上歸納出研究網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化的動(dòng)因;接著就從需求捕捉、情境建模、感知操作、決策技術(shù)、演化操作五個(gè)方面歸納出網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化的主要研究工作和進(jìn)展;最后總結(jié)分析出網(wǎng)絡(luò)化軟件自適應(yīng)動(dòng)態(tài)演化技術(shù)的挑戰(zhàn)和發(fā)展趨勢(shì),為自適應(yīng)動(dòng)態(tài)演化的推進(jìn)提供了方向性指導(dǎo).

      [1] Swanson E B. The Dimensions of Maintenance[C]// Proceedings of the 2nd international conference on Software engineering. Los Alamitos: IEEE Press, 1976:492-497.

      [2] Lehman M M. Programs, life cycles, and laws of software evolution[J]. Proceedings of the IEEE, 1980, 68(9):1060.

      [3] Perry D E. Dimensions of software evolution[C]// Proceedings of International Conference on Software Maintenance, 1994. Victoria: IEEE Press, 1994:296-303.

      [4] 楊芙清,梅宏,呂建,等.淺論軟件技術(shù)發(fā)展[J].電子學(xué)報(bào),2002,30(12A):1901.

      YANG Fuqing,MEI Hong,Lü Jian,etal. Some discussion on the development of software technology[J].ActaElectronicaSinica, 2002,30(12A):1901.

      [5] 呂建,馬曉星,陶先平,等.網(wǎng)構(gòu)軟件的研究與進(jìn)展[J].中國(guó)科學(xué)E 輯: 信息科學(xué),2006,36(10): 1037.

      Lü Jian,MA Xiaoxing,TAO Xianping,etal. Research and development of internetware[J]. Science in China Series E:Information Sciences, 2006, 36(10): 1037.

      [6] 梅宏,黃罡,蘭靈,等.基于體系結(jié)構(gòu)的網(wǎng)構(gòu)軟件自適應(yīng)方法[J].中國(guó)科學(xué)E 輯:信息科學(xué),2008,38(6):901.

      MEI Hong,HUANG Gang,LAN Ling,etal. An adaptive method of internetware based on architecture[J]. Science in China Series E:Information Sciences, 2008,38(6): 901.

      [7] 陳洪龍,李仁發(fā).自適應(yīng)演化軟件研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2010,27(10):3612.

      CHEN Honglong,LI Renfa. Survey on self-adaptive evolution software[J]. Application Research of Computers, 2010,27(10):3612.

      [8] 李玉龍,李長(zhǎng)云.軟件動(dòng)態(tài)演化技術(shù)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18 (9):83.

      LI Yulong, LI Changyun. Dynamic evolution technology of software[J]. Computer Technology and Development,2008,18(9):83.

      [9] 王青,李娟.互聯(lián)網(wǎng)對(duì)軟件演化的挑戰(zhàn)[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2009,5(12):27.

      WANG Qing,LI Juan. The challenge of Internet to Software Evolution[J]. Communications of the CCF, 2009, 5(12):27.

      [10] 王懷民,史佩昌,丁博等.軟件服務(wù)的在線演化[J].計(jì)算機(jī)學(xué)報(bào),2011,34(2):318.

      WANG Huaimin, SHI Peichang, DING Bo,etal. Online evolution of software services[J]. Chinese Journal of Computers,2011,34(2):318.

      [11] 王懷民,吳文峻,毛新軍等.復(fù)雜軟件系統(tǒng)的成長(zhǎng)性構(gòu)造于適應(yīng)性演化[J]. 中國(guó)科學(xué)E 輯:信息科學(xué),2014,44(6):743.

      WANG Huaimin,Wu Wenjun,Mao Xinjun,etal. Growth Construct and adaptive evolution of complex software systems[J]. Science in China Series E:Information Sciences, 2014,44(6):743.

      [12] Aversano L, Brino M D, Guardabascio D,etal. Understanding enterprise open source software evolution[J]. Procedia Computer Science, 2015, 64:924.

      [13] Lin L, Chen Y, Wang J M,etal. Requirements model driven adaption and evolution of Internetware[J]. Science in China Information Sciences, 2014, 57(6):1.

      [14] Lehman M M, Ramil J F, Wernick P D,etal. Metrics and Laws of Software Evolution - The Nineties View[C]// IEEE International Software Metrics Symposium. Albuquerque: IEEE Press, 1997:20-32.

      [15] 湛浩旻.軟件需求獲取過程關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 2013.

      ZHAN Haomin. Research on key technologies of software requirements elicitation process[D]. Harbin: Harbin Engineering University: School of Computer Science and Technology,2013.

      [16] Jiang W, Ruan H, Zhang L,etal. For User-Driven Software Evolution: Requirements Elicitation Derived from Mining Online Reviews[C]// Proceedings of the 18th Pacific-Asia Conference, PAKDD 2014. Switzerland:Springer Press, 2014:584-595.

      [17] Dey A K. Understanding and Using Context[J]. Personal & Ubiquitous Computing, 2001, 5(1):4.

      [18] Adomavicius G, Ricci F. RecSys’09 workshop 3:workshop on context-aware recommender systems (CARS-2009)[C]// Proceedings of the 2009 ACM Conference on Recommender Systems, RecSys 2009. New York: ACM Press,2009:423-424.

      [19] Knappmeyer M, Kiani S L, Fra C,etal. ContextML: a light-weight context representation and context management schema[C]// Proceedings of the 5th IEEE international conference on Wireless pervasive computing. Modena: IEEE Press, 2010:367-372.

      [20] Stefanidis K, Pitoura E. Fast contextual preference scoring of database tuples[C]// Proceedings of the 11th International Conference on Extending Database Technology: Advances in Database Technology. New York:ACM Press,2008:344-355.

      [21] Riahi I, Moussa F. A formal approach for modeling context-aware human-computer system [J]. Computers & Electrical Engineering, 2015, 44(0):241-261.

      [22] Chen H, Finin T, Joshi A. Semantic web in the context broker architecture[C]// IEEE International Conference on Pervasive Computing and Communications. Orlando: IEEE Press, 2004:277-286.

      [23] Huang A C, Garlan D, Schmerl B. Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure[J]. Computer, 2004, 37(10):276.

      [24] Dowling J, Cahill V. TheK-component architecture meta-model for self-adaptive software[C]// Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns. Berlin: Springer-Verlag, 2002:81-88.

      [25] Georgas J C, Taylor R N. Towards a knowledge-based approach to architectural adaptation management[C]// Proceedings of the 1st ACM SIGSOFT Workshop on Self-managed Systems. New York:ACM Press, 2004:59-63.

      [26] Oquendo F, Warboys B, Morrison R,etal. ArchWare: architecting evolvable software[C]// Proceedings of the 1st European Workshop on Software Architecture. Berlin Heidelberg:Springer-Verlag, 2004:257-271.

      [27] Floch J, Hallsteinsen S, Stav E,etal. Using architecture models for runtime adaptability[J]. IEEE Software, 2006, 23(2):62.

      [28] 馬曉星,余萍,呂建等.一種面向服務(wù)的動(dòng)態(tài)協(xié)同架構(gòu)及其支撐平臺(tái)[J]. 計(jì)算機(jī)學(xué)報(bào),2005,28(4):467.

      MA Xiaoxing, YU Ping, TAO Xianping,etal. A service-oriented dynamic coordination architecture and its supporting system[J]. Chinese Journal of Computers, 2005,28(4): 467.

      [29] 王立才, 孟祥武, 張玉潔. 上下文感知推薦系統(tǒng)[J].軟件學(xué)報(bào), 2012,23(1):1.

      WANG Licai, MENG Xiangwu, ZHANG Yujie. Context-aware recommender systems[J]. Journal of Software, 2012,23(1):1.

      [30] Shin D, Lee J W, Yeon J,etal. Context-aware recommendation by aggregating user context[C]// IEEE Conference on Commerce & Enterprise Computing. Vienna: IEEE Press, 2009:423-430.

      [31] Wang L, Meng X, Zhang Y,etal. New approaches to mood-based hybrid collaborative filtering[C]// The Workshop on Context-Aware Movie Recommendation. New York: ACM Press, 2010:28-33.

      [32] 李青山,王璐,褚華,等.一種基于智能體技術(shù)的軟件自適應(yīng)動(dòng)態(tài)演化機(jī)制[J].軟件學(xué)報(bào),2015,26(4):760.

      LI Qingshan, WANG Lu, CHU Hua,etal. Agent-based software adaptive dynamic evolution mechanism [J]. Journal of Software, 2015,26(4):760.

      [33] 丁博,王懷民,史殿習(xí).構(gòu)造具備自適應(yīng)能力的軟件[J].軟件學(xué)報(bào),2013,24(9):1981.

      DING Bo, WANG Huaimin, SHI Dianxi. Constructing software with Self-adaptability[J].Journal of Software, 2013,24(9):1981.

      [34] Agrawal D, Lee K W, Lobo J. Policy-based management of networked computing systems[J]. IEEE Communications Magazine, 2005, 43(10):69.

      [35] Rani M, Nayak R, Vyas O P. An ontology-based adaptive personalized e-learning system, assisted by software agents on cloud storage[J]. Knowledge-Based Systems, 2015, 90(C):33.

      [36] Mckinley P K, Cheng B H C, Ofria C . Applying digital evolution to the development of self-adaptive ULS systems[C]// International Workshop on Software Technologies for Ultra-Large-Scale Systems. Minneapolis: IEEE Press, 2007:3.

      [36] Chen L, Huang L, Li C,etal. Design and safety analysis for system architecture: a breeze/ADL-based approach[C]// Computer Software and Applications Conference. Vasteras: IEEE Press, 2014:261-266.

      [38] Esfahani N. Management of uncertainty in self-adaptive software[J]. Dissertations & Theses—Gradworks, 2014, 14(3):234.

      [39] Ye D, Zhang M. A self-adaptive strategy for evolution of cooperation in distributed networks[J]. IEEE Transactions on Computers, 2015, 64(4):899.

      [40] Boyapati C, Liskov B, Shrira L,etal. Lazy modular upgrades in persistent object stores[J]. Acm Sigplan Notices, 2003, 38(11):403.

      [41] Kang L, Cao D. An extension to computing elements in erlang for actor based concurrent programming[C]// 2012 IEEE 15th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops. Shenzhen: IEEE Press, 2012:99-105.

      [42] Chen H, Yu J, Hang C,etal. Dynamic software updating using a relaxed consistency model[J]. IEEE Transactions on Software Engineering, 2010, 37(5):679.

      [43] 馬曉星, 曹春, 余萍,等. 基于圖文法的動(dòng)態(tài)軟件體系結(jié)構(gòu)支撐環(huán)境[J]. 軟件學(xué)報(bào), 2008, 19(8):1881.

      MA Xiaoxing,CAO Chun,YU Ping,etal.A supporting environment based on graph grammar for dynamic software architecture[J]. Journal of Software, 2008, 19(8):1881.

      [44] 趙會(huì)群,孫晶.網(wǎng)構(gòu)軟件體系結(jié)構(gòu)代數(shù)模型[J]. 中國(guó)科學(xué)E 輯:信息科學(xué),2013,43(1):161.

      ZHAO Huiqun,SUN Jing. Algebraic model of internetware architecture[J]. Science in China: Series E:Information Sciences, 2013,43(1):161.

      [45] Xu H Z, Zeng G S. Modeling and verifying composite dynamic evolution of software architectures using hypergraph grammars[J]. International Journal of Software Engineering and Knowledge Engineering, 2013, 23(6): 775.

      [46] 曾晉,孫海龍,劉旭東等.基于服務(wù)組合的可信軟件動(dòng)態(tài)演化機(jī)制[J].軟件學(xué)報(bào),2010,21(2):261.

      ZENG Jun, SUN Hailong, Liu Xudong,etal. Dynamic evolution mechanism for trustworthy software based on service composition[J]. Journal of Software, 2010,21(2):261.

      [47] 劉濤,曾國(guó)蓀.一種基于條件Pi演算的組合服務(wù)柔性演化模型[J].計(jì)算機(jī)科學(xué),2011,38(10A):230.

      LIU Tao, ZENG Guosun. Model for flexible evolution of composite services based on conditionalPicalculus[J]. Computer Science, 2011,38(10A):230.

      [48] Zhang X, Kunjithapatham A, Jeong S,etal. Towards an elastic application model for augmenting the computing capabilities of mobile devices with cloud computing[J]. Mobile Networks & Applications, 2011, 16(3):270.

      [49] Machta N, Bennani M T, Benahmed S. NOLE: an AOM weaver for aspect oriented modeling of real-time system [J]. Procedia Computer Science, 2015, 46:742.

      [50] 徐洪珍,曾國(guó)蓀,陳波.軟件體系結(jié)構(gòu)動(dòng)態(tài)演化的條件超圖文法及分析[J].軟件學(xué)報(bào),2011,22(6):1210.

      XU Hongzeng, ZENG Guosun, CHEN Bo. Conditional hypergraph grammars and its analysis of dynamic evolution of software architectures[J]. Journal of Software, 2011,22(6):1210.

      [51] 周宇,黃延凱,黃志球等.一種開放環(huán)境下軟件在線演化一致性驗(yàn)證方法[J].軟件學(xué)報(bào),2015,26(4):747.

      ZHOU Yu, HUANG Yankai, HUANG Zhiqiu,etal. Towards an approach of consistency verification for online software evolution in open environments[J]. Journal of Software, 2015,26(4):747.

      [52] Northrop L, Feiler P, Gabriel R P,etal. Ultra-large-scale systems—the software challenge of the future[J]. Software Engineering Institute, 2006, 5(2):297.

      [53] 馬于濤, 何克清, 李 兵等.網(wǎng)絡(luò)化軟件的復(fù)雜網(wǎng)絡(luò)特性實(shí)證[J].軟件學(xué)報(bào), 2011,22(3):381.

      MA Yutao, HE Keqing, LI Bin,etal. Empirical study on the characteristics of complex networks in networked software[J]. Journal of Software, 2011,22(3):381.

      [54] 王懷民, 尹 剛.網(wǎng)絡(luò)時(shí)代的軟件可信演化[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2010,6(2):28.

      WANG Huaimin,YUN Gang. Software credible evolution in the network era[J]. Communications of the CCF,2010,6(2):28.

      Trend Analysis of Adaptive Dynamic Evolution Technology for Networked Software

      LU Chaoze1,2, ZENG Guosun1,2

      (1.College of Electronics and Information Engineering, Shanghai 201804, China; 2.Embedded System and Service Computing Key Laboratory of the Ministry of Education, Tongji University, Shanghai 201804, China)

      The paper presents a review of networked software adaptive dynamic evolution technology. First, on the basis of the concept of software evolution, an analysis was made of the reason of networked software adaptive dynamic evolution. Then, comment was made of development state of networked software adaptive dynamic evolution in the requirements capturing, context modeling, perception operation, decision-making technology, evolution operation. In the end, the challenge and trend for the networked software adaptive dynamic evolution was pointed out.

      networked software; software evolution; self-adaptive technology; research review

      2016-03-05

      上海市優(yōu)秀學(xué)科帶頭人計(jì)劃(10XD1404400);華為創(chuàng)新研究計(jì)劃(IRP-2013-12-03);高效能服務(wù)器和存儲(chǔ)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室開放基金(2014HSSA10)

      陸超澤(1988—),男,博士生,主要研究方向?yàn)檐浖莼涂尚跑浖?E-mail:luchaoze@126.com

      曾國(guó)蓀(1964—),男,教授,博士生導(dǎo)師,工學(xué)博士,主要研究方向?yàn)椴⑿杏?jì)算、可信軟件和信息安全.

      E-mail:gszeng@# edu.cn

      TP311

      A

      猜你喜歡
      網(wǎng)絡(luò)化動(dòng)態(tài)軟件
      國(guó)內(nèi)動(dòng)態(tài)
      國(guó)內(nèi)動(dòng)態(tài)
      國(guó)內(nèi)動(dòng)態(tài)
      禪宗軟件
      英語文摘(2021年10期)2021-11-22 08:02:26
      動(dòng)態(tài)
      軟件對(duì)對(duì)碰
      當(dāng)代新聞學(xué)的網(wǎng)絡(luò)化發(fā)展
      新聞傳播(2016年11期)2016-07-10 12:04:01
      基于OPC的網(wǎng)絡(luò)化群梯管理系統(tǒng)開發(fā)
      談軟件的破解與保護(hù)
      精品(2015年9期)2015-01-23 01:36:01
      網(wǎng)絡(luò)化時(shí)代社會(huì)認(rèn)同的深刻變遷
      凉城县| 新龙县| 高州市| 大安市| 中山市| 阿鲁科尔沁旗| 攀枝花市| 米泉市| 从江县| 牙克石市| 霍林郭勒市| 囊谦县| 偏关县| 濉溪县| 广南县| 米脂县| 伊宁市| 景谷| 高阳县| 峨山| 周至县| 红河县| 沾益县| 自治县| 龙井市| 象山县| 金塔县| 富顺县| 浠水县| 阳西县| 白玉县| 缙云县| 泰顺县| 四子王旗| 江门市| 广昌县| 汽车| 正阳县| 望江县| 永靖县| 龙南县|