0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于架構(gòu)分析與設(shè)計語言滿足嵌入式軟件系統(tǒng)的設(shè)計要求

電子設(shè)計 ? 來源:控制工程網(wǎng) ? 作者:控制工程網(wǎng) ? 2021-03-29 09:46 ? 次閱讀

在設(shè)計關(guān)鍵任務(wù)和實(shí)時性系統(tǒng)時,設(shè)計師必須滿足功能性要求和非功能性屬性,如性能(吞吐量和服務(wù)質(zhì)量)、保護(hù)、可靠性、時間緊迫性、安全和容錯等,這些系統(tǒng)級特性具體取決于系統(tǒng)架構(gòu)。隨著嵌入式軟件系統(tǒng)的硬件多樣性和復(fù)雜性的不斷提高,可以采用模型驅(qū)動的開發(fā)方法來滿足開發(fā)早期階段出現(xiàn)的系統(tǒng)集成問題?;谀P偷脑O(shè)計方法的要點(diǎn)之一是要選擇合適的設(shè)計語言來描述具體平臺架構(gòu)。

為了調(diào)整系統(tǒng)架構(gòu),設(shè)計語言必須支持多種分析方法以便進(jìn)行跨領(lǐng)域的權(quán)衡,架構(gòu)設(shè)計語言還必須支持開發(fā)過程中的增量分析以及用于系統(tǒng)評估的多級逼真度。這種增量特性允許架構(gòu)規(guī)范在整個生命周期內(nèi)都有效。

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

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

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

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

1 監(jiān)控系統(tǒng)設(shè)計

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

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

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

基于架構(gòu)分析與設(shè)計語言滿足嵌入式軟件系統(tǒng)的設(shè)計要求

圖1:用于無線視頻監(jiān)控系統(tǒng)的一種AADL環(huán)境框圖

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

圖2:用于無線視頻監(jiān)控系統(tǒng)的初始AADL模型

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

進(jìn)程:受保護(hù)的地址空間

線程:一個并行執(zhí)行單位

線程組:用于組織線程的復(fù)合單元

數(shù)據(jù):數(shù)據(jù)類型和靜態(tài)數(shù)據(jù)

子程序:可調(diào)用的連續(xù)可執(zhí)行代碼

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

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

圖3:帶有硬件和軟件的AADL系統(tǒng)

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

2 組件之間的交互作用

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

AADL的一個關(guān)鍵特性是能對數(shù)據(jù)建模和流控制。流定義了通過多個組件和連接的順序數(shù)據(jù)或事件。在本例中,我們?yōu)槿_視頻攝像機(jī)規(guī)定了三種視頻流:video_flow1, video_flow2和video_flow3。這些視頻流代表了從攝像機(jī)到顯示器的端到端流動。

我們定義這些流是因為它們在位置上分開的。流規(guī)范的目標(biāo)是支持端到端分析,例如端到端時序和延時,誤碼傳播以及服務(wù)質(zhì)量資源管理等。流的屬性定義了性能特點(diǎn),例如,在監(jiān)控系統(tǒng)中,特殊流屬性一般都會有最大的延時。我們需要檢查實(shí)際實(shí)現(xiàn)情況來確定是否達(dá)到設(shè)計目標(biāo)。對于這個系統(tǒng)中的每個端到端的流來講,都有一個屬性被定義為“期望延時等于200ms”。

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

3 完整的系統(tǒng)模型

圖3給出了無線監(jiān)控系統(tǒng)軟硬件的AADL設(shè)計,系統(tǒng)利用無線設(shè)備提供的無線網(wǎng)絡(luò)與攝像機(jī)通信。處理器按調(diào)度屬性執(zhí)行軟件組件,并限定存儲的存儲器。協(xié)議反應(yīng)總線的屬性,并一直反饋到分析工具??梢远x像PCI或VME等不同的總線類型,包括這些標(biāo)準(zhǔn)的協(xié)議和性能特性。我們還可以定義定制無線鏈路,使它對CSMA/CA無線鏈路的特性建模。

因為我們使用時序語義和流程規(guī)范描述了關(guān)鍵性能特點(diǎn)之一,因此我們可以評估系統(tǒng)級性能。還可以逐漸增加其他結(jié)構(gòu)細(xì)節(jié)或?qū)傩?,以擴(kuò)充我們定義關(guān)鍵內(nèi)容時的分析形式。我們還能在所有開發(fā)階段實(shí)施評估,包括早期結(jié)構(gòu)權(quán)衡分析,開發(fā)階段的系統(tǒng)修改和調(diào)整,評估現(xiàn)有架構(gòu)變化帶來的影響,以及根據(jù)性能模型的自動集成。這樣我們就能使用基于組件的結(jié)構(gòu)規(guī)范進(jìn)行評估,并對每個可能的變化進(jìn)行權(quán)衡。我們可以試驗硬件和軟件組件、通信模型、調(diào)度、誤差建模、模式動態(tài)特性等,并進(jìn)行結(jié)果整合。該語言還可擴(kuò)展以集成其他建模和分析功能。

4 工具支持

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18974

    瀏覽量

    302065
  • 視頻監(jiān)控
    +關(guān)注

    關(guān)注

    17

    文章

    1706

    瀏覽量

    64875
  • 無線
    +關(guān)注

    關(guān)注

    31

    文章

    5417

    瀏覽量

    172974
收藏 人收藏

    評論

    相關(guān)推薦

    誠聘嵌入式軟件架構(gòu)

    ,本科以上學(xué)歷;2、三年以上嵌入式軟件系統(tǒng)架構(gòu)設(shè)計經(jīng)驗,同時有通信行業(yè)軟件開發(fā)經(jīng)驗;3、精通C/C++
    發(fā)表于 03-01 10:20

    解析嵌入式軟件開發(fā)語言嵌入式C編程

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

    解析嵌入式軟件開發(fā)語言嵌入式C編程

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

    嵌入式系統(tǒng)軟件架構(gòu)設(shè)計!

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

    嵌入式系統(tǒng)有哪些應(yīng)用

    經(jīng)過這些年的發(fā)展,嵌入式的功能不斷強(qiáng)大,嵌入式的應(yīng)用領(lǐng)域也更為寬泛,嵌入式在當(dāng)前主要是指為了各種具體應(yīng)用功能的實(shí)現(xiàn),按照基本計算機(jī)技術(shù),在硬件方面和軟件方面均可裁剪,不斷適應(yīng)各種應(yīng)用
    發(fā)表于 10-27 06:19

    決定嵌入式系統(tǒng)軟件架構(gòu)的因素和架構(gòu)的影響

    嵌入式系統(tǒng)軟件架構(gòu)設(shè)計目錄1.前言42.決定架構(gòu)的因素和架構(gòu)的影響42.1.常見的誤解52.1.1.小型的
    發(fā)表于 11-08 06:54

    基于ARM的嵌入式系統(tǒng)與C語言編程的結(jié)合

    基于ARM的嵌入式系統(tǒng)與C語言編程的結(jié)合是無操作系統(tǒng)支持的嵌入式系統(tǒng)應(yīng)用邊界擴(kuò)展的體現(xiàn)。本文從介
    發(fā)表于 12-14 08:49

    嵌入式系統(tǒng)軟件及編程語言

    嵌入式系統(tǒng)軟件及編程語言 1、引言:  隨著計算機(jī)技術(shù)和微電子技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)應(yīng)用領(lǐng)域越來越廣泛。當(dāng)今,
    發(fā)表于 01-15 10:24 ?761次閱讀

    嵌入式軟件架構(gòu)設(shè)計

    嵌入式軟件架構(gòu)的設(shè)計,幫助我們建立合理,有效的軟件架構(gòu)
    發(fā)表于 11-09 17:34 ?19次下載

    實(shí)時多任務(wù)嵌入式軟件架構(gòu)方式的設(shè)計應(yīng)用

    分享到:標(biāo)簽:軟總線 嵌入式軟件 實(shí)時多任務(wù) 1.引言 隨著大型嵌入式系統(tǒng)向著集成化和多元化方向的發(fā)展,嵌入式
    發(fā)表于 10-25 14:46 ?1次下載
    實(shí)時多任務(wù)<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的<b class='flag-5'>架構(gòu)</b>方式的設(shè)計應(yīng)用

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

    隨著嵌入式系統(tǒng)的廣泛應(yīng)用,人們對嵌入式系統(tǒng)軟件的質(zhì)量提出了更高的要求,而作為保證軟件質(zhì)量最有效手
    發(fā)表于 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>

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

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

    嵌入式軟件架構(gòu)

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

    嵌入式系統(tǒng)軟件架構(gòu)設(shè)計

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

    詳解FreeRTOS:嵌入式軟件系統(tǒng)架構(gòu)

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