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

        ?

        擴展Tropos目標(biāo)模型驅(qū)動的軟件自適應(yīng)方法研究*

        2017-04-07 04:54:09
        艦船電子工程 2017年3期
        關(guān)鍵詞:規(guī)則環(huán)境分析

        王 欣

        (渤海船舶職業(yè)學(xué)院 葫蘆島 125001)

        擴展Tropos目標(biāo)模型驅(qū)動的軟件自適應(yīng)方法研究*

        王 欣

        (渤海船舶職業(yè)學(xué)院 葫蘆島 125001)

        傳統(tǒng)模型驅(qū)動自適應(yīng)方法通常使用軟件設(shè)計階段的體系結(jié)構(gòu)模型引導(dǎo)軟件運行時自適應(yīng)行為,導(dǎo)致自適應(yīng)策略模型復(fù)雜度較高。為此,論文將抽象級更高的需求階段目標(biāo)模型用作軟件自適應(yīng)過程中的策略模型,提出一種目標(biāo)模型驅(qū)動的軟件自適應(yīng)方法。與體系結(jié)構(gòu)模型驅(qū)動方法相比,由于該方法可忽略不必要的細(xì)節(jié),因而能夠降低策略模型復(fù)雜度,有利于自適應(yīng)策略的維護、擴展和重用。

        模型驅(qū)動自適應(yīng); 體系結(jié)構(gòu)模型; 目標(biāo)模型

        1 引言

        對于傳統(tǒng)的自適應(yīng)技術(shù),通常由軟件開發(fā)人員在軟件需求分析階段預(yù)計未來軟件運行環(huán)境變化,并分別在軟件設(shè)計和實現(xiàn)階段制定和實現(xiàn)自適應(yīng)策略,因此當(dāng)軟件環(huán)境變化超出預(yù)設(shè)策略時,可導(dǎo)致軟件因不能適應(yīng)新環(huán)境而發(fā)生失效[1]。基于反射計算的自適應(yīng)技術(shù)將軟件設(shè)計成由自適應(yīng)控制層和業(yè)務(wù)邏輯層構(gòu)成的兩層結(jié)構(gòu),自適應(yīng)控制層以開發(fā)階段的軟件模型作為自適應(yīng)控制過程中的策略模型,并在此基礎(chǔ)上對軟件環(huán)境及其運行狀態(tài)進行監(jiān)測、分析和推理,從而得到軟件的自適應(yīng)策略[2]。

        基于反射計算的自適應(yīng)技術(shù)根據(jù)其自適應(yīng)控制層使用的策略模型類型可分為:需求模型驅(qū)動、體系結(jié)構(gòu)模型驅(qū)動以及實現(xiàn)模型驅(qū)動的自適應(yīng)等。文獻(xiàn)[3~4]提出了一種體系結(jié)構(gòu)模型驅(qū)動的自適應(yīng)技術(shù),以設(shè)計階段的體系結(jié)構(gòu)模型作為自適應(yīng)過程中的策略模型,其自適應(yīng)過程中監(jiān)測、分析、規(guī)劃、執(zhí)行等活動均在體系結(jié)構(gòu)模型上進行。文獻(xiàn)[5]采用社會組織的思想來抽象自適應(yīng)軟件,描述和分析軟件的自適應(yīng)特征,設(shè)計了基于角色動態(tài)綁定的自適應(yīng)運行機制,并借助于增強學(xué)習(xí)的手段來實現(xiàn)軟件的在線自適應(yīng)決策以應(yīng)對不可預(yù)見的變化。文獻(xiàn)[6]將基于構(gòu)件的體系結(jié)構(gòu)模型用于軟件自適應(yīng)過程,并根據(jù)構(gòu)件的非功能屬性生成適應(yīng)當(dāng)前環(huán)境的軟件最佳配置策略。文獻(xiàn)[7]對UML類圖進行上下文擴展,提出一種面向?qū)ο蟮男枨蠼7椒?并將其用于軟件自適應(yīng)過程。文獻(xiàn)[8]將i*目標(biāo)模型用于軟件運行時自適應(yīng)決策過程,通過與目標(biāo)模型關(guān)聯(lián)的斷言條件監(jiān)測軟件需求,并在目標(biāo)模型基礎(chǔ)上計算能夠適應(yīng)當(dāng)前環(huán)境的軟件配置。

        盡管目前軟件自適應(yīng)技術(shù)利用反射計算將軟件開發(fā)階段的模型應(yīng)用于軟件運行階段,使軟件維護人員可通過修改模型來應(yīng)對超出預(yù)期的環(huán)境變化,但它們?nèi)源嬖谙铝胁蛔?

        1) 由于體系結(jié)構(gòu)模型為軟件設(shè)計階段的產(chǎn)品,它與需求模型相比抽象級較低,因此以體系結(jié)構(gòu)表示的策略模型復(fù)雜度較高,不利于策略的維護、擴展和重用;

        2) 需求模型驅(qū)動的自適應(yīng)方法使用高抽象級需求模型表示自適應(yīng)策略,降低了策略模型的復(fù)雜度。但由于目前該技術(shù)采用的需求模型通常未考慮軟件對其內(nèi)部異常事件的適應(yīng)性需求,因此該類技術(shù)不能用于實現(xiàn)軟件對其內(nèi)部異常事件的自適應(yīng)處理。

        針對上述問題,本文提出一種由目標(biāo)模型驅(qū)動的軟件運行時自適應(yīng)技術(shù),對Tropos目標(biāo)模型進行上下文條件、異常條件以及其他必要擴展,并用于引導(dǎo)軟件運行時的自適應(yīng)行為。定義了必需滿足目標(biāo)、可行目標(biāo)、需求變體以及可選任務(wù)集的推理規(guī)則,用于根據(jù)當(dāng)前環(huán)境和異常事件生成軟件自適應(yīng)行為配置集。

        2 擴展的Tropos目標(biāo)模型

        Tropos目標(biāo)模型[9]將i*目標(biāo)模型和面向Agent的思想相結(jié)合,為開發(fā)者提供一種用于構(gòu)建面向Agent軟件需求模型的方法。目前Tropos目標(biāo)模型的擴展方法研究主要關(guān)注如何建模對環(huán)境變化自適應(yīng)的軟件需求,而對于如何建模對內(nèi)部異常事件自適應(yīng)的軟件需求,研究還不夠充分。為此,本文對Tropos目標(biāo)模型同時進行上下文條件、異常條件等擴展,使其具備同時建模軟件對環(huán)境變化和異常事件的自適應(yīng)需求。

        2.1 上下文條件擴展

        上下文是對軟件真實環(huán)境的抽象表示,它通常被用在模型中描述軟件關(guān)注對象所處的環(huán)境[10]。為建模軟件運行環(huán)境,本文將上下文條件作為一種顯式建模元素,并對Tropos目標(biāo)模型中目標(biāo)分解關(guān)系進行上下文擴展,通過上下文條件變化表示軟件環(huán)境變化。軟件可根據(jù)當(dāng)前環(huán)境狀態(tài)所滿足的上下文條件確定目標(biāo)分解沿哪些分支進行,直至得到與當(dāng)前環(huán)境一致的軟件目標(biāo)以及相關(guān)可執(zhí)行任務(wù)。經(jīng)過上下文擴展的目標(biāo)分解關(guān)系如圖1所示。目標(biāo)分解邊上標(biāo)記ci、cj用來表示上下文條件,可通過檢驗上述條件是否為真判斷當(dāng)前是否出現(xiàn)特定環(huán)境事件。

        圖1 目標(biāo)分解的上下文條件擴展

        2.2 異常條件擴展

        軟件運行過程中可能會出現(xiàn)一些異常事件,如軟件功能模塊發(fā)生失效,對應(yīng)到目標(biāo)模型中表現(xiàn)為任務(wù)未能正確執(zhí)行。若在軟件運行過程中出現(xiàn)異常事件,則要求軟件能對異常事件進行適應(yīng)性處理,以保證向用戶提供持續(xù)正確的服務(wù)。為使軟件異常能夠得到及時處理,需為可能出現(xiàn)異常的任務(wù)所在手段-目的分析邊設(shè)置異常條件,用于監(jiān)測任務(wù)的執(zhí)行過程中是否出現(xiàn)異常狀況。圖2為目標(biāo)模型中兩種不同類型的手段-目的分析異常條件擴展。分支上符號ei、ej表示異常條件,它們分別用來檢測任務(wù)ti、tj實施過程中是否出現(xiàn)異常事件,以便能及時對異常事件進行自適應(yīng)處理。

        圖2 手段-目的分析異常條件擴展

        2.3 目標(biāo)類型擴展

        軟件運行的正確性可通過驗證軟件是否實現(xiàn)了用戶的目標(biāo)來確認(rèn),而目標(biāo)是否實現(xiàn)的判定依據(jù)與目標(biāo)的類型有關(guān)。為能夠監(jiān)測軟件運行過程中的目標(biāo)狀態(tài),將目標(biāo)擴展為保持型目標(biāo)、實現(xiàn)型目標(biāo)、查詢型目標(biāo)和執(zhí)行型目標(biāo)。

        1) 保持型目標(biāo):當(dāng)軟件到達(dá)此類目標(biāo)指定的目的狀態(tài)時,需要其繼續(xù)維護該目的狀態(tài),直至持有該目標(biāo)的參與者接收到可導(dǎo)致該目的狀態(tài)終止的請求。

        2) 實現(xiàn)型目標(biāo):當(dāng)軟件到達(dá)此類目標(biāo)指定的目的狀態(tài)時,不要求其必須維護該目的狀態(tài)。

        3) 查詢型目標(biāo):此類目標(biāo)與實現(xiàn)型目標(biāo)相似,區(qū)別在于它表示與數(shù)據(jù)查詢有關(guān)的目標(biāo)。

        4) 執(zhí)行型目標(biāo):此類目標(biāo)不必指定其目的狀態(tài),而是側(cè)重于執(zhí)行某個動作。

        3 目標(biāo)模型驅(qū)動的軟件自適應(yīng)策略生成

        目標(biāo)模型驅(qū)動的自適應(yīng)重配置方法根據(jù)軟件當(dāng)前環(huán)境及其目標(biāo)、任務(wù)狀態(tài),通過軟件目標(biāo)模型的變化性分析生成軟件所有可能的配置集。軟件根據(jù)當(dāng)前環(huán)境或異常事件選擇合適的軟件配置,從而實現(xiàn)軟件對環(huán)境變化或異常事件的自適應(yīng)重配置。本文通過對目標(biāo)模型變化性分析,由軟件目標(biāo)分析生成滿足該目標(biāo)所有可選任務(wù)集,從而得到可供軟件選擇的行為配置集。當(dāng)同一上下文條件下存在多個可選配置時,計算各配置的優(yōu)先級,根據(jù)優(yōu)先級最高的配置調(diào)整軟件行為。

        3.1 應(yīng)采納目標(biāo)、可采納目標(biāo)與可選擇任務(wù)判斷規(guī)則

        定義1 應(yīng)采納目標(biāo):當(dāng)前環(huán)境下軟件應(yīng)當(dāng)選取來滿足的目標(biāo),如果該目標(biāo)未被選取,則軟件將發(fā)生失效。例如,當(dāng)智能清潔機器人發(fā)現(xiàn)地面有灰塵時,其目標(biāo)“清潔地面”為應(yīng)采納目標(biāo),而當(dāng)其電量不足時,其目標(biāo)“補充電量”為應(yīng)采納目標(biāo)。

        定義2 可采納目標(biāo):當(dāng)前環(huán)境下軟件可以選取來滿足的目標(biāo),但當(dāng)該目標(biāo)未被選取時,軟件也不一定發(fā)生失效。例如,假設(shè)智能清潔機器人當(dāng)前已采納目標(biāo)“補充電量”,則它可選取目標(biāo)“利用供電插座補充電量”來滿足該目標(biāo),或者選取目標(biāo)“更換電池補充電量”來滿足該目標(biāo),因此目標(biāo)“利用供電插座補充電量”和“更換電池補充電量”均為可采納目標(biāo)。

        定義3 可選擇任務(wù):當(dāng)前環(huán)境下軟件為滿足其目標(biāo)可選擇執(zhí)行的任務(wù)。例如,假設(shè)當(dāng)前智能清潔機器人已采納目標(biāo)“清潔地面”,由于它可選擇任務(wù)“掃地”或“擦地”滿足該目標(biāo),因此任務(wù)“掃地”和“擦地”均為可選任務(wù)。

        本文使用下列規(guī)則來判斷特定上下文條件下軟件應(yīng)采納目標(biāo)、可采納目標(biāo)以及可選擇任務(wù)。

        規(guī)則1 若g為目標(biāo)(goal(g)),當(dāng)前g的滿足過程未完成(done(g)),已發(fā)生使g進入活動狀態(tài)的事件(happened(activation_event(g))),且目標(biāo)模型中不存在g的父目標(biāo)gp經(jīng)目標(biāo)分解生成g(?gp(decom(gp,g,dec)),則目標(biāo)g為應(yīng)采納目標(biāo)(should_do(g))。該規(guī)則以斷言形式可描述為

        規(guī)則2 若g為應(yīng)采納目標(biāo),則g也為可采納目標(biāo)(optional(g))。該規(guī)則以斷言形式可描述為

        規(guī)則3 若g滿足過程未完成,目標(biāo)模型中存在可采納目標(biāo)gp經(jīng)目標(biāo)分解生成g,且與gp到g的目標(biāo)分解邊關(guān)聯(lián)的上下文條件為真(hold(context(dec))),則目標(biāo)g為可采納目標(biāo)。該規(guī)則以斷言形式可描述為

        規(guī)則4 若任務(wù)t前提條件為真(hold(pre_condition(t))),t當(dāng)前未執(zhí)行(done(t)),存在目標(biāo)g經(jīng)手段-目的分析生成t(?g(goal(g)∧means_end(g,t,dec)),g到t的手段-目的分析邊關(guān)聯(lián)的上下文條件為真(hold(context(dec))),且g為可采納目標(biāo)(possible(g)),則t為可選擇任務(wù)(possible(t))。該規(guī)則以斷言形式可描述為

        3.2 需求變化性分析

        目標(biāo)模型使用目標(biāo)建模軟件需求,并通過目標(biāo)分解關(guān)系將抽象目標(biāo)細(xì)化具體目標(biāo)。由于目標(biāo)分解關(guān)系產(chǎn)生的需求變體與其分解類型有關(guān),因此下面分別給出對兩種不同類型目標(biāo)分解關(guān)系的變化性分析及變體生成規(guī)則。

        由目標(biāo)“與”分解生成的子目標(biāo)與其父目標(biāo)關(guān)系為:當(dāng)子目標(biāo)均滿足時,其父目標(biāo)滿足。經(jīng)上下文擴展后,目標(biāo)“與”分解生成的子目標(biāo)與其父目標(biāo)關(guān)系同環(huán)境有關(guān),兩者間關(guān)系變?yōu)?當(dāng)前環(huán)境下上下文條件為真的子目標(biāo)均滿足時,其父目標(biāo)滿足。由于子目標(biāo)是否需要滿足依賴于與之關(guān)聯(lián)的上下文條件,因此當(dāng)環(huán)境變化時,用于滿足父目標(biāo)的子目標(biāo)隨之變化。由此可見,上下文擴展的目標(biāo)“與”分解關(guān)系能夠描述軟件需求的變化性。

        規(guī)則5 若目標(biāo)g為可采納目標(biāo),且g的目標(biāo)分解類型為“與”分解,則當(dāng)前環(huán)境下滿足目標(biāo)g的需求變體variationg為當(dāng)前所有可采納目標(biāo)。該規(guī)則以斷言形式可描述為

        由目標(biāo)“或”分解生成的子目標(biāo)與其父目標(biāo)關(guān)系為:選擇滿足任何一個子目標(biāo),均能使其父目標(biāo)滿足。經(jīng)上下文擴展后,子目標(biāo)的選擇受環(huán)境影響,即只能從當(dāng)前可行子目標(biāo)集中選取。因此,上下文擴展的目標(biāo)“或”分解關(guān)系可用來描述軟件需求變化性。

        規(guī)則6 若目標(biāo)g為可選采納目標(biāo),且g的目標(biāo)分解類型為“或”分解,則當(dāng)前環(huán)境下可用于滿足目標(biāo)g的變體variationg為當(dāng)前任一可采納子目標(biāo)。該規(guī)則以斷言形式可描述為

        3.3 滿足目標(biāo)的任務(wù)集分析

        任務(wù)是軟件為滿足其目標(biāo)需執(zhí)行的活動,因此任務(wù)集可作為軟件的行為配置。目標(biāo)模型中能夠用來由目標(biāo)生成任務(wù)的模型結(jié)構(gòu)為手段-目的分析,它包含兩種類型:手段-目的“與”分析和手段-目的“或”分析。

        由手段-目的“與”分析生成任務(wù)與其目標(biāo)關(guān)系為:若要滿足目標(biāo),則需執(zhí)行其生成的所有任務(wù)。進行上下文擴展后,任務(wù)能否執(zhí)行與其環(huán)境有關(guān),因此若要滿足目標(biāo),則需執(zhí)行當(dāng)前環(huán)境下其所有可選擇任務(wù)。

        規(guī)則7 若目標(biāo)g為可采納目標(biāo),且g的手段-目的分析類型為“與”分析,則當(dāng)前環(huán)境下滿足目標(biāo)g的任務(wù)集為當(dāng)前所有可選擇任務(wù)構(gòu)成的集合。該規(guī)則以斷言形式可描述為

        由手段-目的“或”分析生成任務(wù)與其目標(biāo)關(guān)系為:若要滿足目標(biāo),則只需選擇執(zhí)行其生成的任一任務(wù)。進行上下文擴展后,任務(wù)能否執(zhí)行與其環(huán)境有關(guān),因此只能在當(dāng)前可行目標(biāo)中任選一種任務(wù)。

        規(guī)則8 若目標(biāo)g為可采納目標(biāo),且g的手段-目的分析類型為“或”分析,則當(dāng)前環(huán)境下滿足目標(biāo)g的任務(wù)集為當(dāng)前任一可選擇任務(wù)構(gòu)成的集合。該規(guī)則以斷言形式可描述為

        綜上所述,通過迭代使用上述需求變體生成規(guī)則和任務(wù)集生成規(guī)則,可由軟件整體目標(biāo)(根目標(biāo))生成當(dāng)前環(huán)境下能夠滿足該目標(biāo)的需求變體以及可能的任務(wù)集,從而得到軟件的行為配置。

        3.4 任務(wù)集的優(yōu)先級計算

        由于可能存在滿足同一需求變體的多個可能的任務(wù)集,因此需要提供一種手段從中選取一個合適的任務(wù)集,作為軟件適應(yīng)當(dāng)前環(huán)境的行為配置。由于軟件實現(xiàn)其功能的同時可能對軟件性能產(chǎn)生影響,在軟件目標(biāo)模型中被建模為目標(biāo)或任務(wù)對軟目標(biāo)的影響關(guān)系,因此可以將目標(biāo)模型中任務(wù)對軟目標(biāo)的影響值作為選取任務(wù)集的依據(jù)。為此,本文將任務(wù)集中所有任務(wù)對軟目標(biāo)影響值的加權(quán)平均作為其優(yōu)先級。任務(wù)集的優(yōu)先級計算公式如下所示:

        priority(alt)=

        其中,alt為可選任務(wù)集,t為任務(wù)。s為軟目標(biāo),contribValue(t,s)為任務(wù)t對軟目標(biāo)s的影響值,正值表示積極影響,負(fù)值表示消極影響。weight(s)為軟目標(biāo)s的權(quán)值,它為由用戶指定的非負(fù)整數(shù),權(quán)值越大表示用戶認(rèn)為該軟目標(biāo)越重要。ableContrib(t)為所有受任務(wù)t影響的軟目標(biāo)集合,totalContrib(alt)為任務(wù)集alt中任務(wù)對軟目標(biāo)影響數(shù)的總和。

        3.5 軟件對環(huán)境變化的自適應(yīng)重配置

        當(dāng)運行環(huán)境發(fā)生變化時,自適應(yīng)軟件能夠根據(jù)當(dāng)前環(huán)境滿足的上下文條件,使用目標(biāo)模型驅(qū)動的軟件配置集生成方法得到適應(yīng)當(dāng)前環(huán)境的軟件配置,并將其用來替換原有軟件配置。本文通過上述定義規(guī)則,采用由頂?shù)降椎姆绞椒治鲕浖繕?biāo)模型,由軟件目標(biāo)逐步得到當(dāng)前上下文條件下可滿足該目標(biāo)的任務(wù)集(見算法1)。

        算法1 當(dāng)前上下文條件下系統(tǒng)配置生成

        輸入:指定目標(biāo),當(dāng)前上下文條件;

        輸出:可滿足指定目標(biāo)的任務(wù)集;

        ConfigGenerate(Goal g) {

        1 GoalTask[] variant←g;

        2 GoalTask[][] variants←variant;

        3 if(and_goal_decom(g)){

        4 for(each gi∈SubGoal(g)&&possible(gi)){

        5 GoalTask[] temp_1←gi;}

        6 for(each varianti∈variants){

        7 if(g∈varianti)

        8 varianti=(varianti{g})∪temp_1;}}}

        9 if(or_goal_decom(g)){

        10 for(each varianti∈variants){

        11 if(g∈varianti){

        12 for(each gi∈SubGoal(g) && possible(gi)){

        13 variants← (varianti{g})∪{gi};}

        14 variants=variants{varianti};}}}

        15 if(and_means_end(g)){

        16 for(each ti∈means(g)&&possible(ti)){

        17 GoalTask[] temp_2←ti;}

        18 for(each varianti∈variants){

        19 if(g∈varianti)

        20 varianti=(variantsi{g})∪temp_2;}}}

        21 if(or_means_end(g)){

        22 for(each varianti∈variants){

        23 if(g∈varianti){

        24 for(each ti∈means(g) && possible(gi)){

        25 variants←(varianti{g})∪{ti};}

        26 variants=variants{varianti};}}}

        27 for(each varianti∈variants){

        28 for(each gi∈varianti){

        30 ConfigGenerate(gi);}}

        31 return variants;}

        若目標(biāo)g被“與”分解,則由規(guī)則5可知,可采取以g所有可采納子目標(biāo)整體替換g(行3~8)。若目標(biāo)g被“或”分解,則由規(guī)則6可知,可采取以g的可采納子目標(biāo)分別替換g(行9~14)。同理,可以根據(jù)目標(biāo)g的手段-目的分析方式確定滿足目標(biāo)g的任務(wù)集(行15~26)。當(dāng)變體集中變體含有目標(biāo)元素,對該目標(biāo)按上述方式進行遞歸分析(27~30),否則返回所有任務(wù)集,作為軟件適應(yīng)當(dāng)前環(huán)境的行為配置。

        3.6 軟件對異常事件的自適應(yīng)重配置

        自適應(yīng)軟件通常采用等價替換方式處理其運行過程中的異常事件,基于等價替換的軟件異常處理主要包括下列兩種方式:

        1) 局部優(yōu)先替換

        局部優(yōu)先替換方式注重如何縮小軟件重配置前后其結(jié)構(gòu)與行為的差異性,以盡可能保持軟件的穩(wěn)定性。基于上述思想,局部優(yōu)先替換方式根據(jù)失效任務(wù)所關(guān)聯(lián)的目標(biāo),通過執(zhí)行該目標(biāo)下其他等價任務(wù)使目標(biāo)滿足,以縮小異常處理時軟件行為與結(jié)構(gòu)的變化。

        2) 高優(yōu)先級優(yōu)先替換

        高優(yōu)先級優(yōu)先替換方式在軟件當(dāng)前配置中存在失效任務(wù)時,將選擇一個與當(dāng)前任務(wù)集功能等價且優(yōu)先級最高的任務(wù)集,將其作為新的軟件配置。盡管該異常處理方式能夠更好地滿足涉眾偏好,但同時也可能導(dǎo)致軟件結(jié)構(gòu)或行為發(fā)生較大變化。

        本文采用上述兩種方式相結(jié)合的方法,采取由底到頂方式分析軟件目標(biāo)模型:若失效任務(wù)存在等價任務(wù),則采取局部優(yōu)先替換方式;否則,采用高優(yōu)先級優(yōu)先替換方式,使用高優(yōu)先級等價任務(wù)集整體替換軟件當(dāng)前任務(wù)集(見算法2)。

        對于失效任務(wù)t,獲取與之關(guān)聯(lián)的目標(biāo)g(行1)。若目標(biāo)g被手段-目的“或”分析,則采用局部優(yōu)先替換方式,使用優(yōu)先級最高的任務(wù)替換當(dāng)前失效任務(wù)(行2~7)。若目標(biāo)g被手段-目的“與”分析,且g非根目標(biāo),則向上遍歷g的父目標(biāo)gp(行8~11)。遍歷過程中,若目標(biāo)gp被目標(biāo)“或”分解,則通過分析gp生成其任務(wù)集集合,并將包含失效任務(wù)t的任務(wù)集從生成的任務(wù)集集合中刪除(行12~16)。采用高優(yōu)先級優(yōu)先替換方式,使用優(yōu)先級最高的任務(wù)集替換當(dāng)前失效任務(wù)集(行17~20)。如果目標(biāo)g被手段-目的“與”分解且為根目標(biāo),或g被手段-目的“與”分析且無被目標(biāo)“或”分解的祖先節(jié)點,則表示無可用于異常處理的等價任務(wù)或任務(wù)集(行21~22)。

        算法2 對任務(wù)t的異常處理

        輸入:當(dāng)前任務(wù)集currentTasks,失效任務(wù)t;

        輸出:異常處理結(jié)果;

        ExceptionHand(Task[] currentTasks,Task t){

        1 Goal g=Ends(t);

        2 if(or_means_end(g)){

        3 Task[] altTasks←Means(g){t};

        4 for(each ti∈altTasks){

        5 int[] pri←PriorityCompute(ti);}

        6 if(?tj∈altTask&&Priority(tj)==Max(pri))

        7 Alternate(t,tj);}}

        9 gp=Parent(g);

        11 gp=Parent(gp):}

        12 if(or_goal_decom(gp)){

        13 variants-ConfigGenerate(gp);

        14 for(each altTasks∈variants){

        15 if(t∈altTasks)

        16 variants=variantsaltTasks;}

        17 for(each altTasksi∈variants){

        18 int[]pri←PriorityCompute(altTasksi);}

        19 if(?altTasksj∈variants&&Priority(altTasksj)=Max(pri))

        20 Alternate(currentTasks,altTasksj);}

        21 else printf(“there is no alternative tasks!”);}

        22 else printf(“there is no alterative tasks!”;)}

        4 結(jié)語

        針對目前由需求模型驅(qū)動和體系結(jié)構(gòu)模型驅(qū)動的自適應(yīng)方法存在的不足,如未考慮軟件對異常事件的自適應(yīng)處理,模型復(fù)雜度較高導(dǎo)致策略模型難以被維護、擴展和重用等,提出了一種由目標(biāo)模型驅(qū)動的軟件運行時自適應(yīng)方法。該方法使軟件能夠通過分析目標(biāo)模型得到可應(yīng)對環(huán)境變化和異常事件的自適應(yīng)重配置策略,定義了必需滿足目標(biāo)、可行目標(biāo)、需求變體以及可選任務(wù)集的推理規(guī)則,并設(shè)計了基于上述規(guī)則的環(huán)境自適應(yīng)算法以及異常自適應(yīng)算法。

        [1] Souza V E S, Lapouchnian A, Mylopoulos J. System Identification for Adaptive Software Systems: A Requirements Engineering Perspective[C]//Proceedings of the 2011 International Conference on Conceptual Modeling, Berlin, German,2011:346-361.

        [2] Mei H, Huang G, Lan L, et al. A Software Architecture Centric Self-Adaptation Approach for Internetware[J]. Science in China,2008,51(6):722-742.

        [3] Mei H, Huang G, Zhao H, et al. A Software Architecture Centric Engineering Approach for Internetware[J]. Science in China Series F: Information Sciences,2006,49(6):702-730.

        [4] 毛新軍,董孟高,齊治昌,等.開放環(huán)境下自適應(yīng)軟件系統(tǒng)的運行機制與構(gòu)造技術(shù)[J].計算機學(xué)報,2015,38(9):1893-1906.

        [5] Horikoshi H, Nakagawa H, Tahara Y, et al. Dynamic Reconfiguration in Self-Adaptive Systems Considering Non-Functional Properties[C]//Proceedings of the 27th Annual ACM Symposium on Applied Computing, New York, USA,2012:1144-1150.

        [6] Kneer F, Kamsties E. Model-based Generation of a Requirements Monitor[C]//Proceedings of the 21st International Conference on Requirements Engineering: Foundation for Software Quality, Essen, Germany,2015:156-170.

        [7] Mizouni R, Matar M A, Mahmoud Z A, et al. A Framework for Context-Aware Self-Adaptive Mobile Applications SPL[J]. Expert Systems with Applications,2014,41(16):7549-7564.

        [8] Shaker P, Atlee J M, Wang Shige. A Feature-Oriented Requirements Modelling Language[C]//Proceedings of the 20th IEEE International Conference on Requirements Engineering, Chicago, USA,2012:151-160.

        [9] Mylopoulos J, Castro J, Kolp M. A Framework for Requirements-Driven Software Development[C]//Proceedings of the 13th International Conference on Advanced Information Systems Engineering, Interlaken, Switzerland,2001:108-123.

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

        Extended Tropos Goal Model Driven Software Adaptive Techniques

        WANG Xin

        (Bohai Shipbuilding Vocational College, Huludao 125001)

        Traditional model-driven adaptive techniques usually use design phase architecture model to direct software runtime adaption behavior, which leads to the high complexity of the adaptive policy model. Therefore, this paper uses the higher abstract level requirement phase goal model as a strategy model of the software adaption process, and proposes goal model-driven software adaptive method. Compared with the architecture model-driven method, the method can reduce the complexity of the strategy model, which is beneficial to the maintenance, extension and reuse of the adaptive strategy.

        model-driven adaption, architecture model, goal model

        TP311

        2016年9月9日,

        2016年10月29日

        王欣,女,碩士,研究方向:嵌入式系統(tǒng)。

        TP311

        10.3969/j.issn.1672-9730.2017.03.021

        猜你喜歡
        規(guī)則環(huán)境分析
        撐竿跳規(guī)則的制定
        長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        數(shù)獨的規(guī)則和演變
        隱蔽失效適航要求符合性驗證分析
        孕期遠(yuǎn)離容易致畸的環(huán)境
        環(huán)境
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        讓規(guī)則不規(guī)則
        Coco薇(2017年11期)2018-01-03 20:59:57
        TPP反腐敗規(guī)則對我國的啟示
        av网页免费在线观看| 日韩秘 无码一区二区三区| 成人综合久久精品色婷婷| 亚洲老妈激情一区二区三区 | 成人午夜特黄aaaaa片男男| 亚洲av成人综合网| 国产在线看不卡一区二区| 国产福利不卡视频在线| 国产精品无码素人福利不卡| 国产精品国产成人国产三级| 人妻无码人妻有码不卡| 中文字幕一区乱码在线观看| 日本动漫瀑乳h动漫啪啪免费| 国产70老熟女重口小伙子| 青青草综合在线观看视频| 色婷婷精品大在线视频| 一本色道久久88加勒比—综合| 日本乱子人伦在线视频| 亚洲无码vr| 在线天堂av一区二区| 国产福利精品一区二区| 人妻少妇精品无码专区二| 中文字幕人妻少妇精品| 亚洲中文字幕午夜精品| 国产成人无码一区二区三区在线| 69天堂国产在线精品观看| 在线不卡av一区二区| 日本成本人片免费网站| 亚洲男人天堂2019| 日韩av免费在线不卡一区| 久久精品一区午夜视频| 骚小妹影院| 加勒比日本东京热1区| 亚洲成人av大片在线观看| 久久久久人妻一区精品| 2021久久最新国产精品| 亚洲视一区二区三区四区| 色欲色香天天天综合vvv| 亚洲av无码久久寂寞少妇| 一区二区三区四区亚洲综合| 加勒比东京热中文字幕|