-
自適應能力
鎖定
- 中文名
- 自適應能力
- 外文名
- adaptive ability
- 分 類
- 軟件
自適應能力綜合方法
從工程應用的可靠性出發,提出一種具有自適應能力的結構綜合方法(簡稱ASSM算法)及保證其實施的一系列技術途徑,通過各種典型算例的考核計算,表明ASSM算法具有很高的計算效率及良好的適應能力,即使對於較複雜的算例,也僅需5~6次結構分析即可達到或接近優化設計,顯示了自適應方法的優勢。
[1]
結構綜合中的自適應問題
R.L.Lust和S.L.Schmit對於樑架結構最小重量設計的研究表明,用單一的近似模式或固定的求解方法難以適應各類不同形式的問題,而選擇最佳的近似模式或求解算法,則需要數值計算的經驗和專家知識;B.Prasad認為近似概念的有效性還不足以完全解決大型結構系統的優化設計問題,並提出近似、自適應、自動三概念,J.S.Arora等提出應用人工智能組織整個優化過程等等。
自適應結構綜合流程要求算法能自我完善,即能夠從所計算的數據中吸取經驗、改變判定、修改設計法則,以適應各種不同的算題。程序的智能性部分上要通過反饋機制實現,它包括相互關連的三個部分:過程數據管理;吸取經驗;改變判定。提出的含自適應能力的結構綜和方法(簡稱ASSM算法) 就是根據這個原理設計的。
[1]
數值計算
根據理論及技術途徑,用FORTRAN77語言編制了ASSM計算程序(暫且考慮具有應力、位移、幾何尺寸約束及由等軸力杆、準梯形剪切板、常應變三角元、對稱腹板元構成的各種結構綜合問題 ),為全面考核算法的計算效率及自適應能力,選取了平面桁架、空間桁架、薄壁結構、三角機翼等10餘個典型例題進行計算分析。計算結果表明ASSM算法在各個算例中收斂迅速,具有良好的適應能力,即使對於較複雜的算例也僅需5~6次調整即可達到或接近優化設計,顯示了自適應結構綜合方法的優勢。同時通過對殲某某型機身普通框及機身框段(含1132個設計變量、具有7000餘個約束條件) 等工程結構的實例計算,表明算法對於大型結構綜合問題同樣具有十分滿意的計算能力。
[1]
自適應能力構造軟件
隨着應用場景的變遷和自身複雜性的增長,軟件需要具備主動適應環境變化的能力,能夠依據環境變化動態調整其行為。軟件自適應的實現技術跨越了軟件監控、上下文敏感計算、決策和控制理論、軟件演化和維護等多個學科分支,如何系統化地構造此類軟件,是軟件工程領域所面臨的巨大挑戰。從自適應軟件構造與實現這一角度出發,以“感知-決策-執行”軟件自適應基本週期為主線,對已有的研究和實踐進行綜述。給出軟件自適應的概念內涵,概述軟件自適應活動在感知、決策、執行各環節上的特徵分類,闡述面向自適應軟件構造、關注程度較高的一系列使能技術,進而在分析典型研究項目現狀的基礎上,給出自適應軟件構造領域的未來主要研究趨勢。
[2]
軟件自適應活動分類
在決策環節,可以從自主程度、決策模塊可擴展性、決策能力獨立性、模型維護、組織方式等角度對軟件自適應活動進行分類。
在自主程度方面,需要回答的問題是軟件適應過程具有何種程度的自主性。提出了軟件自主能力成熟度的5個分級,並且認為完全自主才是理想的,但在當前的技術條件下,這一目標顯然不現實。只有在人或多或少干預軟件適應過程的前提下,才能構造出具有實用價值的自適應軟件。依據人蔘與的程度,將軟件決策能力由低到高分為:
(1) 由人做出決策,此類軟件通常被稱為可適應軟件(adaptable software)而非自適應軟件(adaptivesoftware);
(2) 人預先指定動作策略,即明確的、形如“何時幹什麼”的策略,軟件在運行時根據策略進行決策,最常見的策略形式是If-Then和ECA(event-condition-action)形式;
(3) 人預先指定效用(utility)策略,即指定各種場景下的收益,軟件據此進行實時規劃,進行決策;
(4) 人在某個層面上指定目標(goal)策略,如何達到這一目標,由軟件基於其知識和內建的學習、規劃等算法來決定。
第(2)種和第(3)種是當前軟件自適應研究和實踐中採用較多的方法。
在決策能力的可擴展性方面,提出了開放/封閉適應性的概念:前者是指軟件在運行時可以引入新的自適應動作,從而應對開發階段未預期的變化;後者是指軟件的自適應能力在開發階段即已確定。在開放適應性中,自適應能力(可細分為感知、決策、執行等能力)既可以由第三方來動態擴展,也可以是軟件通過某些學習算法動態獲得的。例如,僅僅預期了鏈路故障的情況,而實際運行時,若能通過動態加載新的策略來考慮線路帶寬差異,則自適應通信中間件的自適應決策能力是可擴展的。
[2]
自適應能力軟件
Auxo是以體系結構為中心、支持自適應軟件開發和運行的應用程序框架,其特點在於不僅能夠實現自適應,也可以支持第三方(如運維人員)對“感知-決策-執行”軟件自適應基本週期的靈活在線調整,從而在線擴展其自適應能力。Auxo框架由兩部分組成:Auxo體系結構風格和Auxo運行基礎設施。前者定義一系列用於支持Auxo軟件開發的體系結構元素,包括感知構件、行為構件、策略連接子、約束等,其特點在於不僅可以封裝業務邏輯,也能夠將自適應週期各個環節封裝為體系結構元素;後者維護了一個與實際系統因果關聯的運行時體系結構模型,一方面可以基於該模型實現自適應,另一方面,由於基本週期各環節均已被封裝為體系結構元素,因此第三方可以在必要時通過在線修改體系結構來擴展軟件的自適應能力。
Fractal是一種支持反射的構件模型。Fractal構件由內容(content)和表層(membrane)兩部分組成:前者實現業務邏輯,對外提供功能接口;後者對內容進行封裝和管理,實現構件暫停、產生檢查點和恢復運行等控制接口。控制接口的存在,使得構件的行為和內部結構可以在運行時自省和調整,從而允許Fractal應用的體系結構被動態訪問和修改。SAFRAN(self-adaptive FRActalcompoNents)是對Fractal構件模型的擴展,它使用Fractal構件來構造業務邏輯,使用領域相關語言(domain specific language,簡稱DSL)來表達自適應邏輯。自適應邏輯通過動態AOP技術織入到Fractal構件中,使得基於Fractal構件的應用具備自適應能力。