• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于AADL的航空電子系統(tǒng)的建模研究*

      2013-11-23 04:18:28
      艦船電子工程 2013年4期
      關(guān)鍵詞:代碼生成設(shè)計(jì)模式線程

      (1.陜西工業(yè)職業(yè)技術(shù)學(xué)院 咸陽(yáng) 712000)(2.中航工業(yè)西安飛行自動(dòng)控制研究所 西安 710075)

      1 引言

      安全關(guān)鍵系統(tǒng)的模型驅(qū)動(dòng)開發(fā)過(guò)程中,怎樣提高模型對(duì)實(shí)時(shí)嵌入式系統(tǒng)非功能需求的表達(dá)能力,怎樣在早期設(shè)計(jì)過(guò)程中對(duì)系統(tǒng)進(jìn)行分析與驗(yàn)證,怎樣正確的生成代碼一直是研究熱點(diǎn)。體系結(jié)構(gòu)分析與設(shè)計(jì)語(yǔ)言AADL 是在這種背景下產(chǎn)生的,能夠描述ERTS的非功能屬性,支持靜態(tài)、動(dòng)態(tài)結(jié)構(gòu)的協(xié)同建模,支持軟件、硬件的協(xié)同建模,并且可以針對(duì)特定領(lǐng)域進(jìn)行擴(kuò)展。而AADL 具有語(yǔ)法簡(jiǎn)單、功能強(qiáng)大、可擴(kuò)展的優(yōu)點(diǎn),使基于AADL 的模型驅(qū)動(dòng)過(guò)程得到了學(xué)術(shù)界和工業(yè)界的廣泛研究和應(yīng)用。

      2 AADL建模方法的研究

      AADL 是嵌入式實(shí)時(shí)系統(tǒng)領(lǐng)域的體系結(jié)構(gòu)設(shè)計(jì)與分析標(biāo)準(zhǔn)[1],而MDD 正在成為主流的開發(fā)過(guò)程。提出AADL與MDD 結(jié)合,能夠使AADL 得到更廣泛的使用。MDD 定義了三個(gè)層次的抽象:平臺(tái)獨(dú)立模型(platform independent model,簡(jiǎn)稱PIM)、平臺(tái)特定模型(platform specific model,簡(jiǎn)稱PSM)以及應(yīng)用代碼。PIM 是模型驅(qū)動(dòng)設(shè)計(jì)的初始抽象模型,是設(shè)計(jì)過(guò)程中最為重要的環(huán)節(jié)之一。因此,AADL建模方法的研究主要涉及AADL PIM 的構(gòu)造。我們歸納為三類:

      2.1 從需求模型到AADL 模型的轉(zhuǎn)換

      由于UML,SysML,xUML (executable UML)[2],HOOD 等描述語(yǔ)言已經(jīng)廣泛應(yīng)用于需求的描述,因此結(jié)合這些描述語(yǔ)言的優(yōu)勢(shì)是必要的,從需求模型到AADL 模型的轉(zhuǎn)換就成為重要的研究?jī)?nèi)容。Feiler 提出將xUML 和AADL 集成到統(tǒng)一的模型驅(qū)動(dòng)開發(fā)過(guò)程,通過(guò)一些經(jīng)驗(yàn)規(guī)則來(lái)完成需求模型到AADL 模型的轉(zhuǎn)換[4],其中xUML 對(duì)UML 增加了更精確的執(zhí)行語(yǔ)義。

      2.2 AADL 常用于構(gòu)造系統(tǒng)的PSM 模型

      因?yàn)锳ADL 能夠同時(shí)描述系統(tǒng)的軟、硬件體系結(jié)構(gòu),兩者映射即可構(gòu)成PSM 模型。同時(shí),也可以采用AADL 單獨(dú)建立系統(tǒng)的軟件體系結(jié)構(gòu)模型,作為AADL PIM 模型。

      2.3 采用AADL 與UML 結(jié)合的方式

      基于AADL UML Profile Annex,將AADL 原型(stereotype)標(biāo)注在UML 模型上,作為AADL PIM 模型。如構(gòu)件用UML 類圖表示,并標(biāo)注AADL 構(gòu)件類型。

      3 AADL模型轉(zhuǎn)換

      模型轉(zhuǎn)換是MDD 的核心,同時(shí)也是AADL 模型驗(yàn)證與分析的重要基礎(chǔ)。根據(jù)嵌入式實(shí)時(shí)系統(tǒng)的需求,給出了基于AADL 的模型驅(qū)動(dòng)開發(fā)過(guò)程[6]:

      1)獲得AADL PIM 模型,如基于AADL UML Profile Annex,將AADL 原型(stereotype)標(biāo)注在UML 模型上,作為AADL PIM;

      2)利用功能轉(zhuǎn)換規(guī)則,轉(zhuǎn)換成AADL PSM;

      3)利用非功能轉(zhuǎn)換規(guī)則,將PSM 轉(zhuǎn)換成AADL 分析模型,進(jìn)行可調(diào)度、性能等分析;

      4)基于正確的AADL 模型轉(zhuǎn)成可執(zhí)行代碼。

      4 基于AADL模型的自動(dòng)代碼生成

      自動(dòng)代碼生成主要研究從AADL 模型到可執(zhí)行代碼的生成規(guī)則、方法和工具。其優(yōu)點(diǎn)在于減少由手動(dòng)編程所帶來(lái)的錯(cuò)誤,保證系統(tǒng)質(zhì)量屬性以及降低系統(tǒng)開發(fā)時(shí)間[7]。目前基于AADL 模型可以生成的程序語(yǔ)言有Ada,C,C++,Java-RTSJ(real time specification for Java)等。同時(shí)針對(duì)分布式嵌入式實(shí)時(shí)系統(tǒng),可以生成實(shí)時(shí)中間件及其上的分布式應(yīng)用代碼。本文將基于AADL 模型的代碼生成歸納為以下幾類[8]:

      1)基于AADL 各類軟件構(gòu)件,生成對(duì)應(yīng)的源代碼。如線程構(gòu)件到C 代碼的轉(zhuǎn)換。STOOD 工具支持AADL 到C,C++,Ada代碼生成以及HTML,RTF,MIF 等文檔的生成,還支持Ada,C 代碼到AADL 描述的逆向工程。

      2)生成符合不同領(lǐng)域標(biāo)準(zhǔn)的應(yīng)用代碼,例如生成符合汽車電子控制系統(tǒng)標(biāo)準(zhǔn)AutoSAR、鐵路控制系統(tǒng)標(biāo)準(zhǔn)EN-50128 的C代碼。

      3)實(shí)時(shí)中間件及其上的分布式應(yīng)用代碼生成。Ocarina工具支持從AADL 模型生成運(yùn)行在PolyORB,Poly-ORB-HI(PolyORB-high integrity)中間件之上的Ada 分布式應(yīng)用代碼,同時(shí)支持生成POSIX 和RTEMS 平臺(tái)上的C代碼,其中PolyORB是一個(gè)通用中間件,目標(biāo)是為不同分布式應(yīng)用提供統(tǒng)一的解決方案。

      4)基于AADL 的設(shè)備構(gòu)件,研究設(shè)備驅(qū)動(dòng)代碼的生成技術(shù)。

      5 AADL 經(jīng)典通信設(shè)計(jì)模式

      為了增強(qiáng)建模工具和驗(yàn)證工具Cheddar之間的互操作性,引入了AADL的四種經(jīng)典通信設(shè)計(jì)模式:同步數(shù)據(jù)流模式、互斥模式、黑板模式和排隊(duì)緩沖模式。下面對(duì)比較常用的幾個(gè)經(jīng)典通信設(shè)計(jì)模式[5]進(jìn)行概述:

      5.1 同步數(shù)據(jù)流模式

      在同步數(shù)據(jù)流模式中,線程在dispatch時(shí)讀取輸入端口的數(shù)據(jù)、在complete時(shí)向輸出端口寫數(shù)據(jù)。此模式不需要共享的data構(gòu)件,processor構(gòu)件需要指定固定優(yōu)先級(jí)調(diào)度策略(如Rate Monotonic等)。這種模式只能用靜態(tài)調(diào)度策略,每個(gè)線程總是在固定的時(shí)間讀數(shù)據(jù)、執(zhí)行、寫數(shù)據(jù)(即使在不需要的情況下),因此顯得不靈活。但這種模式的分析卻非常簡(jiǎn)單,可以進(jìn)行處理器利用率(processor utilization factor)分析和最壞響應(yīng)時(shí)間(WCRT)分析等。

      5.2 互斥模式

      互斥模式考慮了異步通信的情形,在此模式中,線程通過(guò)優(yōu)先級(jí)繼承協(xié)議(priority inheritance protocols)異步訪問(wèn)共享的data構(gòu)件。這種模式可以進(jìn)行死鎖驗(yàn)證和WCRT等,但計(jì)算WCRT 前需要先計(jì)算等待時(shí)間,這是很重要的。

      5.3 黑板模式

      典型操作系統(tǒng)有很多同步設(shè)計(jì)模式,如信號(hào)量、讀者寫者、生產(chǎn)者消費(fèi)者等等。對(duì)于編程語(yǔ)言也有專用的同步設(shè)計(jì)模式,如黑板設(shè)計(jì)模式。黑板設(shè)計(jì)模式是讀者寫者模式的實(shí)現(xiàn),同一時(shí)刻只能有一個(gè)writer更新數(shù)據(jù),但可以有多個(gè)readers讀取數(shù)據(jù)。這種模式下,在任何時(shí)刻只有最后寫入的消息可用。

      5.4 排隊(duì)緩沖模式

      排隊(duì)緩沖模式使得在任何時(shí)刻,所有的寫入數(shù)據(jù)都可用,AADL通過(guò)事件數(shù)據(jù)端口或共享data構(gòu)件實(shí)現(xiàn)。假設(shè)buffer消息的處理協(xié)議是FIFO[9]。這種模式需要進(jìn)行可調(diào)度性分析,此外,還需要分析內(nèi)存使用情況,以確保當(dāng)生產(chǎn)者速率大于消費(fèi)者速率時(shí)不會(huì)丟失數(shù)據(jù)。

      6 飛行管理系統(tǒng)AADL建模

      在對(duì)飛行管理系統(tǒng)AADL建模時(shí),我們采用自主研制的高可靠實(shí)時(shí)操作系統(tǒng)FCOS作為其基礎(chǔ)運(yùn)行環(huán)境,該操作系統(tǒng)是一款比較成熟的專用操作系統(tǒng),目前已經(jīng)成功應(yīng)用于我們研制的無(wú)人飛機(jī)、導(dǎo)彈系統(tǒng)中。

      飛行管理系統(tǒng)(Flight Management System)是飛機(jī)重要的子系統(tǒng),能夠協(xié)助飛行員完成從起飛到著陸的各項(xiàng)任務(wù),管理、監(jiān)視和自動(dòng)操縱飛機(jī)實(shí)現(xiàn)全航程的自動(dòng)飛行。FMS集導(dǎo)航、制導(dǎo)、控制及座艙顯示于一體,其主要功能可分為飛行規(guī)劃、導(dǎo)航、性能優(yōu)化、制導(dǎo)及信息顯示。

      飛行管理系統(tǒng)建模中主要使用周期任務(wù)來(lái)完成,而周期任務(wù)集τ的數(shù)學(xué)模型[3]由四元組τi={φi,Ti,Ci,Di}表示,其中φi為初始請(qǐng)求時(shí)間,Ci為任務(wù)執(zhí)行時(shí)間,Di為相對(duì)死線,Ti為任務(wù)周期。本文中論述的FMS系統(tǒng)各任務(wù)φi=0,Di=Ti。因此任務(wù)模型將簡(jiǎn)化為τi={Ci,Di}。

      從飛行管理系統(tǒng)功能劃分可以規(guī)劃飛行管理系統(tǒng)有導(dǎo)航傳感器處理線程、綜合導(dǎo)航線程、制導(dǎo)線程、飛行規(guī)劃線程、飛機(jī)性能優(yōu)化線程和控制顯示線程等六個(gè)處理線程。其模型[12]為TNav=(15,50),TⅠnt=(40,100),TGui=(30,50),TFli=(30,200),TAir=(100,500),THan=(1,50),單位為ms。為了避免共享數(shù)據(jù)區(qū)的生產(chǎn)者-消費(fèi)者問(wèn)題,任務(wù)之間通信采用共享數(shù)據(jù)區(qū),采用單工方式還是進(jìn)行雙工通信,則取決于共享數(shù)據(jù)區(qū)的數(shù)目。

      該飛行管理系統(tǒng)六個(gè)線程的AADL 建模實(shí)現(xiàn)如下程序所示:

      以上線程的運(yùn)行處理器平臺(tái)的AADL建模如下:

      [1]http://www.ntsb.gov/aviationquery

      [2]Gerard S,F(xiàn)eiler PH,Rolland JF,F(xiàn)ilali M,Reiser MO,Delanote D,Berbers Y,Pautet L,Perseil I.UML &AADL 2007 Grand challenge.ACM SIGBED Review,2007,4(4):1-17.

      [3]Fuentes L,Sánchez P.Towards executable aspect-oriented UML models.In Proceedings of the 10th Int’l Workshop on Aspect-Oriented Modeling.New York:ACM Press,2007:28-34.

      [4]Delanote D,van Baelen S,Joosen W,Berbers Y.Using AADL in model driven development.In Proceedings of the Int’l Conf.on Engineering Complex Computer Systems. Washington:IEEE Computer Society Press,2007:1-10.

      [5]Feiler PH,de Niz D,Raistrick C,Lewis BA.From PIMs to PSMs.In Proceedings of the 12th IEEE Int’l Conf.on Engineering Complex Computer Systems.Washington:IEEE Computer Society Press,2007:365-370.

      [6]Svetinovic D.Architecture-Level requirements specification.In:Proceedings of the 2nd Int’l Software Requirements to Architectures Workshop,2003:14-19.

      [7]SAE Aerospace.SAE AS5506:Architecture Analysis and Design Language(AADL).SAE Int'l,2004.

      [8]Gogul Balakrishnan,Thomas Reps.Analyzing Memory Accesses in x86Executables.In Proceedings of CC'04,2004:5-23

      [9]F.Singhoff,L.Nana,J.Legrand.Implementing an AADL performance analyzer.In Proceedings of the Conference on Data Systems in Aerospace,DASIA’06.2006.

      [10]張莉,姜浩.領(lǐng)域本體半自動(dòng)化建模工具的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2009(9).

      [11]張斌,劉祥,張琦.艦船電子系統(tǒng)并行工程質(zhì)量管理模型的研究與應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2010(2).

      [12]F.Nemer,H.Cass′e.Papabench:A free real-time benchmark.In Workshop on Worst-Case Execution Time Analysis,WCET’06,2006:1-6.

      猜你喜歡
      代碼生成設(shè)計(jì)模式線程
      仿生設(shè)計(jì)模式的創(chuàng)新應(yīng)用探索
      玩具世界(2023年6期)2024-01-29 12:14:36
      “1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
      Lustre語(yǔ)言可信代碼生成器研究進(jìn)展
      交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
      淺談linux多線程協(xié)作
      代碼生成技術(shù)在軟件開發(fā)中的應(yīng)用
      電子世界(2016年15期)2016-08-29 02:14:28
      基于XML的代碼自動(dòng)生成工具
      電子科技(2015年2期)2015-12-20 01:09:20
      互動(dòng)式設(shè)計(jì)模式研究
      Linux線程實(shí)現(xiàn)技術(shù)研究
      基于關(guān)系數(shù)據(jù)模型代碼生成器的設(shè)計(jì)與實(shí)現(xiàn)
      方城县| 卓资县| 荔波县| 营口市| 彝良县| 浦城县| 南昌县| 景泰县| 左权县| 丰都县| 淮北市| 任丘市| 鄱阳县| 左贡县| 永清县| 于田县| 饶河县| 大渡口区| 翼城县| 蓬莱市| 剑川县| 财经| 逊克县| 郧西县| 雷州市| 沅陵县| 广元市| 九寨沟县| 大关县| 衡水市| 望都县| 石林| 宝鸡市| 营山县| 巴楚县| 运城市| 娱乐| 华亭县| 阳东县| 南通市| 五峰|