賈婷婷
摘 要:隨著對計(jì)算機(jī)技術(shù)的不斷深入發(fā)展,近年來軟件自適應(yīng)已經(jīng)成為研究人員的研究熱點(diǎn),軟件自適應(yīng)是軟件系統(tǒng)根據(jù)環(huán)境狀態(tài)的變化而進(jìn)行自身調(diào)整的一種能力,由于其余控制理論有著非常相似的處理過程,所以控制理論也已經(jīng)成為研究軟件自適應(yīng)方法的重要手段,這里我們對基于控制理論的嵌入式軟件的自適應(yīng)方法進(jìn)行了研究分析,了解軟件自適應(yīng)的基本原理和方法,也發(fā)現(xiàn)了目前的研究還存在許多的不足,也說明軟件的自適應(yīng)研究在未來還有很大的探索空間。
關(guān)鍵詞:控制理論;嵌入式軟件;軟件自適應(yīng);自適應(yīng)環(huán)
中圖分類號:TP311.53 ? 文獻(xiàn)標(biāo)識碼:A ? ? ?文章編號:1001-5922(2020)10-0188-05
Abstract:With the continuous in-depth development of computer technology, software self-adaptive has become a research hotspot of researchers in recent years. Software self-adaptive is a kind of ability of software system to adjust itself according to the change of environment state. Because other control theories have unusual similar processing process, so the control theory has also become an important method for studying software adaptation methods. Theoretical embedded software adaptive method has been researched and analyzed, understand the basic principle and method of software adaptive, and find out many deficiencies in the current research, which also shows that the adaptive research of software still has a lot of exploration space in the future.
Key words:control theory; embedded software; software adaptation; adaptive loop
0 引言
現(xiàn)今社會計(jì)算機(jī)技術(shù)在不斷的發(fā)展進(jìn)步,網(wǎng)絡(luò)計(jì)算和移動計(jì)算也成為了我們?nèi)粘I钪兄匾慕M成部分。隨著人們的日常生活工作需求不斷提高,對計(jì)算設(shè)備的要求也越來越高,尤其是某些計(jì)算設(shè)備需要用于移動環(huán)境,這就對設(shè)備的便捷性和安全性有很高的要求。但是這些普適計(jì)算設(shè)備的局限性就在于它的安全性較低以及資源有限性。因?yàn)榻K端在設(shè)計(jì)方面有重量輕,能耗低以及尺寸小的要求,導(dǎo)致了其資源有限性,根據(jù)這些要求科研人員設(shè)計(jì)出了相應(yīng)的設(shè)備,但是這里設(shè)備有許多的缺陷,例如磁盤容量過小,緩存不大,其物理內(nèi)存也不夠充足,設(shè)備的處理能力較低以及設(shè)備屏幕過小等,雖然制造技術(shù)在不斷發(fā)展,但是這也中端的資源還是很難得到提升。此外,由于某些終端設(shè)備的移動性,其安全性也較低,這些終端無法安全可靠的尋訪存放數(shù)據(jù)。總結(jié)來說,就是資源的有限性導(dǎo)致其無法儲存所需要的內(nèi)容,如若把數(shù)據(jù)長期存放在終端上面也不太安全。所以,具有較高安全性,豐富資源的服務(wù)器才是儲存數(shù)據(jù)的最佳位置,移動設(shè)備可以作為客戶端設(shè)備的形式存在,并且能夠訪問和維護(hù)服務(wù)器上面的數(shù)據(jù)。此外終端設(shè)備還會受到其所在網(wǎng)絡(luò)環(huán)境的限制,對于終端來說,遠(yuǎn)程資源進(jìn)而網(wǎng)絡(luò)的連接性都是動態(tài)變化的。并且大部分情況下,終端設(shè)備都是使用無限網(wǎng)絡(luò),其相較于有線網(wǎng)絡(luò),具有高延遲和抵寬帶的特點(diǎn),同時依據(jù)現(xiàn)有的網(wǎng)絡(luò)基站覆蓋率而言,高質(zhì)量的網(wǎng)絡(luò)服務(wù)是無法在移動環(huán)境中得以保證的。結(jié)合這些緣由,不難發(fā)現(xiàn)多數(shù)情況下計(jì)算終端都是在不斷變化的,也就是說它所獲得的資源也會隨著發(fā)生變化,且是動態(tài)變化的,無法進(jìn)行預(yù)期,因此為了應(yīng)對這種動態(tài)變化需要計(jì)算機(jī)終端自身具備良好的自適應(yīng)處理能力,也及時終端自身可以由環(huán)境的變化和資源的變化來改變自身狀態(tài)。我們研究了基于嵌入式操作系統(tǒng)的終端自適應(yīng)系統(tǒng)的體系結(jié)構(gòu),對其自適應(yīng)性方法進(jìn)行了分析。
1 軟件自適應(yīng)
自適應(yīng),這一概念在生物學(xué)領(lǐng)域是用來對生物為了適應(yīng)新的生存環(huán)境而改變自身習(xí)性的一種特征的描述[1]。漸漸地人們發(fā)現(xiàn)這種自適應(yīng)特征具有十分優(yōu)良的系統(tǒng)品質(zhì),于是越來越多的科學(xué)技術(shù)領(lǐng)域應(yīng)用這以概念,其主要是用來構(gòu)造各類自適應(yīng)系統(tǒng),諸如自適應(yīng)巡航,自適應(yīng)濾波,系適應(yīng)控制等等[1]。在軟件工程領(lǐng)域中,軟件系統(tǒng)越來越復(fù)雜,其所面臨的外部需求變化也越來越頻繁,面對這些新的挑戰(zhàn),我們需要研發(fā)一種新的機(jī)制來應(yīng)對,使得軟件具有自適應(yīng)的能力,繼而形成一種自適應(yīng)軟件,這也正是人們所需要的一種軟件心態(tài)。
軟件自適應(yīng),關(guān)于這一概念并沒有一個統(tǒng)一的定義,因?yàn)樗亩x可以從許多方面來看,比如說行性能和功能的改進(jìn)方面,或者從它應(yīng)對環(huán)境變化的方面來定義,因?yàn)殛U釋的較多不同所以其定義的內(nèi)容也就不同[2]。這里我們可以將軟件的自適應(yīng)功能理解為軟件系統(tǒng)的一個能力屬性,又能夠?qū)⑵淅斫鉃橐粋€過程,也就是說因?yàn)樗哂械湫偷哪康男院蛣討B(tài)性特征,也就是說當(dāng)外界環(huán)境因素發(fā)生變化時,軟件系統(tǒng)能夠進(jìn)行自我調(diào)整[3],以適應(yīng)環(huán)境變化,從而達(dá)到動態(tài)快速的接近自適應(yīng)目標(biāo),根據(jù)這些理論我們就可以總結(jié)出軟件自適應(yīng)的定義,即當(dāng)軟件系統(tǒng)受到外界變化的干擾時,為了防止整個系統(tǒng)變?yōu)槭顟B(tài),軟件系統(tǒng)自發(fā)啟動自適應(yīng)功能,在線進(jìn)行自我調(diào)整,通過這種調(diào)整快速動態(tài)地逼近任務(wù)目標(biāo),具體可以描述為在:用a表示軟件系統(tǒng)的運(yùn)行狀態(tài),它也是系統(tǒng)時間的函數(shù),系統(tǒng)時間用t表示,軟件系統(tǒng)可接受狀態(tài)空間用A表示,當(dāng)a∈A時,軟件的服務(wù)質(zhì)量處于用戶的可接受范圍,軟件系統(tǒng)失效狀態(tài)空間用B表示,當(dāng)a∈B時,則代表軟件的關(guān)鍵性指標(biāo)已經(jīng)被損壞了,并且不能再給系統(tǒng)提供可用的功能和性能,軟件系統(tǒng)面臨的所有變化集合用C表示,用D表示自適應(yīng)平衡狀態(tài)集合,這種狀態(tài)的系統(tǒng)不會再發(fā)生很大的變化,其性能和功能也已達(dá)到用戶的目標(biāo),這里我們假設(shè)t=t0時,軟件的系統(tǒng)狀態(tài)穩(wěn)定的處于區(qū)域D里面,也就是說a(t)∈D,當(dāng)t=t1時,這里t1>t0,外部環(huán)境變化用δ表示,δ∈C,由于外界環(huán)境因素的變化使得軟件系統(tǒng)的運(yùn)行狀態(tài)遭到干擾、偏離平衡,在此過程中軟件系統(tǒng)也由平衡狀態(tài)空間向可接受狀態(tài)空間轉(zhuǎn)變,但是還沒有進(jìn)入失效狀態(tài)空間,用公式(1)表達(dá):
這時,由于自適應(yīng)機(jī)制的啟動,使軟系統(tǒng)快速的感知到了系統(tǒng)狀態(tài)的改變趨勢,進(jìn)而進(jìn)行自我調(diào)整,軟件系統(tǒng)從可接受狀態(tài)空間又會重新進(jìn)入到目標(biāo)區(qū)域里面,這段時間用表示,則有:
也有一些其他領(lǐng)域的研究與軟件自適應(yīng)研究相近,典型的就有自管理系統(tǒng)和自治計(jì)算系統(tǒng)[4]。一般情況下,自治和自管理系統(tǒng)會很回家側(cè)重于整個計(jì)算機(jī)系統(tǒng),而自適應(yīng)軟件則更關(guān)注軟件系統(tǒng)的自適應(yīng)。其實(shí)在對這三者進(jìn)行研究時,在技術(shù)和研究方法上面是很難區(qū)分的,所以很多學(xué)者在研究時,并不區(qū)分它們的說法,并且常常互換著使用。
軟件的自適應(yīng)過程所經(jīng)歷的各個環(huán)節(jié)構(gòu)成自適應(yīng)環(huán),經(jīng)過上面的介紹可以了解到,通常自適應(yīng)過成中需要最少經(jīng)歷三個核心的環(huán)節(jié),也就是感知環(huán)節(jié),評價(jià)環(huán)節(jié)和施動環(huán)節(jié)。對用戶需求以及環(huán)境信息的收集主要是靠感知環(huán)節(jié)來完成,同時在此環(huán)節(jié)中還要獲取到相應(yīng)的需求和環(huán)境的變化;然后根據(jù)所獲取的信息變化和目標(biāo)預(yù)定并對其進(jìn)行推理評價(jià)則是由評價(jià)環(huán)節(jié)來實(shí)現(xiàn),評價(jià)機(jī)制作出判斷后才能決定軟件系統(tǒng)要如何調(diào)整自身來應(yīng)對環(huán)境變化。講評價(jià)環(huán)節(jié)得出的結(jié)論施加到軟件系統(tǒng)上是在是由施動環(huán)節(jié)來完成,這個環(huán)境確保系統(tǒng)完成自身調(diào)整過程,這3個基本環(huán)節(jié)就能夠構(gòu)成一個完整的自適應(yīng)環(huán)。目前比較知名的自適應(yīng)環(huán)就是IBM的MAPE-K環(huán),它將自適應(yīng)的過程分為了4個階段和一個知識庫,四個階段即監(jiān)視階段,分析階段,規(guī)劃階段以及執(zhí)行階段。也有很多研究人員有許多不同的關(guān)于自適應(yīng)環(huán)的理解,如有學(xué)者將其概括為評估與監(jiān)視環(huán)節(jié),規(guī)劃改變環(huán)節(jié),部署變化描述環(huán)節(jié),實(shí)施變化和采集觀測信息環(huán)節(jié)。也有學(xué)者認(rèn)為其應(yīng)該理解為采集階段,分析階段,決策階段以及施動階段等幾個階段。還有的認(rèn)為應(yīng)該包括監(jiān)視環(huán)節(jié),探測環(huán)境,決策環(huán)節(jié)以及施動環(huán)節(jié)。由此可見不同的研究人員有著不同的關(guān)于自適應(yīng)環(huán)的表達(dá)方式,但是究其本質(zhì)其實(shí)都是一樣的,也就是先對環(huán)境以及需求的變化進(jìn)行感知,再針對所獲取的信息進(jìn)行一定的分析處理,最后獲得相應(yīng)的結(jié)論,將其施加到軟件系統(tǒng),從這些表達(dá)方式也可以看出軟件自適應(yīng)過程事實(shí)上是循環(huán)往復(fù)的過程,它也是一個和軟件系統(tǒng)運(yùn)行具有相互作用的循環(huán)過程。
為了實(shí)現(xiàn)軟件自適應(yīng)的整個過程,基本設(shè)施是必不可少的,通過對軟件自適應(yīng)過程的理解分析,要完成軟件的自適應(yīng)過程,就需要一定的軟件設(shè)施作為支撐,在軟件自適應(yīng)的每個環(huán)節(jié)都需要與其相對應(yīng)的軟件設(shè)施,如我們需要有感知器設(shè)施來識別和感知變化,需要自適應(yīng)器設(shè)施用來對變化進(jìn)行決策,同時也需要執(zhí)行器設(shè)施來將自適應(yīng)結(jié)果是加到目標(biāo)軟件系統(tǒng)上。許多研究人員也根據(jù)自己的理解而給這些軟件設(shè)施進(jìn)行了許多不同的命名,例如IBM的MAPE-K將自適應(yīng)的不同環(huán)節(jié)用到的軟件設(shè)施命名為感知器以及自治管理器進(jìn)而效應(yīng)器。也有學(xué)者將其名命名為探針和自適應(yīng)管理器進(jìn)而效應(yīng)器[5],同樣雖然這些設(shè)施的命名不同,但是它們的功能都是一樣的,都是為了完成自適應(yīng)過程的各個環(huán)節(jié),也就是首先對環(huán)境和需求變化進(jìn)行感知,然后對獲取的信息進(jìn)行分析處理,最終將結(jié)果施加到軟件系統(tǒng)完成自適應(yīng)過程。這里自適應(yīng)器、執(zhí)行器和感知器組成了整個軟件系統(tǒng)的自適應(yīng)邏輯。與之相對應(yīng)的是軟系統(tǒng)的功能邏輯和應(yīng)用邏輯,自適應(yīng)邏輯又包括了2個方面,及軟件的自適應(yīng)機(jī)制和軟件設(shè)施,軟件的正常業(yè)務(wù)功能主要靠應(yīng)用軟件來實(shí)現(xiàn),根據(jù)控制理論,自適應(yīng)邏輯控制應(yīng)用邏輯,所以某些時候講應(yīng)用邏輯稱為目標(biāo)軟件。
2 控制理論
控制,它表示的是一種面向目標(biāo)的動作[6],與另一個動作相關(guān)聯(lián),需要一個執(zhí)行這個動作的主體以及承受這個動作的對象,該主體被稱為控制器,也被認(rèn)為是控制算法的執(zhí)行器,對象被稱為被控對象?,F(xiàn)今社會控制已經(jīng)成為一種廣泛應(yīng)用的基本活動,諸如汽車自動控制,發(fā)電機(jī)組控制等等。我們必須將控制器和被控制的對象,根據(jù)一定的方法連接構(gòu)成1個有機(jī)整體,以保證各種復(fù)雜的控制任務(wù)的實(shí)現(xiàn)。這樣就形成了1個控制系統(tǒng)。控制系統(tǒng)最基本的核心是反饋或者閉環(huán)控制,通過取自被控量的反饋信息,然后對被控量和控制目標(biāo)之間的偏差進(jìn)行不斷的修正,最后達(dá)到對被控對象進(jìn)行控制的功能。下圖1展示了反饋控制系統(tǒng)的結(jié)構(gòu)示意圖。
控制器,執(zhí)行器,傳感器以及被控對象一起組成了反饋控制系統(tǒng),上面示意圖中的r表示設(shè)定值或者參考輸入值,它指的是期望的輸出,y表示被控對象的輸出,e代表控制誤差,e=r-y,它表示期望的系統(tǒng)輸出同世紀(jì)測量輸出的差值,u表示控制輸出,它的得出是根據(jù)控制誤差采用一定的控制算法經(jīng)過運(yùn)算獲得的。將輸出控制利用執(zhí)行器施加到被控對象,然后使系統(tǒng)輸出值盡可能地逼近期望輸出值,總體來看,反饋控制過程是一個動態(tài)過程,它的最終目標(biāo)是使控制誤差e等于0,也就是讓系統(tǒng)輸出y逼近或者等于期望的輸出r。
前饋控制,也稱為開環(huán)控制,它與反饋控制相對應(yīng),該控制形式是直接利用參考輸入來決定控制輸出的,而不需要系統(tǒng)的輸出來對控制輸出進(jìn)行調(diào)控。前饋控制的優(yōu)勢就是其結(jié)構(gòu)簡單,但是也存在缺陷,其抗干擾能力差,系統(tǒng)的穩(wěn)定性無法得到保證,所以該控制形式并不會單獨(dú)被使用。
一個控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)都是為了達(dá)到某個目標(biāo),該目標(biāo)只要表現(xiàn)在[7]:首先是調(diào)節(jié)控制,也就是要保證系統(tǒng)輸出與參考輸入接近甚至是相等。調(diào)節(jié)控制的重點(diǎn)是參考輸入,參考輸入的變化會直接導(dǎo)致系統(tǒng)輸入的變化,當(dāng)參考輸入的變化頻率變得非常快時,這種控制方式我們通常稱為跟蹤控制。此外,還需要使控制系統(tǒng)具有足夠的抗干擾能力,這樣才能確保系統(tǒng)所收到的外界干擾不會對系統(tǒng)的輸出造成太大影響,最后一點(diǎn)就是要進(jìn)行優(yōu)化處理,保證能夠取得系統(tǒng)輸出的最佳值。
使用不用的控制器,不論被控制的對象是不是相同,能有可能產(chǎn)生不同的控制效果。控制系統(tǒng)的好壞是需要1個統(tǒng)一的標(biāo)準(zhǔn)來判斷的,一般情況下是通過4個指標(biāo)來評判的,即準(zhǔn)確性,穩(wěn)定性,超調(diào)量以及調(diào)節(jié)時間??刂葡到y(tǒng)的準(zhǔn)確性指的就是系統(tǒng)在穩(wěn)定狀態(tài)時其系統(tǒng)輸出能夠與參考輸入無限逼近??刂葡到y(tǒng)的穩(wěn)定性指的就是針對任意的限制內(nèi)的輸入,系統(tǒng)的輸出都能夠確保穩(wěn)定在一定的范圍內(nèi)的能力。超調(diào)量指的是系統(tǒng)輸出的最大的偏差值與穩(wěn)態(tài)值之間的差值。調(diào)節(jié)時間則表示系統(tǒng)輸出從最開始的初始值到接近穩(wěn)態(tài)值所需要的時間。
綜上所述,深究控制的本質(zhì)其實(shí)就是以變制變,它依據(jù)一種計(jì)算邏輯,利用實(shí)際值與期望值的差值,計(jì)算產(chǎn)生控制輸出,最終以達(dá)到被控制的對象性能無限逼近與期望值的目的。以變制變也是自適應(yīng)的本質(zhì),根據(jù)外部的環(huán)境變化,通過調(diào)節(jié)自身來應(yīng)對這種變化,整個自適應(yīng)過程也就是對自身軟件系統(tǒng)的控制過程,也就是這種自身的控制過程使得其可以適應(yīng)外界環(huán)境因素的變化。因而該控制理論,是一種非常有效的實(shí)現(xiàn)動態(tài)軟件系統(tǒng)自適應(yīng)的工具。
3 嵌入式軟件自適應(yīng)體系
3.1 具有自適應(yīng)性功能的操作系統(tǒng)
Delta OS是一種具有自適應(yīng)功能嵌入式實(shí)時操作系統(tǒng),它的主要內(nèi)核有內(nèi)存管理,任務(wù)管理,中斷管理,任務(wù)間通信以及時鐘管理等模塊,同時也含有瀏覽器,GUI,晚間系統(tǒng)以及網(wǎng)絡(luò)等組件。
我們需要添加1個自適應(yīng)處理模塊在操作系統(tǒng)Delta OS中,來實(shí)現(xiàn)計(jì)算終端對環(huán)境及資源變化作出相應(yīng)的自適應(yīng)處理。在Delta OS的基礎(chǔ)上,再加上資源監(jiān)控模塊,事件管理模塊和事件通道注冊模塊3個模塊就構(gòu)成了具有自適應(yīng)能力的嵌入式操作系統(tǒng)Delta? a-OS體系結(jié)構(gòu)。這3個模塊共同工作能夠很好的完成系統(tǒng)的自適應(yīng)過程,資源監(jiān)控模板檢測到計(jì)算終端的資源變化時,由事件通道注冊模塊會很快獲取時間通道的引用,然后這些引用就會作為事件對象直接發(fā)送到事件管理模塊,然后通過事件傳送機(jī)制將反應(yīng)終端資源變化的時間對象傳送給應(yīng)用程序,最后由應(yīng)用完成自適應(yīng)響應(yīng)。這種體系結(jié)構(gòu)非常靈活,它能夠?qū)魉蜋C(jī)制和環(huán)境監(jiān)控模塊分離開來,對應(yīng)用和監(jiān)控模塊進(jìn)行有效的隔離,使得應(yīng)用程序可以在對事件信息進(jìn)行接收時采用一種新的監(jiān)控方式,而不需要利用系統(tǒng)提供的方式獲取環(huán)境的狀態(tài)變化。該體系結(jié)構(gòu)是一種系統(tǒng)和應(yīng)用共同協(xié)作的自適應(yīng)模型[8],系統(tǒng)可以對資源的可用性進(jìn)行監(jiān)控,對資源進(jìn)行合理分配,與此同時還將對資源進(jìn)行適當(dāng)?shù)膬?yōu)化。將自身的特性與系統(tǒng)所提供的資源信息進(jìn)行結(jié)合,應(yīng)用程序就能夠很好的進(jìn)行決策。
3.2 事件管理模塊
多個事件通道組成事件管理模塊,并且每一系列的事件類型都會對應(yīng)一個時間通道,事件處理模塊和時間傳送模塊共同構(gòu)成了事件通道,為事件通道提供通道信息是時間處理模塊的主要功能,同時還要對事件日志進(jìn)行維護(hù),處理一些事件,通道信息指的是通道類型等方面的內(nèi)容。根據(jù)系統(tǒng)應(yīng)用的具體情況,事件管理模塊會對相應(yīng)的資源進(jìn)行分配決策,對于特定的應(yīng)用也會給予相應(yīng)的資源分配,與此同時會對實(shí)時應(yīng)用的資源作預(yù)留準(zhǔn)備。
系統(tǒng)中事件對象的事件日志會由時間處理模塊進(jìn)行定期的日常維護(hù),此保存移動環(huán)境的狀態(tài)。針對每一個類型的事件,會將近期的時間對象進(jìn)行保存,等待與之相同類型的事件出現(xiàn)。前期保存的事件對象,根據(jù)事件發(fā)生的時間順序,應(yīng)用程序注冊到通道時就會傳送到應(yīng)用,進(jìn)而使系統(tǒng)適應(yīng)相對應(yīng)時間的環(huán)境狀態(tài)。在這整個才做過程中,事件處理模塊是與事件傳送模塊交互進(jìn)行的,為實(shí)現(xiàn)事件傳送提供框架結(jié)構(gòu)是事件傳送模塊的主要任務(wù),在傳送模塊中,應(yīng)用能夠獲取自適應(yīng)處理模塊的引用序列,根據(jù)這些引用序列,事件傳送模塊可以將事件對象傳送到引用。
3.3 事件通道注冊管理模塊
每一個事件通道都會有一個與之對應(yīng)的名字,而這個名字會應(yīng)用到通道的引用上,在對事件通道進(jìn)行創(chuàng)建時,需要經(jīng)由事件通道注冊模塊進(jìn)行注冊,同時還要保證事件通道名字的唯一性,以便后續(xù)將引用提供給其他檢索模塊。事件對象有資源監(jiān)控模塊傳遞到事件通道時,會有注冊管理模塊獲得事件通道的引用。
3.4 資源監(jiān)控模塊
為了實(shí)現(xiàn)對終端移動環(huán)境的實(shí)時監(jiān)控需要用到資源監(jiān)控模塊,資源監(jiān)控模塊通過通道引用會將事件對象傳送到事件通道。監(jiān)控模塊一旦監(jiān)控到環(huán)境狀態(tài)發(fā)生變化時,就會建立一個新的事件對象,同時將這個事件傳送給事件通道。另外,資源監(jiān)控模塊還能夠使系統(tǒng)保持穩(wěn)定的狀態(tài),即它可以抑制環(huán)境狀態(tài)發(fā)生的瞬時變化,很好避免系統(tǒng)的抖動現(xiàn)象。
3.5 具備自適應(yīng)處理功能的應(yīng)用
系統(tǒng)自適應(yīng)策略的實(shí)現(xiàn)是由自適應(yīng)處理模塊完成的,它可以為應(yīng)用提供穩(wěn)定的服務(wù),是應(yīng)用獲取與系統(tǒng)資源情況一致的信息。在自適應(yīng)體系的整個結(jié)構(gòu)中,事件最終都會傳送到自適應(yīng)處理模塊,某些應(yīng)用需要獲取資源信息,那么可以針對性的建立與之相適應(yīng)的自適應(yīng)模塊,同時生成這個模塊的引用,并注冊到事件通道,如果資源狀態(tài)發(fā)生變化時,資源的狀態(tài)信息就可以從資源監(jiān)控模塊和事件通道獲取。當(dāng)獲取到事件對象時,應(yīng)用的自適應(yīng)模塊就會根據(jù)事件對象代表的事件類型而作出相應(yīng)的變化。
3.6 自適應(yīng)系統(tǒng)的工作工程簡介
這里以計(jì)算終端的網(wǎng)絡(luò)寬帶產(chǎn)生變化來進(jìn)行說明,下面圖2所示為UML序列圖。
圖中顯示了6個對象,并且這6個對象分別對應(yīng)著六個不同的模塊,Network Bandwidth表示網(wǎng)絡(luò)寬帶資源,Network Monitor表示網(wǎng)絡(luò)事件監(jiān)控模塊,Network Event Manager表示網(wǎng)絡(luò)事件處理模塊,Network Delivery Module表示網(wǎng)絡(luò)事件傳送模塊,Registrar表示事件通道注冊管理模塊,Browser表示網(wǎng)絡(luò)相關(guān)的瀏覽器應(yīng)用。圖中箭頭表示信息的傳遞,而箭頭的方向則代表事件發(fā)生的先后順序。
4 結(jié)語
嵌入式軟件所對應(yīng)的計(jì)算終端所處的環(huán)境總是在不斷變化中的,那么自然獲得的資源也在不斷變化,同時這些變化都是不可預(yù)期的,屬于動態(tài)變化。所以日常生活中,我們對軟件的自適應(yīng)功能是由一定的要求的,當(dāng)軟件具備自適應(yīng)的能力就能個根據(jù)環(huán)境以及資源變化作出自我調(diào)整以適應(yīng)新的環(huán)境和資源。這里我們系統(tǒng)忽和應(yīng)用的自適應(yīng)模型進(jìn)行了研究,了解了整個結(jié)構(gòu)體系中各個組成部分的功能以及原理,也了解了控制理論的基本內(nèi)容,軟件自適應(yīng)與控制理論的關(guān)聯(lián),通過研究這些理論與原理是我們更加清楚的明白了嵌入式軟件的自適應(yīng)方法。
參考文獻(xiàn)
[1]Astrom K J,Wittenmark B.Adaptive Control.2nd Edition.Englewood:Prentice Ⅱall,1994(5):5-9.
[2]Laddaga R.Sell-adaptive software.DARPA BAA,Virginia:Techical Report:98-12,1997(5):12-16.
[3]Alex Quilici,Richr and N.Taylor,Michael M.Gorlick,et al.An architecture-based approach to self-adaptive software[J].Intelligent Systems and Their Applications,1999,14(3):54-62.
[4]Kephart J,Chess D.The vision of autonomic computing [J].IEEE computer,2003,36(1):41-59.
[5]Garlan D,Cheng S W,IIuang A C,et al.Rainbow:Architecture-based self adaptation with reusable infrastructure.IEEE Computer,2004,37(10):46-54.
[6]Bubnicki Z.Modern Control Theory.Berlin:Springer-Verlag,2005(7):66-69.
[7]胡壽松.自動控制原理(第3版) [M].北京:國防工業(yè)出版社,1994.
[8]M Satyanaraysnsn.Fun damental challenges in mobile computer[A].Fifteenth ACM Symposium on principles of Distnbuted computer[C].Philadephia,PA,1996:1-7.