自適應能力

自適應能力

自適應能力一般是指系統按照環境的變化,調整其自身使得其行為在新的或者已經改變了的環境下達到最好的或者至少是容許的特性和功能所具有的能力。

基本介紹

  • 中文名:自適應能力
  • 外文名:adaptive ability
  • 分類:軟體
綜合方法,構造軟體,

綜合方法

從工程套用的可靠性出發,提出一種具有自適應能力的結構綜合方法(簡稱ASSM算法)及保證其實施的一系列技術途徑,通過各種典型算例的考核計算,表明ASSM算法具有很高的計算效率及良好的適應能力,即使對於較複雜的算例,也僅需5~6次結構分析即可達到或接近最佳化設計,顯示了自適應方法的優勢。
結構綜合中的自適應問題
R.L.Lust和S.L.Schmit對於梁架結構最小重量設計的研究表明,用單一的近似模式或固定的求解方法難以適應各類不同形式的問題,而選擇最佳的近似模式或求解算法,則需要數值計算的經驗和專家知識;B.Prasad認為近似概念的有效性還不足以完全解決大型結構系統的最佳化設計問題,並提出近似、自適應、自動三概念,J.S.Arora等提出套用人工智慧組織整個最佳化過程等等。
自適應結構綜合流程要求算法能自我完善,即能夠從所計算的數據中吸取經驗、改變判定、修改設計法則,以適應各種不同的算題。程式的智慧型性部分上要通過反饋機制實現,它包括相互關連的三個部分:過程數據管理;吸取經驗;改變判定。提出的含自適應能力的結構綜和方法(簡稱ASSM算法) 就是根據這個原理設計的。
數值計算
根據理論及技術途徑,用FORTRAN77語言編制了ASSM計算程式(暫且考慮具有應力、位移、幾何尺寸約束及由等軸力桿、準梯形剪下板、常應變三角元、對稱腹板元構成的各種結構綜合問題 ),為全面考核算法的計算效率及自適應能力,選取了平面桁架、空間桁架、薄壁結構、三角機翼等10餘個典型例題進行計算分析。計算結果表明ASSM算法在各個算例中收斂迅速,具有良好的適應能力,即使對於較複雜的算例也僅需5~6次調整即可達到或接近最佳化設計,顯示了自適應結構綜合方法的優勢。同時通過對殲某某型機身普通框及機身框段(含1132個設計變數、具有7000餘個約束條件) 等工程結構的實例計算,表明算法對於大型結構綜合問題同樣具有十分滿意的計算能力。

構造軟體

隨著套用場景的變遷和自身複雜性的增長,軟體需要具備主動適應環境變化的能力,能夠依據環境變化動態調整其行為。軟體自適應的實現技術跨越了軟體監控、上下文敏感計算、決策和控制理論、軟體演化和維護等多個學科分支,如何系統化地構造此類軟體,是軟體工程領域所面臨的巨大挑戰。從自適應軟體構造與實現這一角度出發,以“感知-決策-執行”軟體自適應基本周期為主線,對已有的研究和實踐進行綜述。給出軟體自適應的概念內涵,概述軟體自適應活動在感知、決策、執行各環節上的特徵分類,闡述面向自適應軟體構造、關注程度較高的一系列使能技術,進而在分析典型研究項目現狀的基礎上,給出自適應軟體構造領域的未來主要研究趨勢。
軟體自適應活動分類
在決策環節,可以從自主程度、決策模組可擴展性、決策能力獨立性、模型維護、組織方式等角度對軟體自適應活動進行分類。
在自主程度方面,需要回答的問題是軟體適應過程具有何種程度的自主性。提出了軟體自主能力成熟度的5個分級,並且認為完全自主才是理想的,但在當前的技術條件下,這一目標顯然不現實。只有在人或多或少干預軟體適應過程的前提下,才能構造出具有實用價值的自適應軟體。依據人參與的程度,將軟體決策能力由低到高分為:
(1) 由人做出決策,此類軟體通常被稱為可適應軟體(adaptable software)而非自適應軟體(adaptivesoftware);
(2) 人預先指定動作策略,即明確的、形如“何時乾什麼”的策略,軟體在運行時根據策略進行決策,最常見的策略形式是If-Then和ECA(event-condition-action)形式;
(3) 人預先指定效用(utility)策略,即指定各種場景下的收益,軟體據此進行實時規劃,進行決策;
(4) 人在某個層面上指定目標(goal)策略,如何達到這一目標,由軟體基於其知識和內建的學習、規劃等算法來決定。
第(2)種和第(3)種是當前軟體自適應研究和實踐中採用較多的方法。
在決策能力的可擴展性方面,提出了開放/封閉適應性的概念:前者是指軟體在運行時可以引入新的自適應動作,從而應對開發階段未預期的變化;後者是指軟體的自適應能力在開發階段即已確定。在開放適應性中,自適應能力(可細分為感知、決策、執行等能力)既可以由第三方來動態擴展,也可以是軟體通過某些學習算法動態獲得的。例如,僅僅預期了鏈路故障的情況,而實際運行時,若能通過動態載入新的策略來考慮線路頻寬差異,則自適應通信中間件的自適應決策能力是可擴展的。
自適應能力軟體
Auxo是以體系結構為中心、支持自適應軟體開發和運行的應用程式框架,其特點在於不僅能夠實現自適應,也可以支持第三方(如運維人員)對“感知-決策-執行”軟體自適應基本周期的靈活線上調整,從而線上擴展其自適應能力。Auxo框架由兩部分組成:Auxo體系結構風格和Auxo運行基礎設施。前者定義一系列用於支持Auxo軟體開發的體系結構元素,包括感知構件、行為構件、策略連線子、約束等,其特點在於不僅可以封裝業務邏輯,也能夠將自適應周期各個環節封裝為體系結構元素;後者維護了一個與實際系統因果關聯的運行時體系結構模型,一方面可以基於該模型實現自適應,另一方面,由於基本周期各環節均已被封裝為體系結構元素,因此第三方可以在必要時通過線上修改體系結構來擴展軟體的自適應能力。
Fractal是一種支持反射的構件模型。Fractal構件由內容(content)和表層(membrane)兩部分組成:前者實現業務邏輯,對外提供功能接口;後者對內容進行封裝和管理,實現構件暫停、產生檢查點和恢復運行等控制接口。控制接口的存在,使得構件的行為和內部結構可以在運行時自省和調整,從而允許Fractal套用的體系結構被動態訪問和修改。SAFRAN(self-adaptive FRActalcompoNents)是對Fractal構件模型的擴展,它使用Fractal構件來構造業務邏輯,使用領域相關語言(domain specific language,簡稱DSL)來表達自適應邏輯。自適應邏輯通過動態AOP技術織入到Fractal構件中,使得基於Fractal構件的套用具備自適應能力。
Accord是以異構、動態和開放格線計算環境為背景的構件編程模型和框架,以支持自主構件和由這些構件所動態組裝而成的分散式套用。套用的自適應能力主要體現於構件可以依據預定義的高層規則管理自身的行為和互動。每一個Accord自主構件內建規則Agent,可以解釋和執行預定義的規則,實現構件的自主管理。自主構件同時也對外暴露控制連線埠,包含對構件狀態進行感知的感測器、對構件狀態進行修改的效應器等。外部實體可以通過該連線埠對構件和構件化系統進行運行時調整,例如,通過專門的組裝Agent來實施的構件增刪替換等。

相關詞條

熱門詞條

聯絡我們