亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        自適應(yīng)軟件的環(huán)境模型及實(shí)現(xiàn)*

        2016-06-13 00:16:53江海挺林華山王茂光焦文品
        計(jì)算機(jī)與生活 2016年3期
        關(guān)鍵詞:自適應(yīng)

        江海挺,劉 洋,林華山,王茂光,焦文品+

        1.北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件研究所,北京1008712.北京大學(xué)高可信軟件技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,北京1008713.中央財(cái)經(jīng)大學(xué)信息學(xué)院,北京100081

        ISSN 1673-9418 CODEN JKYTA8

        Journal of Frontiers of Computer Science and Technology 1673-9418/2016/10(03)-0301-10

        ?

        自適應(yīng)軟件的環(huán)境模型及實(shí)現(xiàn)*

        江海挺1,2,劉洋1,2,林華山1,2,王茂光3,焦文品1,2+

        1.北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件研究所,北京100871
        2.北京大學(xué)高可信軟件技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,北京100871
        3.中央財(cái)經(jīng)大學(xué)信息學(xué)院,北京100081

        ISSN 1673-9418 CODEN JKYTA8

        Journal of Frontiers of Computer Science and Technology 1673-9418/2016/10(03)-0301-10

        E-mail: fcst@vip.163.com

        http://www.ceaj.org

        Tel: +86-10-89056056

        * The National Natural Science Foundation of China under Grant Nos. 91318301, U1201252 (國(guó)家自然科學(xué)基金); the National Basic Research Program of China under Grant No. 2015CB352200 (國(guó)家重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃(973計(jì)劃)).

        Received 2015-06,Accepted 2015-09.

        CNKI網(wǎng)絡(luò)優(yōu)先出版:2015-10-09, http://www.cnki.net/kcms/detail/11.5602.TP.20151009.1544.006.html

        Key words: self-adaptive; software environment; software modeling; software reuse

        摘要:隨著軟件及其運(yùn)行環(huán)境的復(fù)雜性和不確定性的上升,軟件要求能夠及時(shí)地感知環(huán)境的變化,并做出相應(yīng)的反應(yīng)。由于環(huán)境具有開(kāi)放、動(dòng)態(tài)、不可控、不可預(yù)測(cè)等特點(diǎn),為了實(shí)現(xiàn)軟件對(duì)不同環(huán)境的自動(dòng)感知和適應(yīng),環(huán)境被獨(dú)立建模,并定義為能夠自維護(hù)和自演化的一級(jí)實(shí)體。為了簡(jiǎn)化軟件與環(huán)境之間的交互,環(huán)境被實(shí)現(xiàn)為一個(gè)層次結(jié)構(gòu),為軟件提供面向應(yīng)用的抽象資源到環(huán)境資源之間的自動(dòng)映射和配置機(jī)制,從而提高了環(huán)境和軟件的復(fù)用性,同時(shí)也減輕了軟件開(kāi)發(fā)人員的負(fù)擔(dān)。

        關(guān)鍵詞:自適應(yīng);軟件環(huán)境;軟件建模;軟件復(fù)用

        1 引言

        隨著軟件運(yùn)行環(huán)境的復(fù)雜性和不確定性的上升,傳統(tǒng)的軟件已經(jīng)不能很好地適應(yīng)環(huán)境的變化。自適應(yīng)軟件(self-adaptive software)會(huì)動(dòng)態(tài)評(píng)估自身的行為,當(dāng)評(píng)估顯示其自身的行為并非接近其傾向完成的目標(biāo),或有可能提供更好的功能或性能時(shí),軟件會(huì)改變自身的行為[1]。

        環(huán)境是自適應(yīng)系統(tǒng)中的重要組成部分,環(huán)境的顯式表示和感知是實(shí)現(xiàn)復(fù)雜自適應(yīng)系統(tǒng)的前提[2]。環(huán)境從本質(zhì)上來(lái)說(shuō)應(yīng)該是獨(dú)立于軟件的,它會(huì)自主、獨(dú)立地變化,并非都由軟件的行為操控。一個(gè)環(huán)境應(yīng)當(dāng)能夠被復(fù)用,可以應(yīng)用于多個(gè)軟件系統(tǒng);相對(duì)的,軟件也有獨(dú)立性,并不依附于環(huán)境而存在,可以應(yīng)用于不同的環(huán)境中。因此,將環(huán)境模型建立在自適應(yīng)軟件內(nèi)部并不合理,這種解決手段會(huì)很大程度上限制軟件系統(tǒng)及環(huán)境的復(fù)用,使得軟件系統(tǒng)只能適應(yīng)單一的特定環(huán)境,軟件系統(tǒng)內(nèi)部的環(huán)境模型也難以被其他軟件系統(tǒng)使用。而環(huán)境所具有的開(kāi)放、動(dòng)態(tài)、不可控、不可預(yù)測(cè)等特點(diǎn)[3](如Internet、戰(zhàn)場(chǎng)環(huán)境、社會(huì)環(huán)境),導(dǎo)致即使在自適應(yīng)軟件內(nèi)部建立了環(huán)境模型,也難以做到全面和靈活,故將環(huán)境獨(dú)立建模是必要的。但是,怎樣對(duì)環(huán)境進(jìn)行建模,以及如何更好地支持環(huán)境被使用甚至復(fù)用,仍然是需要進(jìn)一步研究的問(wèn)題。

        為解決上述問(wèn)題,本文對(duì)環(huán)境進(jìn)行了獨(dú)立建模,提出了一種自適應(yīng)軟件的環(huán)境模型,該模型可以支持環(huán)境的動(dòng)態(tài)變化,并為開(kāi)發(fā)者和使用者提供簡(jiǎn)便的接口。本文主要有以下幾點(diǎn)貢獻(xiàn):第一,提供了環(huán)境自身維護(hù)和演化的機(jī)制,使其真正成為一級(jí)實(shí)體,并且可以被復(fù)用。第二,將軟件對(duì)環(huán)境的表示與環(huán)境的具體實(shí)現(xiàn)分開(kāi),從而減輕了軟件開(kāi)發(fā)人員的負(fù)擔(dān)。第三,為軟件對(duì)環(huán)境的感知和效應(yīng)提供了簡(jiǎn)潔的接口。

        本文組織結(jié)構(gòu)如下:第2章介紹了環(huán)境的抽象模型,給出了環(huán)境的組成成分以及形式化表示;第3章闡述了一種層次型的環(huán)境實(shí)現(xiàn)方案,對(duì)環(huán)境的4個(gè)層次分別進(jìn)行了介紹;第4章描述了一個(gè)簡(jiǎn)單的應(yīng)用實(shí)例(SmartRoom),用來(lái)展示應(yīng)用系統(tǒng)是如何與環(huán)境進(jìn)行交互,并感知和效應(yīng)環(huán)境的;第5章描述了相關(guān)工作;第6章為結(jié)束語(yǔ),總結(jié)全文并對(duì)未來(lái)工作進(jìn)行了展望。

        2 環(huán)境的抽象模型

        自適應(yīng)軟件的環(huán)境包含了軟件所需的各種資源,同時(shí)也是軟件訪問(wèn)或操縱資源的媒介[4]。在定義環(huán)境時(shí),除了指出環(huán)境中包含哪些資源外,還需要描述環(huán)境是如何變化的。因此,將環(huán)境(ENV)定義成時(shí)鐘(C)和資源(R)的組合。時(shí)鐘是環(huán)境的一個(gè)基礎(chǔ)屬性,用于維持環(huán)境運(yùn)行時(shí)序。資源是環(huán)境的基礎(chǔ)成分,用于表示環(huán)境中的某個(gè)變量,資源都有名稱和類型。時(shí)鐘和資源定義了環(huán)境的各種特征,如狀態(tài)(S)、事件(E)、更新(U)和規(guī)則(L)。環(huán)境時(shí)鐘及當(dāng)前時(shí)鐘下資源的取值構(gòu)成了環(huán)境的一個(gè)狀態(tài)。環(huán)境從一個(gè)狀態(tài)遷移到另外一個(gè)狀態(tài)表明環(huán)境中發(fā)生了一個(gè)事件。更新是時(shí)鐘和資源的函數(shù),用來(lái)規(guī)定如何根據(jù)時(shí)鐘的變化改變資源的取值,本質(zhì)上規(guī)定了環(huán)境的自變化方法。規(guī)則表示在一定的環(huán)境狀態(tài)下,當(dāng)一個(gè)事件發(fā)生后,如何調(diào)用更新函數(shù)來(lái)實(shí)現(xiàn)環(huán)境的自變化。本文將時(shí)鐘、資源、狀態(tài)、事件、更新和規(guī)則統(tǒng)稱為環(huán)境元素。環(huán)境由這些環(huán)境元素組成,可形式化表示為:

        ENV=(C, R, S, E, U, L)

        在進(jìn)行完整的形式化表示之前,首先聲明本文系統(tǒng)中使用的基本元素集合VALUE,用來(lái)表示元素的取值(即定義域)。VALUE可以分為NUMBER、STRING、DICT 3個(gè)子集合。其中NUMBER是所有數(shù)值的集合,STRING是所有字符串的集合,DICT是字典(或<鍵,值>)的集合,可采用遞歸定義:DICT= 2(NUMBER∪STRING)×(NUMBER∪STRING∪DICT)。在這些集合的基礎(chǔ)上,記TYPE={NUMBER, STRING, DICT},為元素值的類型。環(huán)境元素可以按照如下方式定義:

        (1)時(shí)鐘C={c|c∈NUMBER,c≥0},時(shí)鐘是數(shù)值型的變量,隨著環(huán)境的運(yùn)行而增大。

        (2)資源R=STRING×TYPE,?r∈R,可令r= ,r.name表示資源的名稱,r.type表示資源的取值類型。

        (3)狀態(tài)S={∈C×VALUER|v(r)∈r.type},?s∈S ,可令s= ,s表示環(huán)境某一時(shí)刻(即s.c)所有資源的取值(即s.v),其中s.v是一個(gè)函數(shù),表示資源到其取值的映射。

        (4)事件E={∈S×S|s1.c,e表示環(huán)境狀態(tài)的一個(gè)變化,從e.s1變?yōu)閑.s2。

        (5)更新U={u:R×S→VALUE|u()∈r.type},?u∈U,u()=v2表示資源r在狀態(tài)s1后的新值,從s1.v(r)變成v2。資源更新的時(shí)機(jī)也受到時(shí)鐘的控制,資源的更新方式有多種,如循環(huán)、隨機(jī)等簡(jiǎn)單變化方式,還可以是某種函數(shù)變化。

        (6)規(guī)則L=E×S→2U,?l∈L,l()=U′,其中U′?U,表示當(dāng)事件e發(fā)生時(shí),如果當(dāng)前環(huán)境的狀態(tài)為s,那么U′中的更新都會(huì)生效。

        上述環(huán)境元素的形式化定義中包含了所有可能存在的情況,比如S中包含了所有可能的狀態(tài),E中包含了所有可能的事件。然而在一個(gè)特定的應(yīng)用場(chǎng)景中,人們往往只會(huì)關(guān)心其中的一部分。因此,在應(yīng)用環(huán)境時(shí),可以定義一個(gè)環(huán)境實(shí)例,實(shí)例中的每個(gè)環(huán)境元素都是ENV中對(duì)應(yīng)環(huán)境元素的一個(gè)子集,表示環(huán)境中應(yīng)用實(shí)例所關(guān)心的那部分。以一個(gè)房間作為應(yīng)用場(chǎng)景為例,可以定義如下環(huán)境實(shí)例ENVa=(Ca, Ra,Sa,Ea,Ua,La)。

        (1)時(shí)鐘Ca={c|c∈自然數(shù)},表示ENVa根據(jù)實(shí)際應(yīng)用的需求只關(guān)心整點(diǎn)時(shí)刻資源的取值。

        (2)資源Ra={rt=<“temperature”, NUMBER>, rac=<“AC”,STRING>},rt表示房間中的溫度值,rac表示房間中空調(diào)的狀態(tài)。

        (3)狀態(tài)Sa={| c∈Ca,v(rt)∈{x∈NUMBER|x>0},v(rac)∈{“on”,“off”,“broken”}}。狀態(tài)集合的定義可以用來(lái)描述應(yīng)用關(guān)心的資源取值范圍。Sa的定義說(shuō)明了ENVa只關(guān)心rt取值為正數(shù),rac取值為“on”、“off”、“broken”之一的狀態(tài)。

        (4)事件Ea={et,eac},其中{et=∈Sa×Sa| s1.c26},eac={∈Sa×Sa| s1.c

        (5)更新Ua={ut:{rt}×S→NUMBER,uac:{rac}×S→STRING},其中ut()=s.v(rt)+1,表示資源rt的取值加1;uac()={“on”, s.v(rac)=“off”“off”, s.v(rac)=“on”,表示資源rac的取值在“on”和“off”兩個(gè)取值間翻轉(zhuǎn)。

        (6)規(guī)則La=Ea×Sa→2Ua,滿足La()={uac},其中se=(et.s2.c,vac:{rac}→{“off”}∪vt:{rt}→NUMBER)。La只定義了一條規(guī)則,即在事件et發(fā)生的時(shí)候(即房間溫度超過(guò)26℃),如果當(dāng)前環(huán)境狀態(tài)滿足se(即空調(diào)處于關(guān)閉狀態(tài)),那么就觸發(fā)更新uac(即打開(kāi)空調(diào))。

        3 環(huán)境的實(shí)現(xiàn)

        環(huán)境一方面負(fù)責(zé)維護(hù)資源的狀態(tài)及其變化,另一方面作為媒介為自適應(yīng)軟件提供感知和效應(yīng)環(huán)境的機(jī)制(即訪問(wèn)資源的接口)。但自適應(yīng)軟件對(duì)資源的認(rèn)知可能與環(huán)境本身所定義的不一致,例如對(duì)資源的表示方式和粒度不同,對(duì)資源之間關(guān)系的定義不同等原因,導(dǎo)致軟件無(wú)法直接訪問(wèn)環(huán)境資源。另外,環(huán)境對(duì)資源的定義一般都比較細(xì)節(jié),直接調(diào)用環(huán)境定義的資源訪問(wèn)接口會(huì)使自適應(yīng)軟件的開(kāi)發(fā)變得非常煩瑣。因此,為了簡(jiǎn)化環(huán)境和自適應(yīng)軟件之間的交互,必須在環(huán)境的實(shí)現(xiàn)中引入一些映射和配置機(jī)制。

        為了達(dá)到這些目的,本文參照網(wǎng)絡(luò)協(xié)議的OSI模型,將環(huán)境實(shí)現(xiàn)為一種4層的層次結(jié)構(gòu),由底向上分別為數(shù)據(jù)層、管理層、表示層和服務(wù)層。環(huán)境的實(shí)現(xiàn)結(jié)構(gòu)如圖1所示。其中,資源層用于存儲(chǔ)環(huán)境中的時(shí)鐘(C)和資源(R)以及相應(yīng)的取值(S的一個(gè)元素)。管理層負(fù)責(zé)狀態(tài)(S)、事件(E)、更新(U)的存儲(chǔ)管理,以及規(guī)則(L)的執(zhí)行。管理層除了對(duì)數(shù)據(jù)層的內(nèi)容進(jìn)行管理外,還提供一些輔助機(jī)制,以幫助自適應(yīng)軟件更好地獲取并理解環(huán)境信息及環(huán)境變化。表示層主要用于面向應(yīng)用的數(shù)據(jù)(即自適應(yīng)軟件系統(tǒng)所認(rèn)知的資源)與環(huán)境資源間的轉(zhuǎn)換。表示層向自適應(yīng)軟件提供環(huán)境的配置和資源映射的接口以及環(huán)境定義的動(dòng)態(tài)修改功能。服務(wù)層是整個(gè)環(huán)境與外界(包括自適應(yīng)軟件和開(kāi)發(fā)者)進(jìn)行交互的中樞,自適應(yīng)軟件通過(guò)調(diào)用服務(wù)層提供的接口感知和效應(yīng)環(huán)境。

        Fig.1  Structural model of environment圖1 環(huán)境的結(jié)構(gòu)模型

        3.1資源層

        資源層主要承擔(dān)數(shù)據(jù)倉(cāng)庫(kù)的功能,并對(duì)上層提供相應(yīng)的增、刪、查、改資源的接口。環(huán)境系統(tǒng)中,資源在這一層只有狀態(tài),沒(méi)有動(dòng)態(tài)的特征,時(shí)鐘以及所有資源的取值構(gòu)成了一個(gè)狀態(tài)。狀態(tài)之間的切換需要上層(管理層)去操縱。另外,這一層還會(huì)存儲(chǔ)數(shù)據(jù)的所有歷史記錄,并將數(shù)據(jù)持久化。應(yīng)用軟件系統(tǒng)可以研究環(huán)境中資源變化的歷史記錄,具有很高的實(shí)用價(jià)值。

        3.2管理層

        這一層主要負(fù)責(zé)管理環(huán)境中的動(dòng)態(tài)信息,包括環(huán)境的狀態(tài)、事件的觸發(fā),并執(zhí)行規(guī)則來(lái)維護(hù)資源層的資源更新等。利用資源層和管理層就能定義一個(gè)完整的環(huán)境。管理層使用資源層提供的資源操作接口,對(duì)上層提供了定義和使用環(huán)境的完整接口。這些接口是最原始最基本的接口,主要包含對(duì)R、S、E、U、L這些集合的增刪查改,達(dá)到定義和使用一個(gè)完整環(huán)境的基本功能。

        實(shí)現(xiàn)上,管理層主要包含訪問(wèn)控制器、狀態(tài)校驗(yàn)器、事件監(jiān)聽(tīng)器、規(guī)則執(zhí)行器4大功能塊。管理層的架構(gòu)和運(yùn)行流程如圖2所示(為了避免圖過(guò)于復(fù)雜,這里只保留了管理層及其上下文相關(guān)的表示層和資源層)。訪問(wèn)控制器是管理層內(nèi)和上層訪問(wèn)資源層的入口。上層對(duì)環(huán)境定義的修改操作都會(huì)被映射到相應(yīng)的功能塊,即狀態(tài)相關(guān)的操作都會(huì)被狀態(tài)校驗(yàn)器接收處理,對(duì)事件的所有操作都會(huì)交給事件監(jiān)聽(tīng)器進(jìn)行處理,更新和規(guī)則的相關(guān)操作都會(huì)由規(guī)則執(zhí)行器處理。規(guī)則的執(zhí)行是管理層最重要的功能,其完整的執(zhí)行流程需要經(jīng)過(guò)全部4個(gè)功能塊。首先狀態(tài)校驗(yàn)器使用訪問(wèn)管理器獲取資源取值,檢查相關(guān)狀態(tài)是否生效,并且標(biāo)記所有生效狀態(tài)。事件監(jiān)聽(tīng)器查看狀態(tài)校驗(yàn)器中標(biāo)記生效的狀態(tài),判斷其中存儲(chǔ)的事件是否被觸發(fā),并標(biāo)記已經(jīng)被觸發(fā)的事件。規(guī)則執(zhí)行器則根據(jù)規(guī)則的定義,利用狀態(tài)校驗(yàn)器和事件監(jiān)聽(tīng)器判斷需要執(zhí)行哪些更新,并將更新對(duì)應(yīng)的資源修改命令發(fā)送給訪問(wèn)控制器,由訪問(wèn)控制器最終執(zhí)行對(duì)資源的修改。

        Fig.2  Architecture of manager layer and its runtime processes圖2 管理層架構(gòu)及運(yùn)行流程

        3.3表示層

        表示層的作用主要是在資源層和管理層提供的原始環(huán)境定義方法之上,對(duì)環(huán)境的元素抽象出更高層次的表示方法。表示層提供了一種應(yīng)用軟件所認(rèn)知的環(huán)境元素到真實(shí)環(huán)境元素之間的映射方法,并實(shí)現(xiàn)了應(yīng)用軟件對(duì)資源的表示到環(huán)境中實(shí)際資源的表示的自動(dòng)轉(zhuǎn)換,使得應(yīng)用軟件系統(tǒng)能夠根據(jù)應(yīng)用的上下文定義應(yīng)用相關(guān)的環(huán)境。

        通常來(lái)說(shuō),應(yīng)用軟件系統(tǒng)對(duì)環(huán)境的認(rèn)知與真實(shí)環(huán)境會(huì)有所不同,很難直接使用環(huán)境定義的接口來(lái)訪問(wèn)資源。為此,提供了一套環(huán)境元素的映射機(jī)制。映射機(jī)制提供的功能主要包括:

        (1)名稱映射??梢越o環(huán)境元素(包括資源、狀態(tài)、事件、規(guī)則)重命名。比如自適應(yīng)軟件需要一個(gè)名稱為AirCondition的資源,而現(xiàn)在只有一個(gè)名稱為AC的資源,很明顯它們是同一個(gè),使用一個(gè)名稱映射就能直接使用這個(gè)資源了。

        (2)組合(或聚類)映射。可以將多個(gè)同類的環(huán)境元素組合成一個(gè)新的元素。比如在環(huán)境中有兩種與溫度相關(guān)的資源(如早晚溫度),可以通過(guò)組合映射,將兩個(gè)溫度映射到一個(gè)新的溫度資源中去(如平均氣溫)。

        (3)串聯(lián)映射??梢詫⒍鄠€(gè)環(huán)境元素(包括更新方法和事件)串聯(lián)組成一個(gè)新的元素。經(jīng)過(guò)串聯(lián)的更新在執(zhí)行時(shí)會(huì)依次執(zhí)行被串聯(lián)的所有更新。經(jīng)過(guò)串聯(lián)的事件,當(dāng)且僅當(dāng)被串聯(lián)的子事件全部生效才能算是生效。

        3.4服務(wù)層

        服務(wù)層負(fù)責(zé)所有與外界直接交互相關(guān)的功能,包括對(duì)外提供了定義環(huán)境的接口、感知和效應(yīng)環(huán)境的接口、事件通知機(jī)制等。

        定義環(huán)境的服務(wù)接口是基于表示層的。應(yīng)用軟件系統(tǒng)根據(jù)自身需求,通過(guò)調(diào)用環(huán)境的定義服務(wù)接口,實(shí)現(xiàn)應(yīng)用系統(tǒng)對(duì)環(huán)境的表示與環(huán)境元素的自動(dòng)映射。服務(wù)層的事件機(jī)制通過(guò)一個(gè)對(duì)外的消息隊(duì)列實(shí)現(xiàn)。應(yīng)用軟件系統(tǒng)能從這個(gè)消息隊(duì)列中接收環(huán)境推送的通知。通知可以是環(huán)境中的運(yùn)行異常報(bào)告,也可以是應(yīng)用系統(tǒng)主動(dòng)注冊(cè)的事件被激活的消息。

        環(huán)境開(kāi)始運(yùn)行后,服務(wù)層開(kāi)始為應(yīng)用軟件系統(tǒng)提供感知和效應(yīng)環(huán)境的接口:

        (1)Sensor( r ),讀取資源r的值;

        (2)Effect( r,v ),修改資源r的值為v;

        (3)Listen( e,tag ),監(jiān)聽(tīng)一個(gè)事件e,如果事件激活,那么對(duì)應(yīng)的tag就會(huì)被推送給應(yīng)用系統(tǒng)。

        4 實(shí)例研究

        本文實(shí)現(xiàn)了一個(gè)模擬智能房間(SmartRoom)的自適應(yīng)軟件系統(tǒng)。該軟件系統(tǒng)的主要功能是調(diào)節(jié)房屋中的能耗(TotalPower)和房屋的舒適度(Comfort)之間的平衡。軟件系統(tǒng)一方面需要時(shí)刻獲取房屋內(nèi)各種電器的功耗數(shù)據(jù),另一方面還需要房屋內(nèi)各類傳感數(shù)據(jù)用來(lái)評(píng)估房屋的舒適度。軟件系統(tǒng)會(huì)時(shí)刻關(guān)注房屋(即環(huán)境)的舒適度和能耗,根據(jù)感知到的信息來(lái)調(diào)整房間的舒適度和能耗(即效應(yīng)環(huán)境)。

        4.1軟件與環(huán)境的交互

        軟件系統(tǒng)的功能以及與環(huán)境交互的方式可以用如下偽代碼表示:

        1. DefineRes(TotalPower,Comfort)

        2. While True

        3. comfort = ENV.Sensor(Comfort)

        4. tp = ENV.Sensor(TotalPower)

        5. if comfort < MIN_COMFORT

        6. ENV.Effect(TotalPower,1.2*tp)

        7. else

        8. ENV.Effect(TotalPower,0.9*tp)

        9. wait until next clock

        在上述偽代碼中,第1行是一個(gè)方法,定義的兩個(gè)資源名稱分別為TotalPower和Comfort。前者表示環(huán)境的總功耗,數(shù)值類型;后者表示環(huán)境的舒適度,最大為1,數(shù)值越大,越舒適。DefineRes方法內(nèi)部將會(huì)詳細(xì)描述如何使用環(huán)境系統(tǒng)中已有的資源以及環(huán)境提供的接口定義資源,4.2節(jié)將詳細(xì)描述。之后的幾行表示軟件系統(tǒng)會(huì)不斷從環(huán)境中感知兩個(gè)資源的值(第3、第4行),并且判斷如果環(huán)境的舒適度小于MIN_COMFORT(一個(gè)可調(diào)節(jié)的系統(tǒng)參數(shù)),就將環(huán)境中的總功耗調(diào)高20%(第6行),否則表示房屋的舒適度已經(jīng)達(dá)到了要求,那就將功耗調(diào)整為原來(lái)的90%。

        4.2環(huán)境模型的定義

        在環(huán)境系統(tǒng)(ENV)中,已經(jīng)存在很多資源,包括亮度(Brightness)、溫度(Temperature)、濕度(Humidity)、空調(diào)(AirCondition)、電燈(Light)、加濕器(Humidifier)等,前3個(gè)資源為數(shù)值型,表示房屋內(nèi)部的狀態(tài),后3個(gè)資源也為數(shù)值型,表示屋內(nèi)電器的功耗。同時(shí)還有它們之間的規(guī)則,包括:

        (1)每個(gè)時(shí)鐘,溫度趨近BEST_TEMPERATURE,空調(diào)的功耗越大,趨近速率越大。

        (2)每個(gè)時(shí)鐘,濕度趨近BEST_HUMIDITY,加濕器功耗越大,趨近速率越大。

        (3)每個(gè)時(shí)鐘,亮度趨近BEST_BRIGHTNESS,電燈功耗越大,趨近速率越大。

        軟件系統(tǒng)需要定義其所需要的資源到環(huán)境中實(shí)際已經(jīng)存在的資源之間的映射。具體映射定義過(guò)程在DefineRes中,用如下偽代碼表示:

        1. TotalPower = {AirCondition, Light, Humidifier};

        2. TotalPower AirCondition+Light+Humidifier;

        3. TotalPower?{

        4. AirCondition = TotalPower/3;

        5. Light = TotalPower/3;

        6. Humidifier = TotalPower/3;

        7. };

        8. ENV.Define(TotalPower);

        9. Comfort = {Brightness,Temperature,Humidity};

        10. Comfort

        11. 1.0-DP(Brightness, BEST_BRIGHTNESS)

        12. - DP(Temperature, BEST_TEMPERATURE)

        13. - DP(Humidity, BEST_HUMIDITY);

        14. ENV.Define(Comfort);

        其中第1~8行定義了TotalPower到AirCondition、Light、Humidifier的映射。第1行定義了TotalPower是這3個(gè)環(huán)境資源組合而成。第2行定義了Total-Power的感知映射,表明它的取值是底層3個(gè)資源取值的和。第3~7行定義了TotalPower的效應(yīng)映射,即外界修改它的值后,對(duì)應(yīng)到底層的3個(gè)資源的取值會(huì)變?yōu)樾碌腡otalPower值的1/3。第8行將定義完的TotalPower發(fā)送給環(huán)境系統(tǒng)。

        第10~14行定義了Comfort資源。類似的,第9行定義了Comfort資源與原始資源的組合關(guān)系,第10~13行定義了感知映射,其中DP函數(shù)定義如下:

        其含義是資源r的取值偏離目標(biāo)值T的比例。Comfort的直觀含義就是如果溫度、濕度、亮度3個(gè)資源的取值都在預(yù)先設(shè)定的目標(biāo)值上,那么舒適度為最大值1,否則減去每個(gè)資源偏移目標(biāo)值的比例。第14行,類似第8行,將Comfort的定義傳送給環(huán)境系統(tǒng)。

        4.3環(huán)境內(nèi)部運(yùn)行狀態(tài)

        本節(jié)將基于這個(gè)實(shí)例,描述運(yùn)行時(shí)軟件系統(tǒng)在與環(huán)境系統(tǒng)交互過(guò)程中,環(huán)境系統(tǒng)內(nèi)部的運(yùn)行狀態(tài)。下面分別以Sensor(Comfort)和Effect(TotalPower, 1.2*tp)為例進(jìn)行說(shuō)明。

        4.3.1 Sensor(Comfort)

        如圖3所示,Sensor(Comfort)的流程可以分為5步。盡管前面提到環(huán)境實(shí)際上是一個(gè)4層結(jié)構(gòu),但是為了簡(jiǎn)化圖形描述,服務(wù)層和管理層在感知Comfort的過(guò)程中并沒(méi)有起到關(guān)鍵作用,只是將上層任務(wù)轉(zhuǎn)發(fā)給下層而已,因此在圖示中略去。具體的5步如下:

        (1)軟件系統(tǒng)向環(huán)境系統(tǒng)發(fā)送Sensor(Comfort)命令,環(huán)境的服務(wù)層接受命令,并把命令傳遞給表示層。

        (2)表示層得到感知命令后,讀取Comfort資源的定義,自動(dòng)生成如下代碼:

        1. b = Sensor(Brightness)

        2. h = Sensor(Humidity)

        3. t = Sensor(Temperature)

        4. Comfort = 1.0

        5. - DP(b, BEST_BRIGHTNESS)

        6.- DP(t, BEST_TEMPERATURE)

        7.- DP(h, BEST_HUMIDITY);

        (3)執(zhí)行代碼的第1~3行,讀取組合資源當(dāng)前時(shí)刻的值。調(diào)用管理層的接口,分別執(zhí)行Sensor(Brightness)、Sensor(Temperature)和Sensor(Humidity),用3.1/3.2/3.3虛線流程表示。

        (4)表示層得到依賴的子資源的當(dāng)前值后,執(zhí)行代碼的第4~7行,計(jì)算Comfort的值,并返回給服務(wù)層。

        (5)服務(wù)層將Comfort的取值返回軟件系統(tǒng)。

        Fig.3  Flow chart of Sensor(Comfort)圖3  Sensor(Comfort)流程圖

        4.3.2 Effect(TotalPower,1.2*tp)

        如圖4所示,Effect(TotalPower, 1.2*tp)可以分為6步。與圖3一樣,為了簡(jiǎn)化圖形描述,略去了功能單一的服務(wù)層部分,不同的是,這里引入了管理層的詳細(xì)流程。因?yàn)楫?dāng)?shù)讓淤Y源被修改后,會(huì)導(dǎo)致環(huán)境的狀態(tài)發(fā)生變化,有些更新操作就有可能被動(dòng)地觸發(fā)。具體過(guò)程如下:

        (1)軟件系統(tǒng)向環(huán)境系統(tǒng)發(fā)送Effect命令,環(huán)境的服務(wù)層接收到命令后,傳遞給表示層。

        (2)表示層得到效應(yīng)命令后,讀取TotalPower資源的定義(見(jiàn)4.2節(jié)偽代碼中的第1~7行),自動(dòng)生成如下代碼:

        1. Effect(Humidifier, 0.4*tp)

        2. Effect(Light, 0.4*tp)

        3. Effect(AirCondition, 0.4*tp)

        (3)根據(jù)之前生成的代碼,將Effect(Humidifier, 0.4*tp)、Effect(Light, 0.4*tp)和Effect(AirCondition, 0.4*tp)發(fā)送給管理層中的訪問(wèn)控制器(3.1~3.3)。

        (4)管理層的訪問(wèn)控制器執(zhí)行相應(yīng)的命令(4.1~ 4.3),修改這3個(gè)資源的取值為0.4*tp。

        (5)管理層檢查當(dāng)前的系統(tǒng)狀態(tài),找出生效的規(guī)則:

        ①根據(jù)加濕器功率,修改濕度值。

        ②根據(jù)空調(diào)功率,修改溫度值。

        ③根據(jù)電燈功率,修改亮度值。

        (6)執(zhí)行生效的規(guī)則,修改Brightness、Humidity、Temperature的值。

        Fig.4  Flow chart of Effect(TotalPower,1.2*tp)圖4  Effect(TotalPower, 1.2*tp)流程圖

        4.4仿真實(shí)驗(yàn)

        按照如上實(shí)例所述進(jìn)行仿真實(shí)驗(yàn),圖5是系統(tǒng)前400個(gè)時(shí)刻內(nèi)TotalPower和Comfort的變化關(guān)系,圖6是相應(yīng)的AirCondition和Temperature這兩個(gè)環(huán)境內(nèi)資源的變化圖(此次實(shí)驗(yàn)中,其他兩對(duì)資源變化規(guī)律與之相同)。圖中的值是每個(gè)時(shí)鐘開(kāi)始時(shí)的值。

        Fig.5  TotalPower and Comfort vs clock圖5 總功率和舒適度隨時(shí)鐘變化圖

        Fig.6  AirCondition and Temperature vs clock圖6 空調(diào)和溫度隨時(shí)鐘變化圖

        (1)每100個(gè)時(shí)鐘會(huì)對(duì)Temperature、Humidity、Brightness這3個(gè)資源的取值進(jìn)行隨機(jī)的擾動(dòng),其中Temperature的取值展示在圖6中,與之對(duì)應(yīng)的Comfort的變化在圖5中。

        (2)環(huán)境內(nèi)部資源更新規(guī)則是電器功率越大,相應(yīng)的感應(yīng)數(shù)值就越快到達(dá)目標(biāo)值。而且3組規(guī)則的變化方式相同,這里只列出了AirCondition和Temperature隨時(shí)鐘的變化圖(見(jiàn)圖6)。

        (3)因?yàn)門otalPower的變化方式都是按比例變化,所以在圖中使用相應(yīng)的對(duì)數(shù)值作為變化的參考。

        (4)AirCondition、Humidifier、Light的取值都是TotalPower的1/3,因此并沒(méi)有用專門的對(duì)比變化圖表示。而Temperature、Humidity、Brightness這3個(gè)資源與Comfort的關(guān)系也是前3者越接近目標(biāo)值,Comfort越接近1,同樣沒(méi)有使用單獨(dú)的圖進(jìn)行描述。

        從圖5可以看出對(duì)于軟件系統(tǒng),只是簡(jiǎn)單地調(diào)整了TotalPower的取值,就實(shí)現(xiàn)了對(duì)Comfort的動(dòng)態(tài)調(diào)整。而從環(huán)境系統(tǒng)的內(nèi)部來(lái)看,整體的數(shù)據(jù)變化流程則是TotalPower→AirCondition、Humidifier、Light→Temperature、Humidity、Brightness→Comfort,要完成這個(gè)過(guò)程,對(duì)于外部的軟件系統(tǒng)來(lái)說(shuō)只需要定義好TotalPower和Comfort到環(huán)境中已有資源的映射關(guān)系即可,至于映射關(guān)系的實(shí)現(xiàn)以及資源內(nèi)部的更新規(guī)則則完全不用關(guān)心,全部交給環(huán)境系統(tǒng)就可以了。這一點(diǎn)也是將自適應(yīng)軟件系統(tǒng)的環(huán)境進(jìn)行單獨(dú)建模的最大好處。一方面能實(shí)現(xiàn)環(huán)境模型的復(fù)用,另一方面又極大地簡(jiǎn)化了自適應(yīng)軟件使用環(huán)境的方法。

        5 相關(guān)工作

        最近,對(duì)于環(huán)境在多agent系統(tǒng)中扮演的角色,人們的認(rèn)識(shí)有了根本性的改變。最近的研究提出在多agent系統(tǒng)中,應(yīng)當(dāng)將環(huán)境作為一級(jí)設(shè)計(jì)抽象,并創(chuàng)造性地使用環(huán)境[5]。

        文獻(xiàn)[6]介紹了多agent系統(tǒng)研究的現(xiàn)狀,給出了環(huán)境研究方面的概述,并闡述了環(huán)境作為一級(jí)設(shè)計(jì)抽象在多agent系統(tǒng)中的地位,為本文對(duì)于環(huán)境的建模提供了參考。文獻(xiàn)[7]將環(huán)境作為一級(jí)設(shè)計(jì)抽象整合進(jìn)了Agent-Group-Role(AGR)模型,能夠?qū)χ悄荏w提供3種不同層次的支持。本文為進(jìn)一步方便多agent系統(tǒng)對(duì)環(huán)境的訪問(wèn),將環(huán)境實(shí)現(xiàn)為服務(wù)層、表示層、管理層和資源層的4層結(jié)構(gòu),通過(guò)加入表示層,提供了一種應(yīng)用軟件所認(rèn)知的環(huán)境元素到真實(shí)環(huán)境元素之間的映射機(jī)制。文獻(xiàn)[8]主張用新的形式化方法來(lái)明確表示環(huán)境中的間接互動(dòng),并提出一套消息傳遞機(jī)制。該文主要關(guān)注的是智能體之間的消息傳遞以及協(xié)作,而本文更加關(guān)注自適應(yīng)系統(tǒng)環(huán)境與agent之間的消息傳遞。文獻(xiàn)[9]闡述了環(huán)境在多agent系統(tǒng)中的管理角色,由環(huán)境來(lái)驅(qū)動(dòng)agent的行為。本文更進(jìn)一步,賦予了環(huán)境自主變化的能力,以便于研究不同環(huán)境配置下,多agent系統(tǒng)的行為。上述工作雖然意識(shí)到將環(huán)境作為一級(jí)設(shè)計(jì)抽象的重要性,但卻忽視了環(huán)境的動(dòng)態(tài)特性,或者對(duì)其提供的支持較少,使其難以自演化和維護(hù)。

        目前針對(duì)自適應(yīng)軟件系統(tǒng)駐留環(huán)境的研究,大多側(cè)重于對(duì)環(huán)境的表示和感知,特別是呂建[10-13]、毛新軍[2,14]等人的團(tuán)隊(duì)都取得了不錯(cuò)的進(jìn)展,但是對(duì)于環(huán)境的自主變化以及復(fù)用的關(guān)注還不夠。

        agent和環(huán)境職責(zé)的不同可以有助于實(shí)現(xiàn)關(guān)注點(diǎn)分離。關(guān)注點(diǎn)分離技術(shù)一方面使得代碼更加清晰、便于理解,另一方面促進(jìn)了代碼的復(fù)用,從而有利于軟件的開(kāi)發(fā)和維護(hù)[15]。文獻(xiàn)[16]闡述了環(huán)境作為一級(jí)設(shè)計(jì)抽象在多agent系統(tǒng)中的職能。

        在多agent系統(tǒng)環(huán)境領(lǐng)域,另一個(gè)重要的研究主題是環(huán)境工程。目前面向agent的方法學(xué)很少提供這方面的支持。SODA[17]和GAIA[4]雖然涉及到了環(huán)境,但是對(duì)于環(huán)境的支持也只限于資源的表示和簡(jiǎn)單訪問(wèn)控制等。

        6 結(jié)束語(yǔ)

        本文將自適應(yīng)軟件的環(huán)境作為一級(jí)實(shí)體單獨(dú)建模,提出了一種環(huán)境的抽象模型及其層次化的實(shí)現(xiàn)模型。本文主要的貢獻(xiàn)有以下幾點(diǎn):將環(huán)境作為一級(jí)實(shí)體獨(dú)立建模,并提供環(huán)境自身維護(hù)和演化的機(jī)制,實(shí)現(xiàn)了一種可復(fù)用的環(huán)境。實(shí)現(xiàn)了一種層次結(jié)構(gòu)的環(huán)境,尤其是在環(huán)境的實(shí)現(xiàn)中,增加了一個(gè)表示層,使得軟件的開(kāi)發(fā)與實(shí)現(xiàn)和環(huán)境的開(kāi)發(fā)與實(shí)現(xiàn)可以獨(dú)立進(jìn)行。軟件開(kāi)發(fā)人員只需從應(yīng)用軟件系統(tǒng)的角度來(lái)表示環(huán)境,并感知和效應(yīng)環(huán)境,環(huán)境則負(fù)責(zé)實(shí)現(xiàn)不同抽象程度的資源之間的自動(dòng)映射。

        在未來(lái)的研究工作中,將在目前環(huán)境模型的基礎(chǔ)上,進(jìn)一步細(xì)化相關(guān)概念,完善環(huán)境元素的映射機(jī)制,使得本文模型能夠更加有效地支持環(huán)境和軟件的復(fù)用。

        References:

        [1] Laddaga R. Guest editor?s introduction: creating robust software through self-adaptation[J]. IEEE Intelligent Systems, 1999, 14(3): 26-29.

        [2] Dong Menggao, Mao Xinjun, Guo Yi, et al. Representing and perceiving environment of complex self-adaptive multiagent systems[J]. Journal of Computer Research and Development, 2012, 49(2): 402-412.

        [3] Cicirelli F, Giordano A, Nigro L. Efficient environment management for distributed simulation of large-scale situated multi-agent systems[J]. Concurrency and Computation: Practice and Experience, 2015, 27(3): 610-632.

        [4] Zambonelli F, Jennings N R, Wooldridge M. Developing multiagent systems: the Gaia methodology[J]. ACM Transactions on Software Engineering and Methodology, 2003, 12(3): 317-370.

        [5] Weyns D, Helleboogh A, Schumacher M, et al. Research on environments in multiagent systems: reflection on the stateof-the-art[R]. 2006.

        [6] Weyns D, Parunak H V D, Michel F, et al. Environments for multiagent systems state-of-the-art and research challenges[C]//LNCS 3374: Proceedings of the 1st International Workshop on Environments for Multi-Agent Systems, New York, USA, Jul 19, 2004. Berlin, Heidelberg: Springer, 2005: 1-47.

        [7] Ferber J, Michel F, Báez J. AGRE: integrating environments with organizations[C]//LNCS 3374: Proceedings of the 1st International Workshop on Environments for Multi-Agent Systems, New York, USA, Jul 19, 2004. Berlin, Heidelberg: Springer, 2005: 48-56.

        [8] Keil D, Goldin D. Indirect interaction in environments for multi-agent systems[C]//LNCS 3830: Proceedings of the 2nd International Workshop on Environments for Multi-Agent Systems II, Utrecht, The Netherlands, Jul 25, 2005. Berlin, Heidelberg: Springer, 2006: 68-87.

        [9] Schumacher M, Ossowski S. The governing environment [C]//LNCS 3830: Proceedings of the 2nd International Workshop on Environments for Multi-Agent Systems II, Utrecht, The Netherlands, Jul 25, 2005. Berlin, Heidelberg: Springer, 2006: 88-104.

        [10] Lv Jian, Ma Xiaoxing, Tao Xianping, et al. Explicit environmental constructs for Internetware[J]. Scientia Sinica: Informationis, 2013, 43(1): 1-23.

        [11] Huang Yu, Yu Jianping, Ma Xiaoxing. Monitoring properties of open environments[J]. Journal of Software, 2011, 22 (5): 865-876.

        [12] Ma Jun, Tao Xianping, Zhu Huaihong, et al. Enhancing multi-agent system with context-awareness[J]. Journal of Software, 2012, 23(11): 2905-2922.

        [13] Ma Jun, Cao Jiannong, Ma Chao, et al. Modeling and manipulating context in pervasive computing based on set theory[J]. Journal of Software, 2011, 22(S2): 105-119.

        [14] Cao Jiang, Mao Xinjun, Wang Huaimin, et al. Model-driven development methodology for complex self-adaptive multiagent systems[J]. Computer Science, 2012, 39(2): 126-131.

        [15] McKinley P K, Sadjadi S M, Kasten E P, et al. Composing adaptive software[J]. IEEE Computer, 2004, 37(7): 56-64.

        [16] Weyns D, Schumacher M, Ricci A, et al. Environments in multiagent systems[J]. The Knowledge Engineering Review, 2005, 20(2): 127-141.

        [17] Omicini A. SODA: societies and infrastructures in the analysis and design of agent-based systems[C]//LNCS 1957: Proceedings of the 1st International Workshop on Agent-Oriented Software Engineering, Limerick, Ireland, Jun 10, 2000. Berlin, Heidelberg: Springer, 2001: 185-193.

        附中文參考文獻(xiàn):

        [2]董孟高,毛新軍,郭毅,等.復(fù)雜自適應(yīng)多Agent系統(tǒng)的環(huán)境表示及感知[J].計(jì)算機(jī)研究與發(fā)展, 2012, 49(2): 402-412.

        [10]呂建,馬曉星,陶先平,等.面向網(wǎng)構(gòu)軟件的環(huán)境顯式化技術(shù)[J].中國(guó)科學(xué):信息科學(xué), 2013, 43(1): 1-23.

        [11]黃宇,余建平,馬曉星,等.開(kāi)放環(huán)境特性感知技術(shù)[J].軟件學(xué)報(bào), 2011, 22(5): 865-876.

        [12]馬駿,陶先平,朱懷宏,等.多Agent系統(tǒng)的上下文感知增強(qiáng)[J].軟件學(xué)報(bào), 2012, 23(11): 2905-2922.

        [13]馬駿,曹建農(nóng),馬超,等.普適計(jì)算中基于集合的上下文建模和操作[J].軟件學(xué)報(bào), 2011, 22(S2): 105-119.

        [14]曹江,毛新軍,王懷民,等.復(fù)雜自適應(yīng)多Agent系統(tǒng)的模型驅(qū)動(dòng)開(kāi)發(fā)方法[J].計(jì)算機(jī)科學(xué), 2012, 39(2): 126-131.

        JIANG Haiting was born in 1991. He is an M.S. candidate at Institute of Software, School of Electronics Engineering and Computer Science, Peking University. His research interest is adaptive software.江海挺(1991—),男,浙江臺(tái)州人,北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件研究所碩士研究生,主要研究領(lǐng)域?yàn)樽赃m應(yīng)軟件。

        LIU Yang was born in 1991. He is a Ph.D. candidate at Institute of Software, School of Electronics Engineering and Computer Science, Peking University. His research interest is adaptive software.劉洋(1991—),男,江蘇泰州人,北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件研究所博士研究生,主要研究領(lǐng)域?yàn)樽赃m應(yīng)軟件。

        LIN Huashan was born in 1991. He is an M.S. candidate at Institute of Software, School of Electronics Engineering and Computer Science, Peking University. His research interest is adaptive software.林華山(1991—),男,福建泉州人,北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件研究所碩士研究生,主要研究領(lǐng)域?yàn)樽赃m應(yīng)軟件。

        WANG Maoguang was born in 1974. He received the Ph.D. degree from Institute of Computing Technology, Chinese Academy of Sciences in 2007. Now he is an associate professor at Central University of Finance and Economics. His research interests include software engineering and artificial intelligence, etc.王茂光(1974—),男,山東招遠(yuǎn)人,2007年于中國(guó)科學(xué)院計(jì)算技術(shù)研究所獲得博士學(xué)位,現(xiàn)為中央財(cái)經(jīng)大學(xué)副教授,主要研究領(lǐng)域?yàn)檐浖こ?,人工智能等。發(fā)表學(xué)術(shù)論文50多篇,承擔(dān)過(guò)中國(guó)博士后基金、國(guó)家科技支撐計(jì)劃等多項(xiàng)課題。

        JIAO Wenpin was born in 1969. He received the Ph.D. degree from Institute of Software, Chinese Academy of Sciences in 2000. Now he is a professor and Ph.D. supervisor at Peking University. His research interests include software engineering, multi-agent systems, adaptive software and formal methods, etc.焦文品(1969—)男,湖北天門人,2000年于中國(guó)科學(xué)院軟件研究所獲得博士學(xué)位,現(xiàn)為北京大學(xué)教授、博士生導(dǎo)師,主要研究領(lǐng)域?yàn)檐浖こ?,多主體系統(tǒng),自適應(yīng)軟件,軟件形式化方法等。發(fā)表學(xué)術(shù)論文70多篇,主持過(guò)多項(xiàng)國(guó)家自然科學(xué)基金、863計(jì)劃等項(xiàng)目。

        Environment Model of Self-Adaptive Software and Its Implementation?

        JIANG Haiting1,2, LIU Yang1,2, LIN Huashan1,2, WANG Maoguang3, JIAO Wenpin1,2+
        1. Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China
        2. Key Lab of High Confidence of Software Technologies (Peking University), Ministry of Education, Beijing 100871, China
        3. School of Information, Central University of Finance and Economics, Beijing 100081, China
        + Corresponding author: E-mail: jwp@sei.pku.edu.cn

        JIANG Haiting, LIU Yang, LIN Huashan, et al. Environment model of self-adaptive software and its implementation. Journal of Frontiers of Computer Science and Technology, 2016, 10(3):301-310.

        Abstract:With the increment of complexity and uncertainty in the software runtime environment, software requires the ability to perceive and react to the changes in the environment in time. Since the environment is open, dynamic, uncontrollable and unpredictable, for facilitating software?s automatic perception and adaptation to different environments, environments are defined as first-class entities, which are self-maintainable and self-evolvable, and modelled independently. For simplifying the interaction between software and runtime environments, environments are implemented in a hierarchical structure and provide an automatic mapping and configuration mechanism for software systems to sense and effect environmental resources from the perspectives of applications. The approach presented in this paper improves the reusability of environments and software, and reduces the burden on software developers.

        doi:10.3778/j.issn.1673-9418.1506070

        文獻(xiàn)標(biāo)志碼:A

        中圖分類號(hào):TP301

        猜你喜歡
        自適應(yīng)
        散亂點(diǎn)云的自適應(yīng)α—shape曲面重建
        淺談網(wǎng)絡(luò)教育領(lǐng)域的自適應(yīng)推送系統(tǒng)
        以數(shù)據(jù)為中心的分布式系統(tǒng)自適應(yīng)集成方法
        自適應(yīng)的智能搬運(yùn)路徑規(guī)劃算法
        科技視界(2016年26期)2016-12-17 15:53:57
        Ka頻段衛(wèi)星通信自適應(yīng)抗雨衰控制系統(tǒng)設(shè)計(jì)
        電子節(jié)氣門非線性控制策略
        汽車科技(2016年5期)2016-11-14 08:03:52
        多天線波束成形的MIMO-OFDM跨層自適應(yīng)資源分配
        適應(yīng)性學(xué)習(xí)系統(tǒng)的參考模型對(duì)比研究
        分析,自適應(yīng)控制一個(gè)有乘積項(xiàng)的混沌系統(tǒng)
        基于參數(shù)自適應(yīng)蟻群算法對(duì)多目標(biāo)問(wèn)題的優(yōu)化
        久久天天躁狠狠躁夜夜躁2014| 少妇久久高潮不断免费视频| 91精品国产自拍视频| 欧洲美熟女乱av亚洲一区| 最近最新中文字幕| 成黄色片视频日本秘书丝袜 | 人妻丰满熟妇av一区二区| 区一区二区三区四视频在线观看| 国产综合精品一区二区三区| 亚洲另类精品无码专区| 亚洲精品国产综合久久一线| 尤物蜜桃视频一区二区三区| 亚洲av无码乱码国产精品久久| 久久人人爽人人爽人人av东京热| 亚洲日本无码一区二区在线观看 | 亚洲欧美香港在线观看三级片| 国产人妖在线视频网站| 亚洲av无码久久| 国产精品一区二区 尿失禁 | 亚洲美女一区二区三区三州| 国产精品免费无遮挡无码永久视频| 日日碰狠狠躁久久躁9| 国产午夜激无码AV毛片不卡| 国产精品自拍午夜伦理福利| 久久精品www人人爽人人| 奇米影视久久777中文字幕 | 中文字幕亚洲五月综合婷久狠狠 | 三级4级全黄60分钟| 亚洲无AV码一区二区三区| 亚洲熟女av在线观看| 国产伦人人人人人人性| 无码不卡高清毛片免费| 成人影院免费观看在线播放视频 | 亚洲深深色噜噜狠狠爱网站| 久久久诱惑一区二区三区| 亚洲av无一区二区三区久久蜜桃| 国产精品毛片一区二区| 超碰Av一区=区三区| 国产偷闻女邻居av在线观看| 亚洲一区av在线观看| 国产精品二区在线观看|