亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        機(jī)載軟件開發(fā)環(huán)境研究*

        2013-03-19 13:03:52旻,吳
        微處理機(jī) 2013年3期
        關(guān)鍵詞:航電分區(qū)調(diào)試

        張 旻,吳 芳

        (1.中國航空計(jì)算技術(shù)研究所,西安710068;2.陜西省紡織科學(xué)研究所,西安710038)

        1 引言

        機(jī)載軟件屬于嵌入式軟件范疇,是航空電子系統(tǒng)的重要組成部分.主要包括飛機(jī)上的信息管理和指令控制系統(tǒng)及上述系統(tǒng)的依托平臺(如嵌入式實(shí)時(shí)操作系統(tǒng))等。隨著應(yīng)用領(lǐng)域的擴(kuò)展,機(jī)載軟件已經(jīng)普及到了航空電子系統(tǒng)的各個(gè)子系統(tǒng)中。

        調(diào)試是任何軟件開發(fā)過程中的必要環(huán)節(jié)[1]。機(jī)載軟件受其自身資源的限制,不具備在機(jī)載計(jì)算機(jī)上直接進(jìn)行本地調(diào)試的能力。因此,機(jī)載軟件開發(fā)環(huán)境的出現(xiàn)是機(jī)載軟件發(fā)展的必然。一個(gè)好的機(jī)載軟件開發(fā)環(huán)境可提供比較完備的開發(fā)工具,能夠極大提高機(jī)載軟件的開發(fā)效率,縮短開發(fā)周期,降低試飛風(fēng)險(xiǎn)。機(jī)載軟件開發(fā)環(huán)境的引入對于整個(gè)航空電子系統(tǒng)產(chǎn)業(yè)具有非常重要的意義。機(jī)載軟件開發(fā)環(huán)境在航空電子系統(tǒng)產(chǎn)業(yè)鏈中起著承上啟下的作用:上游的硬件商、系統(tǒng)集成商要借助機(jī)載軟件開發(fā)環(huán)境使他們的產(chǎn)品得以實(shí)際應(yīng)用;下游的機(jī)載軟件開發(fā)商要依靠機(jī)載軟件開發(fā)環(huán)境快速、高效地開發(fā)機(jī)載軟件。因此,機(jī)載軟件開發(fā)環(huán)境在航空電子產(chǎn)業(yè)鏈中占有極其重要的地位。

        2 機(jī)載軟件開發(fā)環(huán)境發(fā)展?fàn)顩r

        在國外,對實(shí)時(shí)操作系統(tǒng)的研究起步較早,二十世紀(jì)70年代中期,針對實(shí)時(shí)語言PEARL(Process and Experiment Automation Real-Time Language)的特殊要求,德國支持開發(fā)了功能強(qiáng)大的實(shí)時(shí)操作系統(tǒng);八十年代初,美國就出現(xiàn)了商業(yè)化的實(shí)時(shí)操作系統(tǒng)產(chǎn)品,如Ready公司1981年發(fā)布的實(shí)時(shí)操作系統(tǒng)產(chǎn)品VRTX。經(jīng)過三十多年的發(fā)展,國際市場上出現(xiàn)了以 VRTX、VxWorks、pSOS、Windows CE、EPOC、PalmOS、Symbian、Android等為代表的幾十種嵌入式操作系統(tǒng),廣泛應(yīng)用于信息家電、數(shù)字通信、工業(yè)控制、航空航天、醫(yī)療設(shè)備、軍事電子等領(lǐng)域。

        實(shí)時(shí)操作系統(tǒng)應(yīng)用程序的開發(fā)一般首先需要在主機(jī)平臺(如LINUX或WINDOWS)上配備相應(yīng)的嵌入式軟件集成開發(fā)環(huán)境,完成編輯、交叉編譯和交叉調(diào)試等編碼階段的任務(wù),支持C、C++等高級語言的編程。這類集成開發(fā)環(huán)境最初主要由第三方工具公司提供,為不同操作系統(tǒng)的不同處理器版本專門定制,如美國 Metrowerks公司的產(chǎn)品 CodeWarrior。隨著用戶對嵌入式軟件開發(fā)平臺的需求大增,實(shí)時(shí)操作系統(tǒng)供應(yīng)商也紛紛投入巨資發(fā)展本系列實(shí)時(shí)操作系統(tǒng)產(chǎn)品的集成開發(fā)環(huán)境,如WindRiver公司的產(chǎn)品 Tornado/Workbench、ISI公司的產(chǎn)品pRISM+、GreenHill公司的產(chǎn)品 Multi、QSSL 公司的Momentics等。其中Tornado/Workbench和Multi在機(jī)載領(lǐng)域中得到廣泛應(yīng)用。

        國際上,嵌入式軟件集成開發(fā)環(huán)境的另一支重要的研發(fā)隊(duì)伍是自由軟件協(xié)會(huì)(GNU),他們在Internet上免費(fèi)提供有關(guān)研究和開發(fā)成果,如針對各種處理器的交叉編譯器。上述所有嵌入式軟件集成開發(fā)環(huán)境都是在GNU軟件的基礎(chǔ)上,經(jīng)過集成、優(yōu)化和測試而推出的更加成熟、穩(wěn)定的商業(yè)化版本。

        國內(nèi)的實(shí)時(shí)操作系統(tǒng),從上世紀(jì)90年代初開始經(jīng)過一些單位多年的攻關(guān),已經(jīng)突破了主要關(guān)鍵技術(shù),并開發(fā)出具有一定先進(jìn)水平、自主版權(quán)的實(shí)時(shí)操作系統(tǒng)產(chǎn)品,如 AcoreOS/AcoreOS653、ReWorks等。為支持這些實(shí)時(shí)操作系統(tǒng)產(chǎn)品,誕生了LambdaAE、ReDe等嵌入式軟件集成開發(fā)環(huán)境。其中AcoreOS/AcoreOS653及其配套開發(fā)環(huán)境LambdaAE主要面向機(jī)載軟件領(lǐng)域。

        3 機(jī)載軟件開發(fā)環(huán)境組成

        機(jī)載軟件開發(fā)環(huán)境一般由宿主層、基本層、應(yīng)用層和駐留層組成。

        3.1 宿主層

        宿主層指機(jī)載軟件開發(fā)環(huán)境的基本宿主軟/硬環(huán)境。硬件環(huán)境一般是采用PC機(jī),軟件環(huán)境一般包括PC機(jī)的桌面操作系統(tǒng)和基礎(chǔ)軟件平臺。

        對于桌面操作系統(tǒng),一般采用Windows或Linux操作系統(tǒng),這也對機(jī)載軟件開發(fā)環(huán)境選擇的基礎(chǔ)軟件平臺提出了一定的可移植性要求。

        Eclipse是IBM 2001年11月份提供給開源社區(qū)的插件式體系結(jié)構(gòu)開發(fā)平臺[2]。根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴(kuò)展到任何語言的開發(fā),而且Eclipse是一個(gè)開放源代碼的、用Java來實(shí)現(xiàn)的項(xiàng)目,任何人都可以在此基礎(chǔ)上開發(fā)自己的功能插件。換句話說,其功能可以無限擴(kuò)展,而且有著統(tǒng)一的外觀、操作和系統(tǒng)資源管理。

        與其他開發(fā)工具不同的是,即使是不同種類的嵌入式操作系統(tǒng),也可使用相同的開發(fā)工具,這正是基于Eclipse的嵌入式開發(fā)平臺一個(gè)不可取代的優(yōu)點(diǎn)。另外,由于Java語言跨平臺的特性,Eclipse平臺支持的主機(jī)環(huán)境操作系統(tǒng)可以是Windows,也可以是Linux,或者其他操作系統(tǒng),這也是基于Eclipse的嵌入式開發(fā)平臺的優(yōu)點(diǎn)。與其他的嵌入式開發(fā)平臺相比,基于Eclipse的嵌入式開發(fā)平臺顯示出眾多優(yōu)勢,如工具集成,完美的界面整合,易學(xué)易用,大大縮短了軟件的開發(fā)周期,節(jié)省了開發(fā)成本。另外,基于Eclipse的嵌入式開發(fā)平臺還能夠與基于Eclipse插件標(biāo)準(zhǔn)開發(fā)的第三方工具無縫集成。

        綜上所述,機(jī)載軟件開發(fā)迫切需要一套功能全面且強(qiáng)大的集成開發(fā)環(huán)境。這個(gè)集成開發(fā)環(huán)境應(yīng)該提供友好的用戶界面,提供簡單易用的操作,提供開發(fā)過程需要的各種功能的高度集成,能夠支持嵌入式軟件開發(fā)流程中的每個(gè)開發(fā)環(huán)節(jié)。而基于Eclipse的嵌入式開發(fā)平臺則能夠滿足這樣的需求,這也是各大廠商和研究機(jī)構(gòu)選擇Eclipse平臺的原因。

        3.2 基本層

        基本層在宿主層的基礎(chǔ)上集成一組用于支持機(jī)載軟件開發(fā)的最基本的工具集,包括編輯工具、交叉編譯/鏈接工具、加載/固化工具、交叉調(diào)試工具等。

        編輯工具主要提供對各種軟件資源的編輯能力,比如對源代碼、工程文件、腳本文件、配置文件等的編輯、修改。

        機(jī)載軟件是典型的嵌入式軟件。源代碼在宿主機(jī)進(jìn)行編譯/鏈接,在目標(biāo)機(jī)(一般與宿主機(jī)的處理器不同)端運(yùn)行。因此機(jī)載軟件開發(fā)環(huán)境必須提供交叉編譯/鏈接工具。GNU工具鏈以其開源的性質(zhì)和幾乎對所有處理器的支持能力得到了各大機(jī)載軟件開發(fā)環(huán)境廠商的青睞。目前,機(jī)載軟件開發(fā)環(huán)境一般都采用GNU工具鏈作為交叉編譯/鏈接工具。

        機(jī)載軟件作為嵌入式軟件的一種,具有在宿主機(jī)構(gòu)建,在目標(biāo)機(jī)運(yùn)行的特點(diǎn)。加載/固化工具的主要功能是將在宿主機(jī)上編譯/鏈接好的二進(jìn)制程序文件加載或固化到目標(biāo)機(jī)系統(tǒng)中去以支持對程序的調(diào)試或最終的實(shí)際運(yùn)行。加載/固化的過程一般與目標(biāo)機(jī)載操作系統(tǒng)的啟動(dòng)方式和映像管理方式相關(guān)。因此,加載/固化工具根據(jù)所支持的目標(biāo)機(jī)載操作系統(tǒng)的不同而有所區(qū)別,各大機(jī)載軟件開發(fā)環(huán)境廠商都有自己的加載/固化工具。

        調(diào)試是任何軟件開發(fā)過程必不可少的一個(gè)環(huán)節(jié)。交叉調(diào)試工具提供在宿主機(jī)對目標(biāo)機(jī)上運(yùn)行的程序進(jìn)行遠(yuǎn)程調(diào)試的能力,包括設(shè)置/刪除斷點(diǎn)、單步執(zhí)行、繼續(xù)運(yùn)行、查看和修改變量/內(nèi)存/寄存器等功能。目前機(jī)載軟件開發(fā)環(huán)境通常采用與GNU工具鏈配套的GDB交叉調(diào)試器來支持機(jī)載軟件的調(diào)試。

        3.3 應(yīng)用層

        基本層為機(jī)載軟件的開發(fā)提供了最基礎(chǔ)的支持能力。為了更好地支持機(jī)載軟件的開發(fā),提高開發(fā)效率,還需要從用戶層面提供一組圖形化的高級開發(fā)工具。應(yīng)用層就是在基本層的基礎(chǔ)上,提供一些補(bǔ)充工具以更好地支持機(jī)載軟件的研制。

        目前的機(jī)載軟件開發(fā)環(huán)境在應(yīng)用層提供的工具主要有工程管理、編譯系統(tǒng)、編輯系統(tǒng)、調(diào)試系統(tǒng)、目標(biāo)機(jī)管理、系統(tǒng)瀏覽器等等。

        工程管理是支持開發(fā)人員組織和管理機(jī)載軟件開發(fā)項(xiàng)目中的主要組件,一般來說工程管理支持項(xiàng)目模板、組件配置、創(chuàng)建向?qū)А?dǎo)入、導(dǎo)出、共享、版本控制等功能。使用工程管理可以提高用戶管理機(jī)載軟件資源的效率,使各種常規(guī)操作更加簡單。

        編譯系統(tǒng)作為交叉編譯/鏈接工具的前端支持用戶設(shè)定編譯器、編譯選項(xiàng)及參數(shù)。編譯系統(tǒng)允許使用從簡單的全局編譯設(shè)置到針對單個(gè)文件的微觀編譯設(shè)置,及在這兩個(gè)極端之間任何級別上的編譯設(shè)置。一般來說編譯系統(tǒng)支持自動(dòng)生成編譯/鏈接腳本、自動(dòng)依賴關(guān)系分析、圖形化的編譯/鏈接參數(shù)設(shè)置、多目標(biāo)機(jī)編譯配置、命令行編譯及團(tuán)隊(duì)編譯等功能。

        編輯系統(tǒng)在編輯工具的基礎(chǔ)上提供一系列的增強(qiáng)功能,例如適用于源文件的代碼自動(dòng)完成、參數(shù)自動(dòng)提示以及語法突出顯示等,從而使用戶加快了開發(fā)過程,并縮短了編輯、編譯、調(diào)試周期,降低了開發(fā)難度和出錯(cuò)率。編輯器一般與工程管理、編譯系統(tǒng)和調(diào)試系統(tǒng)協(xié)同使用,因此,用戶可以充分利用它來執(zhí)行所有面向源代碼的工作。編輯系統(tǒng)一般支持代碼自動(dòng)補(bǔ)全、代碼提示、代碼導(dǎo)航、代碼折疊、語法高亮顯示等功能。

        調(diào)試系統(tǒng)是交叉調(diào)試器的前端,主要功能是將交叉調(diào)試器的命令行界面或文本用戶界面轉(zhuǎn)換為圖形化界面呈現(xiàn)給用戶。調(diào)試系統(tǒng)一般支持多調(diào)試會(huì)話管理、圖形化的調(diào)試控制管理、斷點(diǎn)管理、變量管理、表達(dá)式管理、寄存器管理、堆棧管理、內(nèi)存管理等功能。對于支持多種模式的目標(biāo)操作系統(tǒng),調(diào)試系統(tǒng)一般還針對目標(biāo)操作系統(tǒng)的各種模式提供相應(yīng)的調(diào)試模式,例如風(fēng)河的vxWorks操作系統(tǒng)有任務(wù)和系統(tǒng)兩種模式,Workbench的調(diào)試系統(tǒng)就相應(yīng)地支持任務(wù)級調(diào)試和系統(tǒng)級調(diào)試。

        目標(biāo)機(jī)管理主要支持用戶創(chuàng)建和維護(hù)開發(fā)環(huán)境與目標(biāo)機(jī)直接的連接配置。機(jī)載軟件開發(fā)環(huán)境作為一個(gè)嵌入式的交叉開發(fā)環(huán)境必須以某種方式與目標(biāo)機(jī)建立連接以支持機(jī)載軟件的加載和調(diào)試。一般來說目標(biāo)機(jī)管理支持創(chuàng)建/刪除目標(biāo)機(jī)連接、配置目標(biāo)機(jī)連接屬性、連接/斷開目標(biāo)機(jī)等功能。所有與目標(biāo)機(jī)相關(guān)的工具,如加載/固化、交叉調(diào)試工具等都要以目標(biāo)機(jī)管理為基礎(chǔ)。

        機(jī)載軟件作為典型的嵌入式軟件,它與外部世界幾乎沒有什么接口,這就對開發(fā)人員提出了一個(gè)重大挑戰(zhàn):如何實(shí)時(shí)了解系統(tǒng)的運(yùn)行狀態(tài)及系統(tǒng)中的對象信息?系統(tǒng)瀏覽器正是解決這一矛盾的工具軟件。系統(tǒng)瀏覽器可對系統(tǒng)事件提供詳細(xì)的分析和圖形化的可視效果,同時(shí)還可展示在目標(biāo)機(jī)上執(zhí)行的應(yīng)用程序的相關(guān)任務(wù)、線程、中斷和系統(tǒng)對象之間復(fù)雜的交互作用。它能夠清楚地顯示上下文變化以及諸如信號量、消息隊(duì)列、信號、任務(wù)、用戶事件和計(jì)時(shí)器一類的系統(tǒng)信息。當(dāng)需要診斷系統(tǒng)時(shí),系統(tǒng)瀏覽器是開發(fā)人員的最佳選擇。

        除了以上提到的工具外,各機(jī)載軟件開發(fā)環(huán)境廠商還針對各自支持的目標(biāo)操作系統(tǒng)和開發(fā)過程提出了很多有用的應(yīng)用層工具,例如風(fēng)河公司的ScopeTools系列監(jiān)控分析工具、GreenHill公司的Run-Time Error Checking工具、QSSL公司的 Profiler和Memory Analysis工具等。

        綜上所述,應(yīng)用層工具比較豐富,而且不同廠商提供的工具也都形形色色、不一而足。但應(yīng)用層工具都有一個(gè)共同的目標(biāo):就是在基本層工具的基礎(chǔ)上為用戶提供更加簡單、易用、可操作性更強(qiáng)的圖形化工具以幫助用戶在整個(gè)機(jī)載軟件開發(fā)過程中提高效率、規(guī)避錯(cuò)誤、豐富開發(fā)手段。

        3.4 駐留層

        駐留層是指為支持宿主機(jī)端各種工具的運(yùn)行而駐留在目標(biāo)機(jī)系統(tǒng)中的各種程序。它們有的與目標(biāo)系統(tǒng)綁定,有的則可以作為目標(biāo)系統(tǒng)的組件進(jìn)行剪裁。駐留層軟件設(shè)計(jì)和實(shí)現(xiàn)的基本原則是盡可能避免對目標(biāo)系統(tǒng)的正常運(yùn)行造成干擾,如果這種干擾不可避免,則要求干擾是可以預(yù)計(jì)和計(jì)算的。對于駐留層,各種機(jī)載軟件開發(fā)環(huán)境都有自成一套的體系架構(gòu),例如風(fēng)河Workbench的開發(fā)環(huán)境將不同開發(fā)工具對駐留層的要求進(jìn)行抽象形成WTX協(xié)議和Gopher語言,通過對它們所提供的一組服務(wù)的排列組合就能夠滿足所有開發(fā)工具對駐留層的功能需求。

        4 機(jī)載軟件開發(fā)環(huán)境主要關(guān)鍵技術(shù)

        機(jī)載軟件開發(fā)環(huán)境的主要關(guān)鍵技術(shù)有多調(diào)試模式支持和綜合化航電系統(tǒng)支撐兩個(gè)方面。

        4.1 多調(diào)試模式支持

        機(jī)載嵌入式實(shí)時(shí)操作系統(tǒng)具有多任務(wù)的特點(diǎn),符合ARINC653標(biāo)準(zhǔn)的機(jī)載嵌入式實(shí)時(shí)操作系統(tǒng),還具有更為復(fù)雜的多分區(qū)、分區(qū)內(nèi)多進(jìn)程的特點(diǎn)。這在基本調(diào)試支持方面對機(jī)載軟件開發(fā)環(huán)境提出了一定的要求:能否支持多種調(diào)試模式,使得斷點(diǎn)僅對某個(gè)任務(wù)、分區(qū)或進(jìn)程有效?目前主要的機(jī)載軟件開發(fā)環(huán)境所使用的調(diào)試器多為GDB調(diào)試器,它本身并不支持多種調(diào)試模式。另外,調(diào)試模式切換后斷點(diǎn)是否有效、在調(diào)試暫停和運(yùn)行狀態(tài)下進(jìn)行調(diào)試模式切換的不同情況、調(diào)試模式切換時(shí)符號表的調(diào)整等等都是多調(diào)試模式支持需要考慮的問題。

        對于調(diào)試級別切換的復(fù)雜情況,采用狀態(tài)圖分析法進(jìn)行設(shè)計(jì),達(dá)到各種情況的覆蓋是一種有效的解決途徑。

        對于GDB調(diào)試器不支持多種調(diào)試模式的情況,可在上一層的調(diào)試會(huì)話和調(diào)試模式管理中對調(diào)試模式的切換以及不同調(diào)試模式的操作差異進(jìn)行處理。

        4.2 綜合化航電系統(tǒng)支撐

        自20世紀(jì)40年代以來,電子技術(shù)在航空領(lǐng)域應(yīng)用不斷深入,航空電子系統(tǒng)已逐步成為飛機(jī)不可缺少的功能子系統(tǒng)之一。在七十多年的發(fā)展歷程里,航空電子系統(tǒng)經(jīng)歷了獨(dú)立式、聯(lián)合式、綜合化三個(gè)發(fā)展階段。當(dāng)前,航空電子系統(tǒng)普遍采用綜合模塊化結(jié)構(gòu)(IMA)。該結(jié)構(gòu)在硬件上使用由通用功能模塊(CFM)構(gòu)成的綜合核心處理平臺來提供綜合處理能力;在軟件上原來航空電子系統(tǒng)里的各任務(wù)子系統(tǒng)演變?yōu)橐唤M以空間和時(shí)間上均安全隔離的以分區(qū)為單位的功能軟件,各分區(qū)共享相同的硬件模塊,分區(qū)之間通過分區(qū)間通信機(jī)制進(jìn)行交互。隨著綜合化航空電子系統(tǒng)的發(fā)展,機(jī)載軟件向著高度集成、資源共享、協(xié)作處理等方向發(fā)展,符合ARINC653標(biāo)準(zhǔn)的分區(qū)實(shí)時(shí)操作系統(tǒng)和分布式系統(tǒng)管理技術(shù)的出現(xiàn)正是這些發(fā)展方向的重要體現(xiàn)。進(jìn)而,綜合化航空電子系統(tǒng)逐步發(fā)展成為一種嵌入式的分布式實(shí)時(shí)計(jì)算系統(tǒng),即綜合化航電系統(tǒng)。

        綜合化航電系統(tǒng)在硬件上是一個(gè)多處理器系統(tǒng),它由一組節(jié)點(diǎn)組成。每個(gè)節(jié)點(diǎn)是一個(gè)自足的計(jì)算單元,包含CPU、存儲器、I/O、網(wǎng)絡(luò)通訊等部件。每個(gè)節(jié)點(diǎn)在軟件上劃分為相互隔離的三層:模塊支持層、操作系統(tǒng)層和應(yīng)用層。操作系統(tǒng)層采用的是滿足ARINC653標(biāo)準(zhǔn)的高安全性實(shí)時(shí)操作系統(tǒng),系統(tǒng)支持多個(gè)分區(qū)應(yīng)用的運(yùn)行,分區(qū)之間在空間、時(shí)間上隔離,每個(gè)分區(qū)里可以運(yùn)行多個(gè)并發(fā)進(jìn)程。同一節(jié)點(diǎn)上的不同分區(qū)之間、不同節(jié)點(diǎn)上的分區(qū)之間均采用虛通道技術(shù)進(jìn)行通訊。整個(gè)系統(tǒng)的管理由通用系統(tǒng)管理軟件(GSM)來實(shí)現(xiàn)。

        綜合化航電系統(tǒng)具有嵌入式、綜合性、復(fù)雜性、時(shí)序性、并行性和并發(fā)性等特點(diǎn)。系統(tǒng)的正常運(yùn)行不僅依賴于單個(gè)節(jié)點(diǎn)的正常運(yùn)轉(zhuǎn),而且依賴于分布在網(wǎng)絡(luò)各處眾多節(jié)點(diǎn)之間的通訊及協(xié)同工作。雖然人們在測試和調(diào)試分布式系統(tǒng)方面付出了巨大的努力,比如形式化驗(yàn)證和不斷優(yōu)化的調(diào)度策略,然而在實(shí)際應(yīng)用中一旦系統(tǒng)真實(shí)部署后,又會(huì)暴露出很多在測試和調(diào)試中從未出現(xiàn)過的異常情況。因此,不論形式化驗(yàn)證的貢獻(xiàn)有多大,不論實(shí)時(shí)調(diào)度策略有多好,對分布式實(shí)時(shí)系統(tǒng)運(yùn)行時(shí)監(jiān)控、調(diào)試和仿真的要求并沒有降低。這是由分布式實(shí)時(shí)系統(tǒng)與生俱來的復(fù)雜性和在處理外部環(huán)境時(shí)的不確定性決定的。

        綜合化航電系統(tǒng)支撐環(huán)境主要由上述的機(jī)載軟件開發(fā)環(huán)境以及分布式監(jiān)控、分布式調(diào)試和分布式仿真等三個(gè)方面構(gòu)成。

        4.2.1 分布式監(jiān)控

        監(jiān)控是任何軟件開發(fā)和調(diào)試過程中必不可少的手段,尤其對于綜合化航電系統(tǒng)這樣的復(fù)雜嵌入式系統(tǒng)來說,了解系統(tǒng)運(yùn)行時(shí)的行為和狀態(tài)就顯得尤為重要[3]。分布式監(jiān)控工具能夠?qū)C合化航電系統(tǒng)進(jìn)行監(jiān)視并將監(jiān)視數(shù)據(jù)圖形化顯示。

        分布式監(jiān)控工具主要對綜合化航電系統(tǒng)的輸入(應(yīng)用分區(qū)所需的數(shù)據(jù),取決于應(yīng)用,比如飛控應(yīng)用需要航向、高度、氣壓、航姿、俯仰角等數(shù)據(jù))、輸出(應(yīng)用分區(qū)產(chǎn)生的輸出,比如飛控應(yīng)用輸出的舵機(jī)等數(shù)據(jù)),輔助輸出(如健康監(jiān)控輸出的故障信息等)、系統(tǒng)調(diào)用、上下文切換、中斷、GSM事件、應(yīng)用事件、存儲器使用、CPU利用、網(wǎng)絡(luò)利用、實(shí)時(shí)內(nèi)核狀態(tài)、共享資源等進(jìn)行監(jiān)控。根據(jù)監(jiān)控到的數(shù)據(jù),分布式監(jiān)控工具可以定義出一致性的全局狀態(tài),這是進(jìn)行分布式調(diào)試的重要基礎(chǔ)。另外通過對監(jiān)控日志進(jìn)行可視化轉(zhuǎn)換還可以使開發(fā)人員直觀地了解系統(tǒng)運(yùn)行的全貌和細(xì)節(jié),以幫助診斷和定位系統(tǒng)故障。

        4.2.2 分布式調(diào)試

        綜合化航電系統(tǒng)在完成平臺綜合之后,后續(xù)階段主要圍繞分區(qū)綜合進(jìn)行,保證分區(qū)之間正確的、協(xié)調(diào)的交互是綜合過程的關(guān)鍵,而傳統(tǒng)的調(diào)試手段只能為單個(gè)計(jì)算機(jī)系統(tǒng)的機(jī)載應(yīng)用軟件(即順序程序)開發(fā)提供調(diào)試支持,對此卻無能為力[4]。加之,綜合化航電系統(tǒng)的軟件功能復(fù)雜,規(guī)模龐大,子系統(tǒng)軟件之間的數(shù)據(jù)耦合性高,表現(xiàn)為分區(qū)之間可能存在紛繁復(fù)雜的通信關(guān)系,極大地增加了機(jī)載軟件的開發(fā)難度,尤其是調(diào)試難度。所以,傳統(tǒng)的調(diào)試手段已經(jīng)無法滿足多分區(qū)綜合階段的調(diào)試需求。如何高效地進(jìn)行多分區(qū)綜合,尤其是跨平臺的多分區(qū)綜合已經(jīng)對調(diào)試技術(shù)和調(diào)試手段提出了新的要求。因此,面向綜合化航空電子系統(tǒng),開發(fā)機(jī)載應(yīng)用軟件的調(diào)試方法及調(diào)試技術(shù)應(yīng)運(yùn)而生。

        分布式調(diào)試的基礎(chǔ)是分布式監(jiān)控,對于綜合化航電系統(tǒng)來說就是綜合化航電系統(tǒng)分布式軟件執(zhí)行過程的確定性監(jiān)控,即有效地、確定地監(jiān)控綜合化航電系統(tǒng)分布式軟件執(zhí)行過程以及不確定性執(zhí)行的誘發(fā)因素,然后記錄和有效管理所監(jiān)控的信息。

        分布式調(diào)試的主要功能是分布式軟件執(zhí)行過程的確定性重演和確定性重演調(diào)試。軟件調(diào)試過程是一個(gè)在調(diào)試器控制下反復(fù)準(zhǔn)確地再現(xiàn)被調(diào)試軟件執(zhí)行行為的過程。分布式調(diào)試借助于所記錄的監(jiān)控信息確定性地再現(xiàn)進(jìn)程、分區(qū)的執(zhí)行路徑,支持用戶反復(fù)觀察程序的執(zhí)行過程。分布式調(diào)試將確定性重演與基本調(diào)試技術(shù)進(jìn)行有機(jī)結(jié)合,借助于基本調(diào)試手段高效地分析和定位故障。

        4.2.3 分布式仿真

        綜合化航電系統(tǒng)是一個(gè)復(fù)雜的實(shí)時(shí)信息處理系統(tǒng),為了降低開發(fā)成本和縮短軟件開發(fā)周期,如何進(jìn)行系統(tǒng)資源的有效共享、如何進(jìn)行系統(tǒng)任務(wù)的合理調(diào)度、如何縮短系統(tǒng)的設(shè)計(jì)周期、如何準(zhǔn)確地進(jìn)行提前設(shè)計(jì)驗(yàn)證和性能預(yù)測,是設(shè)計(jì)人員面臨的主要問題[5]。對綜合化航電系統(tǒng)進(jìn)行建模仿真,提供系統(tǒng)開發(fā)驗(yàn)證平臺,是解決以上問題的有效途徑。在現(xiàn)代機(jī)載航空電子系統(tǒng)的研制過程中,綜合仿真系統(tǒng)已經(jīng)成為必不可少的支持設(shè)施,利用它可以在地面對機(jī)載航空電子系統(tǒng)進(jìn)行各種接口和功能檢查試驗(yàn),這種試驗(yàn)是可重復(fù)的,可控的以及安全的,從而大大減少試飛風(fēng)險(xiǎn)并縮短研制周期。因此,分布式仿真工具是綜合化航電系統(tǒng)支撐環(huán)境的重要組成部分。

        分布式仿真工具從分區(qū)應(yīng)用、操作系統(tǒng)平臺、運(yùn)行時(shí)藍(lán)圖三方面對航空電子系統(tǒng)進(jìn)行仿真,是一種全數(shù)字仿真。

        在分區(qū)應(yīng)用方面:分布式仿真工具可以在沒有目標(biāo)平臺的前提下,利用IBM Rational Rhapsody的基于統(tǒng)一建模語言(UML)進(jìn)行應(yīng)用建模,然后根據(jù)目標(biāo)平臺選擇生成源代碼,再進(jìn)行仿真運(yùn)行,達(dá)到模型的提前驗(yàn)證。

        操作系統(tǒng)平臺方面:結(jié)構(gòu)分析與建模語言(AADL)在對航空電子系統(tǒng)結(jié)構(gòu)的描述方面具有很好的優(yōu)勢。但是它對操作系統(tǒng)以及平臺的描述還具有很多局限性。比如具體實(shí)現(xiàn)細(xì)節(jié)以及軟件算法等行為,只能通過用戶自行擴(kuò)展AADL行為附件進(jìn)行功能添加。所以對于綜合化航空電子系統(tǒng)的平臺和操作系統(tǒng)仿真可以采用同步語言(例如Signal語言)對其進(jìn)行建模和仿真。

        運(yùn)行時(shí)藍(lán)圖方面:運(yùn)行時(shí)藍(lán)圖的產(chǎn)生和維護(hù)是系統(tǒng)設(shè)計(jì)過程的一部分,一系列相關(guān)工具可以集成到機(jī)載軟件開發(fā)環(huán)境中達(dá)到這樣的目的,最后的結(jié)果就是生成運(yùn)行時(shí)藍(lán)圖,然后將運(yùn)行時(shí)藍(lán)圖加載到目標(biāo)系統(tǒng)上,這樣對系統(tǒng)的管理就可以通過專用的接口對藍(lán)圖進(jìn)行訪問。

        5 機(jī)載軟件開發(fā)環(huán)境的發(fā)展趨勢

        隨著航空電子系統(tǒng)綜合化程度的提高,機(jī)載軟件承擔(dān)更多的功能,航空電子系統(tǒng)也逐步由物理融合過渡到功能融合。機(jī)載軟件變得越來越復(fù)雜,模塊化的開發(fā)與集成是綜合化機(jī)載軟件的主要手段。

        從開發(fā)的角度,首先,綜合化系統(tǒng)軟件規(guī)模龐大,需要采用“分而治之”的方法將大規(guī)模的軟件進(jìn)行模塊化劃分,并部署在不同的分區(qū)中運(yùn)行;其次,不同的軟件模塊可能根據(jù)其特點(diǎn)采用不同的開發(fā)方法,或者這些方法的組合。機(jī)載軟件設(shè)計(jì)方法將根據(jù)待開發(fā)的軟件系統(tǒng)具體而定,不能機(jī)械地使用確定的方法。目前,結(jié)構(gòu)化分析與設(shè)計(jì)方法、面向?qū)ο蟮姆治雠c設(shè)計(jì)方法和模型驅(qū)動(dòng)的軟件開發(fā)方法在現(xiàn)代機(jī)載軟件開發(fā)過程中都可能被采用。盡管結(jié)構(gòu)化分析與設(shè)計(jì)方法已提出并應(yīng)用了幾十年,但其仍然是機(jī)載領(lǐng)域主要的軟件開發(fā)方法之一,只是根據(jù)機(jī)載軟件發(fā)展的需要,融入了新的元素和思想。面向?qū)ο笏枷牒兔枋龇椒ù罅繎?yīng)用于機(jī)載應(yīng)用軟件的設(shè)計(jì)和開發(fā)過程中,現(xiàn)已成為機(jī)載軟件設(shè)計(jì)和開發(fā)的重要方法。近年來,模型驅(qū)動(dòng)的軟件開發(fā)方法逐步在機(jī)載軟件開發(fā)過程中得到應(yīng)用,采用模型作為軟件開發(fā)各個(gè)階段的統(tǒng)一描述,可以通過自動(dòng)化工具保證各個(gè)設(shè)計(jì)階段的一致性,以提高軟件開發(fā)的可信性及開發(fā)效率。模型驅(qū)動(dòng)的軟件開發(fā)方法以系統(tǒng)模型設(shè)計(jì)為中心,通過模型指導(dǎo)軟件設(shè)計(jì)的需求分析、系統(tǒng)設(shè)計(jì)、代碼實(shí)現(xiàn)、系統(tǒng)測試以及系統(tǒng)維護(hù)等各個(gè)階段。與傳統(tǒng)軟件設(shè)計(jì)方法相比,模型驅(qū)動(dòng)的軟件設(shè)計(jì)方法消除了軟件設(shè)計(jì)各個(gè)階段之間的鴻溝,使它們相互之間能夠很好的協(xié)調(diào)。

        在綜合化系統(tǒng)中,系統(tǒng)集成首先體現(xiàn)在綜合化系統(tǒng)的配置上。綜合化系統(tǒng)運(yùn)行時(shí),將根據(jù)這些配置完成系統(tǒng)功能的部署與重構(gòu)。系統(tǒng)配置參數(shù)用于描述系統(tǒng)配置,這些配置參數(shù)都在系統(tǒng)配置數(shù)據(jù)文件中維護(hù)。系統(tǒng)配置數(shù)據(jù)文件使用配置編輯工具編寫,并通過配置生成工具轉(zhuǎn)換為可加載格式。系統(tǒng)根據(jù)系統(tǒng)配置數(shù)據(jù)文件進(jìn)行配置和操作,系統(tǒng)配置數(shù)據(jù)文件已成為系統(tǒng)安全的關(guān)鍵。但在一個(gè)大型系統(tǒng)中,系統(tǒng)配置數(shù)據(jù)文件本身的配置項(xiàng)非常多,人工配置與數(shù)據(jù)檢驗(yàn)是非常困難的事情,很容易導(dǎo)致系統(tǒng)故障。

        在硬件方面,近年來處理器技術(shù)向多核方向發(fā)展,這對機(jī)載軟件開發(fā)環(huán)境的基本層提出了新的挑戰(zhàn)。新一代的機(jī)載軟件開發(fā)環(huán)境必須支持多核、多分區(qū)并發(fā)調(diào)試功能和多級安全架構(gòu),這是機(jī)載軟件開發(fā)環(huán)境最迫切需要解決的一個(gè)問題。另外綜合化航電系統(tǒng)在開發(fā)和集成中的幾個(gè)核心問題,包括綜合化的開發(fā)方法、綜合化系統(tǒng)配置及驗(yàn)證、配置數(shù)據(jù)的圖形化管理、配置數(shù)據(jù)驗(yàn)證、配置生成等都對機(jī)載軟件開發(fā)環(huán)境提出了新的要求。

        [1]Thane H.Design for Deterministic Monitoring of Distributed Real- Time Systems[D].M?lardalen:M?lardalen Real- Time Research Centre,Dept.Computer Engineering,M?lardalen University,1999.

        [2]劉亞濱.精通 Eclipse[M].北京:電子工業(yè)出版社,2004.

        [3]張旻,吳芳,劉建軍.分布式系統(tǒng)監(jiān)視器的設(shè)計(jì)與實(shí)現(xiàn)[J].微處理機(jī),2010(2):101 -104.

        [4]張樹兵,葉宏,戴小氐.面向IMA的機(jī)載分布式軟件調(diào)試方法初探[A].中國航空學(xué)會(huì).探索 創(chuàng)新 交流:第四屆中國航空學(xué)會(huì)青年科技論壇文集(第4集)[C].北京:航空工業(yè)出版社,2010:406-413.

        [5]齊曉斌.分布式系統(tǒng)仿真工具——仿真控制軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:中國航空研究院,2010.

        猜你喜歡
        航電分區(qū)調(diào)試
        上海實(shí)施“分區(qū)封控”
        民用飛機(jī)航電系統(tǒng)虛擬教學(xué)資源建設(shè)
        電子制作(2019年7期)2019-04-25 13:18:30
        基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        浪莎 分區(qū)而治
        FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
        無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        某型無人直升機(jī)航電艙熱設(shè)計(jì)優(yōu)化
        航電樞紐清污系統(tǒng)改造
        調(diào)壓柜的調(diào)試與試運(yùn)行探討
        基于SAGA聚類分析的無功電壓控制分區(qū)
        電測與儀表(2015年8期)2015-04-09 11:50:16
        中文字幕亚洲综合久久菠萝蜜| 亚洲综合日韩精品一区二区| 久久综合99re88久久爱| 高清偷自拍亚洲精品三区 | 99精品一区二区三区无码吞精| 国产欧美精品一区二区三区,| 人妻中文字幕不卡精品| 日本中文字幕官网亚洲| 亚洲av日韩一区二区| 亚洲人成无码区在线观看| 亚洲粉嫩高潮的18p| 五月天无码| 免费av在线 国产精品| 日韩在线观看入口一二三四| 日本阿v片在线播放免费| 国产成人vr精品a视频| 级毛片无码av| 亚洲精品综合中文字幕组合| 免费人成小说在线观看网站| 草草久久久无码国产专区| 色欲AV无码久久精品有码| 国产日韩乱码精品一区二区| 国产情侣自拍在线视频| 国产无遮挡又爽又刺激的视频老师| 亚洲人成网7777777国产| 亚洲av中文无码乱人伦在线咪咕| 麻豆国产精品久久天堂| 久久成人国产精品一区二区| 欧美黑吊大战白妞| 国产短视频精品区第一页| 国产自拍精品视频免费观看| 丁香婷婷在线成人播放视频| 影音先锋女人aa鲁色资源| 国产一区二区激情对白在线| 亚洲视频综合在线第一页| 日韩人妖视频一区二区| 果冻传媒2021精品一区| 免费国产黄线在线播放| 男女动态视频99精品| 欧美成人家庭影院| 久久精品娱乐亚洲领先|