精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于架構分析與設計語言滿足嵌入式軟件系統的設計要求

電子設計 ? 來源:控制工程網 ? 作者:控制工程網 ? 2021-03-29 09:46 ? 次閱讀

在設計關鍵任務和實時性系統時,設計師必須滿足功能性要求和非功能性屬性,如性能(吞吐量和服務質量)、保護、可靠性、時間緊迫性、安全和容錯等,這些系統級特性具體取決于系統架構。隨著嵌入式軟件系統的硬件多樣性和復雜性的不斷提高,可以采用模型驅動的開發方法來滿足開發早期階段出現的系統集成問題。基于模型的設計方法的要點之一是要選擇合適的設計語言來描述具體平臺架構。

為了調整系統架構,設計語言必須支持多種分析方法以便進行跨領域的權衡,架構設計語言還必須支持開發過程中的增量分析以及用于系統評估的多級逼真度。這種增量特性允許架構規范在整個生命周期內都有效。

架構分析與設計語言(AADL)是一種可以滿足這些要求的可擴展的標準架構描述語言。AADL適合具有挑戰性資源約束(如尺寸、重量和功率)、嚴格實時要求和/或高性能保證等級的嵌入式系統使用,應用場合包括監控、航天、飛行管理、引擎和傳動系統控制、醫療設備、工業工藝控制設備和航空等。

AADL是在國際汽車工程師協會(SAE)的指導下開發的,已經于2004年11月被批準為工業標準AS5506。為了支持性能分析,AADL定義了時序語義(semantics);為了支持可靠性分析,它包含了一個誤差建模附錄,它是AS5506/1標準中所含的更大附錄集的一部分,它能為每個組件提供誤差模型表述。

與SysML和UML等其他建模語言相比,AADL為標準的軟硬件組件分類提供了強大的語義,這樣常用分析方法和良好定義的系統集成就可以根據這些規范實施。專門為嵌入式系統設計的這種語言可以通過用戶可定義屬性(獲得AADL編譯器驗證的屬性子語言支持)和用戶定義附錄進行擴展。附錄擴展經過標準化可供業界廣泛使用。另外,在操作模式幫助下AADL還能支持系統動態建模。

AADL支持基于標準XML/XMI定義的模型交換和工具鏈接。AADL具有標準元模型(meta-model)、圖形定義和文本語言屬性。AADL UML 2.0規范已經開發成功,并已經開始進入投票階段。ARINC 653架構的附錄也已開始制訂。有許多工具支持這種語言,其中有許多是開放源碼的工具。開源AADL工具集環境(OSATE)是很重要的一個工具,它基于Eclipse框架,包含文本、XML和圖形編輯器以及眾多分析工具。這些工具都是開源Eclipse插件,可以進行擴展。

1 監控系統設計

在本例中讓我們先看看用戶的要求:用戶想要安裝一套監控系統來監視遠離辦公室的三所房屋,在這些位置沒有現成的局域網,為了有效地阻止入侵者,檢測過程必須快速,最好在2秒鐘之內。這個延時標準是一種端到端的系統級性能要求。

一種解決方案是部署三個網絡攝像機對這些房子進行監視。攝像機通過無線方式將信息發送到辦公室的計算機。然而,無線通信的有限帶寬無法適應全部視頻流數據,因此我們需要在每個攝像機內嵌入一個視頻處理器來對數據流進行壓縮和預處理,但這樣做會影響到端到端的延時。我們必須評估不同的硬件選擇,例如視頻處理器和無線芯片。我們也想嘗試多種壓縮和入侵檢測算法,AADL能讓我們集中精力滿足系統性能要求,從而簡化這一過程。

下一步是定義架構。AADL圖形符號有助于實現這一過程,如圖1所示。值得注意的是,該模型不是任意設計的,而是具有明確定義的正式模型,即使是在較高抽象層次。

基于架構分析與設計語言滿足嵌入式軟件系統的設計要求

圖1:用于無線視頻監控系統的一種AADL環境框圖

系統構造可以對整個系統和核心子系統(視頻檢測系統)建模。AADL設備構造可以描述物理組件,如視頻攝像機和顯示器,因為這些組件不需要捆綁應用軟件。我們使用端口組和連接來模擬不同組件之間的通信。攝像機發送的數據流需要穿過視頻檢測系統。

圖2:用于無線視頻監控系統的初始AADL模型

AADL通過利用層次化結構可以用不同的詳細程度描述系統。圖2顯示了高層次的監控應用內容。在架構建立完成后,我們必須詳細地定義不同的組件。在介紹詳細設計之前,讓我們先了解一下AADL中的基本單元,軟件單元包括進程、線程、線程組、數據和子程序。它們分別定義為:

進程:受保護的地址空間

線程:一個并行執行單位

線程組:用于組織線程的復合單元

數據:數據類型和靜態數據

子程序:可調用的連續可執行代碼

在圖2中,我們使用軟件組件進程、數據、線程和系統組件對視頻檢測系統的邏輯進行建模。注意,這種模型只是比圖1所示的內容向前邁出了一小步。

硬件組件(也稱為平臺種類)包括了處理器、存儲器、總線和器件。在圖3中(在AADL結構下方)你可以看到硬件組件的AADL標準圖形描述,它們描述了系統的物理特性。在監控系統模型中,硬件平臺由CPU(處理器)、存儲器和總線確定。

圖3:帶有硬件和軟件的AADL系統

組件抽象包括特性、屬性和模式:特性定義了接口或輸出組件功能;屬性描述了特征和組件行為;模式描述了動態組件重配置。

2 組件之間的交互作用

在定義好組件后,我們需要確定它們之間的關系,AADL本身就支持這一過程。組件交互使用端口(數據和事件輸入輸出端口)、端口組、子組件(subcomponent)訪問、子程序調用、數據交換和共享。它們定義了功能接口和組件之間的通信。在圖2中,我們使用數據端口來描述系統與器件之間的交互。

AADL的一個關鍵特性是能對數據建模和流控制。流定義了通過多個組件和連接的順序數據或事件。在本例中,我們為三臺視頻攝像機規定了三種視頻流:video_flow1, video_flow2和video_flow3。這些視頻流代表了從攝像機到顯示器的端到端流動。

我們定義這些流是因為它們在位置上分開的。流規范的目標是支持端到端分析,例如端到端時序和延時,誤碼傳播以及服務質量資源管理等。流的屬性定義了性能特點,例如,在監控系統中,特殊流屬性一般都會有最大的延時。我們需要檢查實際實現情況來確定是否達到設計目標。對于這個系統中的每個端到端的流來講,都有一個屬性被定義為“期望延時等于200ms”。

AADL的一個強大特征是能夠針對目標系統同時對硬件和軟件建模,這有助于工程師規定和評估完整系統的交互效應。在本例中,視頻攝像機、無線收發器和處理器的選擇將直接影響端到端的延時。

3 完整的系統模型

圖3給出了無線監控系統軟硬件的AADL設計,系統利用無線設備提供的無線網絡與攝像機通信。處理器按調度屬性執行軟件組件,并限定存儲的存儲器。協議反應總線的屬性,并一直反饋到分析工具。可以定義像PCI或VME等不同的總線類型,包括這些標準的協議和性能特性。我們還可以定義定制無線鏈路,使它對CSMA/CA無線鏈路的特性建模。

因為我們使用時序語義和流程規范描述了關鍵性能特點之一,因此我們可以評估系統級性能。還可以逐漸增加其他結構細節或屬性,以擴充我們定義關鍵內容時的分析形式。我們還能在所有開發階段實施評估,包括早期結構權衡分析,開發階段的系統修改和調整,評估現有架構變化帶來的影響,以及根據性能模型的自動集成。這樣我們就能使用基于組件的結構規范進行評估,并對每個可能的變化進行權衡。我們可以試驗硬件和軟件組件、通信模型、調度、誤差建模、模式動態特性等,并進行結果整合。該語言還可擴展以集成其他建模和分析功能。

4 工具支持

許多工具支持AADL架構設計和分析。開源AADL工具環境(OSATE)是在開源Eclipse平臺之上的一套插件,它提供了一個集成的開發環境用于AADL模型編輯、編譯和前端分析。另外,它還包括了使用TOPCASED插件的AADL符號圖形編輯器。目前已經開發成功多個分析插件用于執行各種架構的一致性檢查、流程和可靠性分析、數據質量和安全分析以及資源調度。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5071

    文章

    19026

    瀏覽量

    303507
  • 視頻監控
    +關注

    關注

    17

    文章

    1709

    瀏覽量

    64915
  • 無線
    +關注

    關注

    31

    文章

    5437

    瀏覽量

    173103
收藏 人收藏

    評論

    相關推薦

    誠聘嵌入式軟件架構

    ,本科以上學歷;2、三年以上嵌入式軟件系統架構設計經驗,同時有通信行業軟件開發經驗;3、精通C/C++
    發表于 03-01 10:20

    解析嵌入式軟件開發語言嵌入式C編程

    不一樣的,生成的可執行程序也是不一樣的。不同于一般形式的軟件編程,基于特定的硬件平臺嵌入式系統編程的,勢必要求其編程語言具備較強的硬件直接操
    發表于 10-09 09:21

    解析嵌入式軟件開發語言嵌入式C編程

    不一樣的,生成的可執行程序也是不一樣的。不同于一般形式的軟件編程,基于特定的硬件平臺嵌入式系統編程的,勢必要求其編程語言具備較強的硬件直接操
    發表于 10-18 10:09

    嵌入式系統軟件架構設計!

    設計由于不能滿足性能要求,最終導致整個項目的失敗。2.4.1. 抵御新技術的誘惑架構師必須明白,新技術常常意味著復雜和更低的性能。即使這不是絕對的,由于嵌入式
    發表于 08-10 07:46

    嵌入式系統有哪些應用

    經過這些年的發展,嵌入式的功能不斷強大,嵌入式的應用領域也更為寬泛,嵌入式在當前主要是指為了各種具體應用功能的實現,按照基本計算機技術,在硬件方面和軟件方面均可裁剪,不斷適應各種應用
    發表于 10-27 06:19

    決定嵌入式系統軟件架構的因素和架構的影響

    嵌入式系統軟件架構設計目錄1.前言42.決定架構的因素和架構的影響42.1.常見的誤解52.1.1.小型的
    發表于 11-08 06:54

    基于ARM的嵌入式系統與C語言編程的結合

    基于ARM的嵌入式系統與C語言編程的結合是無操作系統支持的嵌入式系統應用邊界擴展的體現。本文從介
    發表于 12-14 08:49

    嵌入式系統軟件及編程語言

    嵌入式系統軟件及編程語言 1、引言:  隨著計算機技術和微電子技術的迅速發展,嵌入式系統應用領域越來越廣泛。當今,
    發表于 01-15 10:24 ?763次閱讀

    嵌入式軟件架構設計

    嵌入式軟件架構的設計,幫助我們建立合理,有效的軟件架構
    發表于 11-09 17:34 ?19次下載

    實時多任務嵌入式軟件架構方式的設計應用

    分享到:標簽:軟總線 嵌入式軟件 實時多任務 1.引言 隨著大型嵌入式系統向著集成化和多元化方向的發展,嵌入式
    發表于 10-25 14:46 ?1次下載
    實時多任務<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的<b class='flag-5'>架構</b>方式的設計應用

    基于仿真的嵌入式C語言軟件覆蓋測試分析

    隨著嵌入式系統的廣泛應用,人們對嵌入式系統軟件的質量提出了更高的要求,而作為保證軟件質量最有效手
    發表于 11-01 11:46 ?0次下載
    基于仿真的<b class='flag-5'>嵌入式</b>C<b class='flag-5'>語言</b><b class='flag-5'>軟件</b>覆蓋測試<b class='flag-5'>分析</b>

    嵌入式開發語言有哪些_最全面嵌入式開發語言概述

    嵌入式開發語言有哪些?嵌入式開發的入門門檻還是比較高的,不僅要懂較底層軟件,對軟件專業水平要求
    發表于 01-29 14:47 ?9783次閱讀
    <b class='flag-5'>嵌入式</b>開發<b class='flag-5'>語言</b>有哪些_最全面<b class='flag-5'>嵌入式</b>開發<b class='flag-5'>語言</b>概述

    嵌入式軟件架構

    嵌入式軟件架構
    發表于 10-20 20:51 ?20次下載
    <b class='flag-5'>嵌入式</b>系<b class='flag-5'>軟件</b><b class='flag-5'>架構</b>

    嵌入式系統軟件架構設計

    嵌入式系統軟件架構設計目錄1.前言42.決定架構的因素和架構的影響42.1.常見的誤解52.1.1.小型的
    發表于 11-03 18:21 ?30次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統軟件</b><b class='flag-5'>架構</b>設計

    詳解FreeRTOS:嵌入式軟件系統架構

    目前常見的嵌入式軟件系統架構有三種可以分為:輪詢系統架構、前后臺
    的頭像 發表于 05-04 16:40 ?2433次閱讀
    詳解FreeRTOS:<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b><b class='flag-5'>系統</b><b class='flag-5'>架構</b>