999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于模型驅(qū)動(dòng)構(gòu)件庫的飛行控制軟件工廠研究

2023-02-28 05:48:04陳宣文
測控技術(shù) 2023年2期
關(guān)鍵詞:模型設(shè)計(jì)

陳宣文, 馬 超, 馬 倩, 孟 強(qiáng)

(航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710068)

1968年,在北大西洋公約組織(North Atlantic Treaty Organization,NATO)召開的軟件工程會(huì)議上,首次提出了軟件危機(jī)(Software Crisis)的概念[1]。會(huì)議上,Mcllroy 提交了一篇題為《Mass-Produced Software Components》的論文,首次提出了軟件構(gòu)件(Software Components)和構(gòu)件工廠等概念,指出軟件復(fù)用的一個(gè)重要基礎(chǔ)就是需要有充足的軟件構(gòu)件,NATO 制定了關(guān)于軟件復(fù)用的一套指導(dǎo)性標(biāo)準(zhǔn),其中就有關(guān)于構(gòu)件的定義和利用標(biāo)準(zhǔn)構(gòu)件來實(shí)現(xiàn)軟件復(fù)用的基本思路。2011年12月13日,美國航空無線電技術(shù)委員會(huì)(Radio Technical Commission for Aeronautics,RTCA) 正式發(fā)布了DO-331《Model-Based Development and Verification(基于模型的開發(fā)與驗(yàn)證指南)》,標(biāo)志著該技術(shù)在工程應(yīng)用領(lǐng)域的成熟[2]。基于模型驅(qū)動(dòng)的開發(fā)技術(shù)不僅在國外機(jī)載飛控、顯控軟件被廣泛運(yùn)用,在國內(nèi)民機(jī)軟件研制中也在推廣應(yīng)用。例如,新舟600、ARJ21等型號(hào)的顯控系統(tǒng)軟件研制采用了Simulink 模型開發(fā),C919 飛行顯控軟件研制也采用了SCADE 模型開發(fā)[3]。近年來,航空工業(yè)集團(tuán)及其各院所對軟件的重視程度不斷提升,提出軟件“三化”(通用化、系列化和組合化(模塊化)的要求[4]。美國國防部也為美空軍的軟件現(xiàn)代化進(jìn)程組建了越來越多的軟件工廠。目前,已有針對基于模型驅(qū)動(dòng)的軟件開發(fā)技術(shù)、軟件構(gòu)件產(chǎn)品庫復(fù)用技術(shù)和軟件工廠流水線技術(shù)的探索研究和實(shí)現(xiàn),但是鮮見能把這三者有機(jī)結(jié)合在一起的方案。完整軟件生產(chǎn)模式使用了最先進(jìn)的基于模型驅(qū)動(dòng)設(shè)計(jì)技術(shù),同時(shí)考慮了復(fù)用/定制功能,并且建設(shè)了規(guī)模化的構(gòu)件產(chǎn)品庫,在可視化的管理平臺(tái)上采用軟件工廠流水線模式。為進(jìn)一步提升型號(hào)飛行控制軟件開發(fā)效率、質(zhì)量和工程化能力,把已經(jīng)成為未來趨勢的基于模型的軟件開發(fā)設(shè)計(jì)技術(shù)運(yùn)用到軟件工廠的構(gòu)件庫建設(shè)中,并進(jìn)行規(guī)模化的應(yīng)用,開展了基于模型開發(fā)結(jié)合構(gòu)件庫的飛行控制軟件工廠的研究并加以實(shí)現(xiàn)。

首先,對傳統(tǒng)飛行控制軟件架構(gòu)進(jìn)行了分解,分析了飛行控制軟件構(gòu)件化的需求,給出了基于模型驅(qū)動(dòng)開發(fā)構(gòu)件庫的基本概念,并與傳統(tǒng)軟件開發(fā)方法和過程進(jìn)行了對比分析;然后,針對飛行控制軟件快速開發(fā)需求,對飛行控制軟件進(jìn)行分層和領(lǐng)域構(gòu)件化分析,建立了軟件開發(fā)平臺(tái)框架,詳細(xì)討論了基于模型驅(qū)動(dòng)開發(fā)的構(gòu)件庫支持的軟件工廠的關(guān)鍵技術(shù),提供了在可視化智能向?qū)渲脴?gòu)件的管理平臺(tái)快速形成飛行控制軟件整體解決方案的工程化能力。

1 飛行控制軟件總體架構(gòu)分析

飛行控制軟件駐留在飛控計(jì)算機(jī)中,接收飛機(jī)的姿態(tài)、速率、控制、導(dǎo)航、空速和發(fā)動(dòng)機(jī)狀態(tài)等信號(hào),進(jìn)行控制狀態(tài)選擇、控制律計(jì)算和余度管理工作,向伺服放大器和伺服回路輸出控制信號(hào),向電子飛行儀表系統(tǒng)輸出狀態(tài)信號(hào),實(shí)現(xiàn)對所有飛行控制功能的計(jì)算和管理,飛行控制軟件總體架構(gòu)如圖1所示。飛行控制軟件包括以下幾個(gè)部分。

圖1 飛行控制軟件架構(gòu)

① 地面支持軟件是一套支持嵌入式實(shí)時(shí)操作系統(tǒng)的開發(fā)環(huán)境,可以使用開發(fā)環(huán)境完成應(yīng)用程序的編譯、連接、加載和調(diào)試工作。

② 實(shí)時(shí)操作系統(tǒng)是飛控計(jì)算機(jī)的系統(tǒng)管理軟件,管理著系統(tǒng)中應(yīng)用軟件的工作過程和任務(wù)的執(zhí)行順序,具有快速實(shí)時(shí)響應(yīng)、異常/看門狗處理、多任務(wù)調(diào)度、動(dòng)態(tài)存儲(chǔ)器管理、二進(jìn)制信號(hào)量、互斥信號(hào)量、消息隊(duì)列、系統(tǒng)時(shí)鐘、輔助時(shí)鐘支持能力和可剪裁能力。當(dāng)飛控計(jì)算機(jī)硬件發(fā)生變化,系統(tǒng)可通過板級支持包BSP增、減以及修改相應(yīng)的驅(qū)動(dòng)程序,從而生成新的操作系統(tǒng)。

③ 飛行操作軟件是飛控的應(yīng)用層軟件,完成系統(tǒng)的啟動(dòng)/關(guān)閉、任務(wù)管理、硬件管理、余度管理功能,根據(jù)離散量狀態(tài)選擇某一確定飛行模態(tài),進(jìn)行相應(yīng)控制律計(jì)算,通過D/A輸出將控制指令送給伺服放大器去控制舵機(jī)。

④ 自動(dòng)駕駛儀系統(tǒng)機(jī)內(nèi)自檢測(Built-In Test,BIT),是計(jì)算機(jī)系統(tǒng)用于檢測系統(tǒng)各個(gè)硬件的功能和性能的所有軟件與硬件的總稱。BIT用于檢測計(jì)算機(jī)系統(tǒng)的功能和性能,可作為系統(tǒng)維護(hù)檢測與確認(rèn)故障的重要手段。

隨著多余度飛行控制軟件架構(gòu)規(guī)模和復(fù)雜度的急劇增加、安全性可靠性的要求大幅提高和軟件工程化管理要求的日益嚴(yán)格,傳統(tǒng)的飛行控制軟件開發(fā)過程中存在如下問題。

① 飛行控制軟件在需求分析階段不能有效進(jìn)行需求復(fù)用,在設(shè)計(jì)階段無法有效實(shí)現(xiàn)構(gòu)件復(fù)用,開發(fā)階段軟件人員對代碼僅僅是自發(fā)地選擇復(fù)用,沒有進(jìn)行提前規(guī)劃,這樣“復(fù)用”以后的軟件仍然需要進(jìn)行完整的單元、配置項(xiàng)測試和系統(tǒng)測試等過程驗(yàn)證。

② 飛行控制軟件體系架構(gòu)中領(lǐng)域?qū)I(yè)相關(guān)的通用算法邏輯與型號(hào)定制算法邏輯沒有實(shí)現(xiàn)完全解耦,不具備良好的可擴(kuò)展性,導(dǎo)致在開發(fā)具體項(xiàng)目的飛行控制軟件時(shí),往往需要根據(jù)項(xiàng)目特定需求對通用算法進(jìn)行適應(yīng)性更改,影響了軟件的可靠性,缺乏體系級別的復(fù)用。

③ 在飛行控制軟件的數(shù)據(jù)輸入端口,存在大量傳感器信號(hào)、離散開關(guān)信號(hào)和總線信號(hào)等復(fù)雜信號(hào)且交聯(lián)關(guān)系煩瑣,缺少可復(fù)用的高可靠飛行控制軟件基礎(chǔ)構(gòu)件,通過傳統(tǒng)人工編碼方式實(shí)現(xiàn)數(shù)據(jù)采集/還原工作量大且容易出錯(cuò)。

④ 目前的飛行控制軟件與具體的機(jī)載操作系統(tǒng)、硬件驅(qū)動(dòng)接口緊密關(guān)聯(lián),如果系統(tǒng)實(shí)驗(yàn)環(huán)境不具備,缺乏仿真環(huán)境會(huì)使余度管理軟件難以進(jìn)行有效的早期驗(yàn)證。

綜上所述,采用傳統(tǒng)的飛行控制軟件開發(fā)方式將導(dǎo)致“三化”成果無法融合,研制新的飛行控制軟件項(xiàng)目時(shí)手工選擇復(fù)用組織資產(chǎn)庫從頭開始研發(fā),效率低、風(fēng)險(xiǎn)大,工具、數(shù)據(jù)獨(dú)立缺少集成,無法自動(dòng)共享和建立關(guān)聯(lián)關(guān)系,數(shù)據(jù)操作切換頻繁,集成開發(fā)環(huán)境(Integrated Development Enviroment,IDE)與應(yīng)用無關(guān),領(lǐng)域支撐力度不夠。因此,需要在現(xiàn)有的能力基礎(chǔ)上,借鑒國外先進(jìn)技術(shù),學(xué)習(xí)和掌握新一代基于模型和構(gòu)件的軟件研發(fā)和管理技術(shù)(例如,模型開發(fā)仿真技術(shù)、可定制快速原型仿真技術(shù)、全模態(tài)綜合調(diào)試驗(yàn)證技術(shù)、多團(tuán)隊(duì)統(tǒng)一開發(fā)和管理工具鏈技術(shù)的軟件流水線/工廠),將驗(yàn)證充分的軟件模型和構(gòu)件放入數(shù)據(jù)/產(chǎn)品庫,后期研發(fā)時(shí),只需逐級分解需求,根據(jù)需求配置、組裝已有的軟件模型和構(gòu)件即可,采用該方式開發(fā)的軟件復(fù)用度高、軟件缺陷率低,可以大幅提升軟件研發(fā)能力,提高軟件成熟度,滿足新一代產(chǎn)品研發(fā)需求。

2 對飛行控制軟件進(jìn)行分層和領(lǐng)域構(gòu)件化分析

為了提升飛行控制軟件的研制工程支撐能力,根據(jù)構(gòu)件的設(shè)計(jì)準(zhǔn)則,對飛行控制軟件功能、性能、軟件和硬件組成及接口關(guān)系進(jìn)行領(lǐng)域工程建模,對飛行控制軟件的共性通用部分和型號(hào)定制部分解耦后進(jìn)行分層和領(lǐng)域構(gòu)件化分析,如圖2所示。

圖2 飛行控制軟件構(gòu)架設(shè)計(jì)

① IDE內(nèi)核層。支持多目標(biāo)機(jī)的軟件編譯器、系統(tǒng)調(diào)試、結(jié)果觀測和結(jié)果記錄等功能的調(diào)試;支持多余度的動(dòng)態(tài)加載器和固化器,為用戶提供目標(biāo)文件的燒寫固化、擦除、校驗(yàn)、查詢校驗(yàn)碼等功能,是軟件工廠開發(fā)平臺(tái)的基礎(chǔ)。

② 操作系統(tǒng)層。該層包括MSL設(shè)備管理器、OS內(nèi)核管理器和任務(wù)藍(lán)圖規(guī)劃。其中,MSL設(shè)備管理器可對串行通信構(gòu)件、網(wǎng)絡(luò)通信構(gòu)件、看門狗構(gòu)件、離散量構(gòu)件、模擬量構(gòu)件和總線通信構(gòu)件等進(jìn)行配置;OS內(nèi)核管理器包括時(shí)間觸發(fā)操作系統(tǒng)、實(shí)時(shí)分布式操作系統(tǒng)和分時(shí)分區(qū)操作系統(tǒng);任務(wù)藍(lán)圖規(guī)劃可根據(jù)選定的內(nèi)核,提供智能導(dǎo)向式內(nèi)核配置、任務(wù)規(guī)劃和速率組。

③ 領(lǐng)域設(shè)計(jì)層。通過推動(dòng)軟件“三化”設(shè)計(jì),形成系列的軟件“三化”構(gòu)件,按照領(lǐng)域構(gòu)件化設(shè)計(jì)思想進(jìn)行優(yōu)化設(shè)計(jì),形成以同步構(gòu)件、交叉?zhèn)鬏敇?gòu)件、數(shù)據(jù)采集/還原構(gòu)件、余度管理構(gòu)件、BIT構(gòu)件、濾波器構(gòu)件和慣性結(jié)算構(gòu)件為代表的系統(tǒng)構(gòu)件和構(gòu)件設(shè)計(jì)器。

④ 型號(hào)定制層。該層為不可復(fù)用的功能提供基于模型設(shè)計(jì)和手工編碼的設(shè)計(jì)和導(dǎo)入入口。

對飛行控制軟件進(jìn)行分層和領(lǐng)域構(gòu)件化分析后,可以逐層進(jìn)行操作系統(tǒng)、領(lǐng)域設(shè)計(jì)和型號(hào)定制部分的需求分析和軟件設(shè)計(jì),有效地分解和復(fù)用通用需求庫中的共性需求,完成完整的軟件需求分析過程。領(lǐng)域構(gòu)件應(yīng)形成底層模型庫和構(gòu)件庫,并可對構(gòu)件進(jìn)行選取與組裝,從而搭建完整的飛行控制軟件架構(gòu)。利用管理平臺(tái)相關(guān)的工具鏈生成飛行控制軟件的目標(biāo)程序和文檔,快速形成飛行控制軟件整體解決方案,最后可以依托操作系統(tǒng)與數(shù)據(jù)接口,并結(jié)合仿真數(shù)據(jù),即使在系統(tǒng)硬件環(huán)境不具備的情況下,也可以在早期有效地完成飛行控制軟件的驗(yàn)證與測試。

3 基于模型驅(qū)動(dòng)構(gòu)件庫的軟件工廠

2019年時(shí)任美空軍采辦、技術(shù)和后勤的助理部長威爾·羅珀稱“美空軍要在21世紀(jì)突破機(jī)載軟件工作方式的界限,為軍種開辟出新的道路并使軟件日益成為制勝優(yōu)勢的來源”。凱塞爾航線是美空軍首個(gè)軟件工廠,正式名稱是美空軍壽命周期第12支隊(duì)。該軟件工廠希望通過快速提高空軍軟件開發(fā)、采購和裝備速度,將長達(dá)數(shù)年的時(shí)間線縮短到幾個(gè)月,并在開發(fā)過程中節(jié)省資金。2022年2月,美國防部發(fā)布《國防部軟件現(xiàn)代化戰(zhàn)略》明確了美國軍方“建立美國防部全部門的軟件工廠生態(tài)系統(tǒng)的愿景目標(biāo)”,這時(shí)美空軍已經(jīng)建立了18個(gè)軟件工廠,如圖3所示。可以說在美國防部軟件現(xiàn)代化方面,美空軍已經(jīng)走在了前列[5]。

圖3 美軍18家軟件工廠在美國大陸分布圖

使用軟件工廠的生產(chǎn)流水線技術(shù)快速開發(fā)飛行控制軟件的目標(biāo)是在項(xiàng)目研制過程中直接使用被重用的構(gòu)件時(shí),研制流程不再進(jìn)行需求分析、軟件設(shè)計(jì)、編碼、單元測試、軟硬件綜合測試、系統(tǒng)測試、軟件評測等重復(fù)工作;軟件開發(fā)人員有更多精力開展驗(yàn)證、開發(fā)管理、軟件自動(dòng)生成等關(guān)鍵性技術(shù)工作;促進(jìn)飛行控制軟件研制走上軟件產(chǎn)品化、標(biāo)準(zhǔn)化的道路,建立現(xiàn)代工業(yè)流水線生產(chǎn)模式的飛行控制軟件研制工廠[6-7]。

飛行控制軟件開發(fā)可以在模型驅(qū)動(dòng)構(gòu)件化支持的軟件工廠管理平臺(tái)完成,軟件工廠管理平臺(tái)提供智能向?qū)Щ目梢暬渲昧鞒蹋砷_發(fā)者進(jìn)行構(gòu)件選取、配置來搭建飛行控制軟件架構(gòu)。IDE內(nèi)核層已經(jīng)固化使用方式,僅需要簡單配置實(shí)際參數(shù)就可以使用。遵循自底向上集成的原則,開發(fā)者按照開發(fā)流程順序進(jìn)行飛行控制軟件整體架構(gòu)的搭建,如圖4所示。首先,應(yīng)進(jìn)行操作系統(tǒng)的選型和配置,然后選取和配置領(lǐng)域構(gòu)件,最后完成型號(hào)定制部分。

圖4 飛行控制軟件工廠開發(fā)流程

3.1操作系統(tǒng)

3.1.1 MSL設(shè)備管理器

在飛行控制系統(tǒng)領(lǐng)域中,將在MSL設(shè)備管理層識(shí)別出的領(lǐng)域構(gòu)件按照操作系統(tǒng)構(gòu)件定義進(jìn)行了生成與發(fā)布,并將系統(tǒng)資源按照不同功能進(jìn)行劃分。MSL設(shè)備管理包括串行通信構(gòu)件、網(wǎng)絡(luò)通信構(gòu)件、看門狗構(gòu)件、離散量構(gòu)件、模擬量構(gòu)件、總線通信構(gòu)件、時(shí)鐘構(gòu)件、中斷處理構(gòu)件等CPU系統(tǒng)資源。

以總線通信構(gòu)件為例,系統(tǒng)總線資源構(gòu)件包括:① 低速串行總線構(gòu)件;② 1553B 總線構(gòu)件;③ 高速1394B 總線;④ 高速FC 總線構(gòu)件;⑤ 高速DMA 傳輸構(gòu)件;⑥ XML 能力構(gòu)件。

如果選用的操作系統(tǒng)是VxWorks,則與飛控系統(tǒng)底層設(shè)備相關(guān)的總線資源構(gòu)件均應(yīng)按照VxWorks 操作系統(tǒng)標(biāo)準(zhǔn)I/O 設(shè)備操作規(guī)范編寫,從而保證設(shè)備的操作接口的規(guī)范化。

以高速1394B總線為例,1394B總線領(lǐng)域構(gòu)件在VxWorks 5.5 構(gòu)件配置樹(Tornado 2.2集成開發(fā)環(huán)境)中的表現(xiàn)方式如圖5所示。

圖5 Tornado/VxWorks環(huán)境下1394B總線構(gòu)件的實(shí)現(xiàn)

3.1.2 操作系統(tǒng)內(nèi)核管理器

根據(jù)選定的內(nèi)核,提供智能導(dǎo)向式內(nèi)核配置、任務(wù)規(guī)劃和速率組可視化配置,為飛行控制軟件的應(yīng)用層提供支撐。在平臺(tái)上對任務(wù)完成執(zhí)行周期、任務(wù)參數(shù)、執(zhí)行時(shí)間和任務(wù)棧等屬性進(jìn)行配置,并將任務(wù)調(diào)度周期可視化顯示,如圖6所示。

圖6 任務(wù)調(diào)度管理配置

3.1.3 操作系統(tǒng)任務(wù)藍(lán)圖規(guī)劃

操作系統(tǒng)任務(wù)藍(lán)圖規(guī)劃如圖7所示,包括以下需要配置的內(nèi)容。

① 任務(wù)設(shè)置。可對啟動(dòng)任務(wù)、任務(wù)基礎(chǔ)速率、各個(gè)任務(wù)的速率設(shè)置和后臺(tái)任務(wù)進(jìn)行設(shè)置。

② 系統(tǒng)剩余時(shí)間設(shè)置。對系統(tǒng)剩余時(shí)間進(jìn)行設(shè)置,以滿足余量要求。

③ 健康監(jiān)控設(shè)置。健康監(jiān)控定義并分類飛控系統(tǒng)中所發(fā)生的錯(cuò)誤,分別在3個(gè)層次(進(jìn)程級、分區(qū)級和模塊級)根據(jù)錯(cuò)誤發(fā)生時(shí)的系統(tǒng)狀態(tài),執(zhí)行相應(yīng)的錯(cuò)誤恢復(fù)策略。

④ 非屏蔽中斷設(shè)置。對系統(tǒng)各級非屏蔽中斷的屬性進(jìn)行設(shè)置,例如中斷號(hào)、中斷向量和連接中斷處理程序。

⑤ 高速緩存設(shè)置。對高速緩存總線的類型、余度配置、波特率等屬性進(jìn)行設(shè)置。

⑥ 系統(tǒng)同步設(shè)置。對系統(tǒng)工作的同步總線進(jìn)行設(shè)置,包括初始同步和周期同步。

圖7 系統(tǒng)任務(wù)藍(lán)圖規(guī)劃

3.2 領(lǐng)域構(gòu)件配置界面

在各領(lǐng)域共性構(gòu)件庫支持下,進(jìn)行領(lǐng)域構(gòu)件可視化配置,包括整體配置、信號(hào)輸入定義、總線及設(shè)備定義、離散量管理配置、數(shù)字量管理配置、傳感器管理配置、計(jì)算機(jī)管理配置、伺服器監(jiān)控配置、積分器均衡、故障記錄、故障碼定義、故障綜合等。

以傳感器管理配置為例,如圖8所示,對傳感器的以下各屬性進(jìn)行配置。

① 對傳感器信號(hào)的定義管理,包括新建、改名、確認(rèn)和刪除等操作。

② 傳感器信號(hào)余度配置,包括是否單信號(hào)工作,是否帶有自監(jiān)控信號(hào)、門限是否可變等。

③ 各余度傳感器監(jiān)控時(shí)延設(shè)置,主要對時(shí)延格式進(jìn)行設(shè)置。

④ 傳感器監(jiān)控所屬的表決速率組、監(jiān)控速率組,以及瞬時(shí)故障區(qū)設(shè)置等。

⑤ 傳感器信號(hào)出現(xiàn)故障時(shí)的運(yùn)算安全值策略預(yù)設(shè),可選擇表決值、歷史值、安全值和計(jì)算插值。

圖8 領(lǐng)域構(gòu)件配置

在具體領(lǐng)域進(jìn)行設(shè)計(jì)開發(fā)時(shí),可以根據(jù)項(xiàng)目需求在領(lǐng)域構(gòu)件可視化配置界面進(jìn)行選型與配置,快速搭建飛行控制軟件解決方案。

在飛行控制軟件領(lǐng)域的具體應(yīng)用中,根據(jù)領(lǐng)域應(yīng)用的具體需求,在可視化界面完成參數(shù)化模塊配置后,構(gòu)件層在通用構(gòu)件庫中檢索相關(guān)構(gòu)件,進(jìn)行基于標(biāo)準(zhǔn)接口進(jìn)行構(gòu)件的快速復(fù)合組裝。基于領(lǐng)域工程的領(lǐng)域構(gòu)件技術(shù)利用了領(lǐng)域工程的功能內(nèi)聚性和穩(wěn)定性等特點(diǎn),有利于提高軟件的復(fù)用效率和軟件質(zhì)量。

3.3 型號(hào)定制

早期的飛行控制軟件開發(fā)方式是根據(jù)文字化、條目化的需求進(jìn)行自頂向下逐步分解、設(shè)計(jì),之后手工編碼完成,這種項(xiàng)目開發(fā)方式的可視化和效率較為低下。現(xiàn)在,由于經(jīng)常面臨緊迫的交付周期和激烈的團(tuán)隊(duì)競爭,設(shè)計(jì)、編碼和測試過程高度交叉,軟件的規(guī)模也日趨龐大,為了將軟件設(shè)計(jì)人員從復(fù)雜的編碼工作中解放出來,將工作的重心轉(zhuǎn)移到飛行控制軟件的安全性、可靠性等關(guān)鍵需求分析上,有必要采用更高效的軟件設(shè)計(jì)方式。

基于模型驅(qū)動(dòng)的開發(fā)使用更接近于人的理解和認(rèn)識(shí)的模型,將需求與設(shè)計(jì)數(shù)據(jù)由文字描述的形式轉(zhuǎn)換為可視化的模型,有利于設(shè)計(jì)人員把注意力集中在系統(tǒng)工作邏輯相關(guān)的內(nèi)容,而不用過早考慮與平臺(tái)相關(guān)的實(shí)現(xiàn)細(xì)節(jié),并且在開發(fā)周期的早期驗(yàn)證設(shè)計(jì)、測試用例和收集覆蓋率指標(biāo)。實(shí)現(xiàn)環(huán)節(jié)通過自動(dòng)代碼生成和自動(dòng)代碼檢查提高軟件質(zhì)量,并且可以運(yùn)用工具鏈?zhǔn)褂米詣?dòng)設(shè)計(jì)的測試用例進(jìn)行測試和檢查。即使是當(dāng)前不可復(fù)用的定制部分,仍然采用復(fù)用規(guī)范過程進(jìn)行開發(fā)和管理,并在完成軟件測試后進(jìn)入產(chǎn)品目錄、構(gòu)件產(chǎn)品庫和模型庫。

模型驅(qū)動(dòng)構(gòu)件可定制開發(fā)技術(shù)的優(yōu)點(diǎn)有:可顯著提升軟件按需定制和隨需應(yīng)變的能力,使流程、數(shù)據(jù)、規(guī)則、資源和界面等構(gòu)件要素實(shí)現(xiàn)了分離,減少了手工編程工作量,提高了軟件開發(fā)效率,降低了軟件開發(fā)和維護(hù)成本;降低對軟件開發(fā)人員要求,系統(tǒng)手工編程工作量的減少,使大部分軟件開發(fā)者能完成大部分模型定制工作;提高業(yè)務(wù)管理軟件的可靠性和可維護(hù)性,系統(tǒng)可靠性主要體現(xiàn)在模型定制、模型轉(zhuǎn)換和運(yùn)行支撐等工具的可靠性上,而傳統(tǒng)手工編程方式難以保證業(yè)務(wù)軟件的可靠性,同時(shí)會(huì)導(dǎo)致系統(tǒng)內(nèi)部和第三方測試的工作量增加。另外,當(dāng)業(yè)務(wù)需求發(fā)生變化時(shí),只需調(diào)整相應(yīng)業(yè)務(wù)模型即可,系統(tǒng)可維護(hù)性也得到提高[8]。

針對具體項(xiàng)目的定制化需求,應(yīng)用模型化設(shè)計(jì),通過模型與需求對接,提升軟件設(shè)計(jì)、仿真驗(yàn)證,形成了模型標(biāo)準(zhǔn),納入軟件設(shè)計(jì)標(biāo)準(zhǔn),規(guī)范了軟件模型設(shè)計(jì),制定的開發(fā)規(guī)范包括:① 《模型命名方法》;② 《模型安全性設(shè)計(jì)方法》;③ 《模型外觀設(shè)計(jì)方法》;④ 《狀態(tài)機(jī)設(shè)計(jì)方法》;⑤ 《模型輸入輸出方法》;⑥ 《模型庫的使用》。

基于模型開發(fā)的主流工具包括SCADE和MATLAB/Simulink等,SCADE以高安全性領(lǐng)跑于模型開發(fā)領(lǐng)域,代碼生成器KCG通過了航空領(lǐng)域的DO-330(TQL-1)、核能行業(yè)領(lǐng)域的IEC 60880(核安全級)、軌道交通領(lǐng)域的EN 50128(SIL-3)等標(biāo)準(zhǔn)并在高安全性行業(yè)應(yīng)用[9-10]; MATLAB/Simulink應(yīng)用廣泛,擁有眾多自帶模型庫、算法庫、控制系統(tǒng)、環(huán)境模型以及優(yōu)秀的專業(yè)協(xié)同設(shè)計(jì)兼容性,可以完成產(chǎn)品級別的聯(lián)合仿真、建模、設(shè)計(jì)、測試和報(bào)告平臺(tái)集成工作。以MATLAB/Simulink開發(fā)環(huán)境為例,基于模型的設(shè)計(jì)和形式化方法在符合DO-178C、DO-331、DO-333和DO-330的過程中,MathWorks工具可用于DO-178C項(xiàng)目的開發(fā)和驗(yàn)證階段。Simulink?、Stateflow?和Requirements ToolboxTM被用于開發(fā)符合DO-331基于模型的開發(fā)和驗(yàn)證的軟件。根據(jù)DO-331和DO-178C的要求,Simulink Report GeneratorTM用于提供設(shè)計(jì)描述文檔和跟蹤數(shù)據(jù)。通過Simulink CheckTM、Simulink TestTM、Simulink CoverageTM和Simulink Design VerifierTM對設(shè)計(jì)進(jìn)行驗(yàn)證。使用MATLAB CoderTM、Simulink CoderTM和Embedded Coder?開發(fā)系統(tǒng)的源代碼。使用Simulink Code InspectorTM、Polyspace Bug FinderTM和Polyspace Code ProverTM對源代碼進(jìn)行驗(yàn)證。可執(zhí)行的目標(biāo)代碼的驗(yàn)證是使用Simulink Test和Simulink Coverage以及處理器在環(huán)(Processor in the Loop,PIL)中的測試功能來執(zhí)行的。圖9為覆蓋DO-178C/DO-331 過程的MathWorks完整工具鏈路徑[11]。

圖9 覆蓋DO-178C/DO-331 過程的MathWorks工具鏈路徑圖

以飛控系統(tǒng)的工作狀態(tài)管理為例,飛行控制軟件在飛控系統(tǒng)工作全狀態(tài)下對5種工作狀態(tài)切換進(jìn)行驗(yàn)證。在對邏輯實(shí)現(xiàn)內(nèi)容進(jìn)行分析的基礎(chǔ)上,利用Stateflow 來實(shí)現(xiàn)狀態(tài)切換,并與Simulink 有機(jī)結(jié)合,共同建立了駕駛儀工作狀態(tài)仿真和應(yīng)用,同時(shí)對Simulink/Stateflow/Model Advisor/Bug Finder工具鏈進(jìn)行了驗(yàn)證使用,最后對模型自動(dòng)生成的代碼進(jìn)行了優(yōu)化,整個(gè)工作狀態(tài)仿真過程和結(jié)果如圖10所示。由Stateflow 所建立的圖形化模型邏輯結(jié)構(gòu)簡潔、清晰,可用Simulink/Stateflow進(jìn)行早期驗(yàn)證,提高開發(fā)效率,縮短開發(fā)時(shí)間,自動(dòng)生成的代碼經(jīng)過驗(yàn)證和檢查,表明其可滿足飛行/仿真要求。

圖10 飛行控制軟件工作狀態(tài)驗(yàn)證仿真

綜上所述,對現(xiàn)有飛行控制軟件開發(fā)模式進(jìn)行了對比和分析,如表1所示。探索、研究和實(shí)踐目前是基于模型驅(qū)動(dòng)構(gòu)件庫的軟件工廠的開發(fā)模式,采用了先進(jìn)的開發(fā)方法和手段,對飛行控制軟件的通用部分和領(lǐng)域部分進(jìn)行了解耦,在可視化智能化導(dǎo)向配置平臺(tái)的支持下,對模型開發(fā)形成的構(gòu)件庫可以進(jìn)行有效配置和復(fù)用,在軟件開發(fā)模式上和美軍軟件工廠模式保持同步,可以供業(yè)內(nèi)軟件研發(fā)單位參考,進(jìn)行工程化推廣應(yīng)用。

表1 幾種飛行控制軟件開發(fā)模式的對比

4 構(gòu)件產(chǎn)品庫開發(fā)和維護(hù)

構(gòu)件產(chǎn)品庫的開發(fā)應(yīng)遵循一系列模型驅(qū)動(dòng)構(gòu)件的開發(fā)規(guī)范,例如面向復(fù)用與共享的軟件需求分析規(guī)范、面向復(fù)用與共享的軟件構(gòu)件設(shè)計(jì)規(guī)范、代碼復(fù)用工作流程及管理規(guī)范、面向復(fù)用與共享的軟件測試工作規(guī)范等。

基于模型開發(fā)的構(gòu)件支持產(chǎn)品庫,在已經(jīng)擁有可復(fù)用構(gòu)件后,還應(yīng)保證設(shè)計(jì)開發(fā)人員能夠快速、容易地找到和理解,這就是構(gòu)件產(chǎn)品庫的主要作用。構(gòu)件產(chǎn)品庫是用于組織、存儲(chǔ)和管理可復(fù)用組件的。在建立構(gòu)件產(chǎn)品庫的同時(shí),還需要建立配套的分類、檢索和復(fù)用的目錄,并可以對構(gòu)件進(jìn)行新建、檢索、更新和刪除的操作,以及對其進(jìn)行有效的配置管理[12-13]。

5 結(jié)束語

與傳統(tǒng)的飛行控制軟件開發(fā)流程相比,基于模型驅(qū)動(dòng)構(gòu)件庫的軟件工廠的開發(fā)模式可以大幅提高飛行控制軟件的開發(fā)效率。在軟件工廠協(xié)同開發(fā)管理平臺(tái)的支持下,對飛行控制軟件進(jìn)行可視化分析和配置,可有效復(fù)用通用需求庫中的共性需求,并可針對項(xiàng)目專用需求進(jìn)行型號(hào)定制需求分析。在軟件設(shè)計(jì)階段,根據(jù)共性需求從通用領(lǐng)域構(gòu)件庫中進(jìn)行構(gòu)件選取與組裝;其次根據(jù)項(xiàng)目型號(hào)定制需求完成定制部分算法模型的開發(fā),快速形成飛行控制軟件整體解決方案,并且可以進(jìn)行早期驗(yàn)證和測試。實(shí)踐證明,基于模型驅(qū)動(dòng)構(gòu)件庫的軟件工廠的開發(fā)模式可以提高飛行控制軟件研發(fā)的安全性與可靠性,縮短軟件開發(fā)與驗(yàn)證的周期。

猜你喜歡
模型設(shè)計(jì)
一半模型
重要模型『一線三等角』
何為設(shè)計(jì)的守護(hù)之道?
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 亚洲AV无码久久精品色欲| 人妻丰满熟妇av五码区| 中文精品久久久久国产网址| 欧美综合区自拍亚洲综合天堂| 99精品福利视频| 欧美一级黄色影院| 国产91视频免费观看| 国产在线拍偷自揄拍精品| 欧美成一级| 亚洲中久无码永久在线观看软件| 欧美另类视频一区二区三区| 爆操波多野结衣| www欧美在线观看| 九九视频在线免费观看| 欧美在线综合视频| 久久伊人久久亚洲综合| 人人看人人鲁狠狠高清| 亚洲第一视频免费在线| 午夜国产大片免费观看| 黄片在线永久| 激情亚洲天堂| 99视频精品全国免费品| 久草网视频在线| 国产精品网址在线观看你懂的| 久草青青在线视频| 久久亚洲国产一区二区| 无码视频国产精品一区二区| 国产精品v欧美| 久久久久青草线综合超碰| 日本久久网站| 久久人妻xunleige无码| vvvv98国产成人综合青青| 91精品国产自产在线老师啪l| 欧美有码在线| 亚洲女同一区二区| 不卡网亚洲无码| 午夜不卡福利| 免费毛片视频| 欧美无专区| 91视频精品| 麻豆精品在线视频| 孕妇高潮太爽了在线观看免费| 日韩精品成人网页视频在线| 国产视频欧美| 亚洲天堂区| 免费Aⅴ片在线观看蜜芽Tⅴ| 国产亚洲成AⅤ人片在线观看| www.91中文字幕| 精品国产www| 国产欧美日韩综合一区在线播放| 天天综合网亚洲网站| 国产在线98福利播放视频免费| 国产精品美女免费视频大全| 日韩AV无码免费一二三区| 亚洲天堂视频网站| 思思热在线视频精品| 亚洲视频黄| 久久毛片网| 亚洲国产成人久久精品软件| 97se综合| 免费高清毛片| 69av在线| 亚洲无码91视频| 91网址在线播放| 亚洲成人福利网站| 97超碰精品成人国产| 大香伊人久久| 亚洲伊人天堂| 中文字幕一区二区视频| 色AV色 综合网站| 午夜国产小视频| 日韩小视频网站hq| 久久综合伊人77777| 成年人国产视频| 久99久热只有精品国产15| 国产精品蜜臀| 91精品人妻互换| 免费毛片视频| 久久综合伊人77777| 国产成人高清亚洲一区久久| 伊大人香蕉久久网欧美| 伊人网址在线|