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

        ?

        應(yīng)用有限狀態(tài)機的實時操作系統(tǒng)平臺流程控制軟件實現(xiàn)技術(shù)

        2017-04-28 02:21:17李向陽劉顯勤張向文
        關(guān)鍵詞:狀態(tài)機功能模塊線程

        李向陽,劉顯勤,張向文

        (北京航天發(fā)射技術(shù)研究所,北京,100076)

        應(yīng)用有限狀態(tài)機的實時操作系統(tǒng)平臺流程控制軟件實現(xiàn)技術(shù)

        李向陽,劉顯勤,張向文

        (北京航天發(fā)射技術(shù)研究所,北京,100076)

        在分析嵌入式實時操作系統(tǒng)(Real-Time Operating System,RTOS)平臺與嵌入式無操作系統(tǒng)平臺流程控制軟件架構(gòu)不統(tǒng)一、無法實現(xiàn)代碼重用的基礎(chǔ)上,提出一種應(yīng)用有限狀態(tài)機的實時操作系統(tǒng)流程控制軟件架構(gòu),解決了架構(gòu)不統(tǒng)一導(dǎo)致代碼無法重用的問題,并經(jīng)過實際應(yīng)用驗證,證明架構(gòu)可行。

        實時操作系統(tǒng);有限狀態(tài)機;軟件架構(gòu);代碼重用

        0 引 言

        流程控制軟件是武器發(fā)射平臺的重要組成部分,用于實現(xiàn)武器發(fā)射平臺的展開、撤收等流程動作的控制;同時通過串口、CAN總線、以太網(wǎng)等通信方式實現(xiàn)與其他系統(tǒng)的通信;通過串口、CAN總線、以太網(wǎng)等接口實現(xiàn)參數(shù)的配置查詢等功能。

        流程控制軟件要求具有實時性、確定性。因此,運行的平臺一般采用嵌入式無操作系統(tǒng)平臺或嵌入式實時操作系統(tǒng)平臺,比如 VxWorks。為了實現(xiàn)多個任務(wù)并行工作,嵌入式無操作系統(tǒng)平臺的流程控制軟件一般采用有限狀態(tài)機的架構(gòu)方式實現(xiàn),而實時操作系統(tǒng)平臺具有特有的多任務(wù)并行工作的優(yōu)勢,一般通過采用多線程的架構(gòu)方式實現(xiàn)。

        隨著武器型號的發(fā)展,型號軟件的研制周期越來越短,而流程控制軟件需要充分的測試驗證才能確保軟件的可靠性。因此,對軟件的通用化、代碼的重用率要求越來越高。目前,現(xiàn)有型號采用嵌入無操作系統(tǒng)平臺實現(xiàn)的流程控制軟件數(shù)量多,已經(jīng)實現(xiàn)架構(gòu)統(tǒng)一,并形成了一定數(shù)量的重用代碼,使得采用嵌入式無操作系統(tǒng)平臺的流程控制軟件在開發(fā)效率、可靠性、后期維護性等方面得到了較大提高,同時也大大減少了軟件調(diào)試和試驗的時間,降低了研制成本。而采用嵌入式實時操作系統(tǒng)平臺實現(xiàn)的流程控制軟件數(shù)量少,可重用代碼相應(yīng)也少。

        采用有限狀態(tài)機架構(gòu)方式實現(xiàn)的流程控制模塊與采用多線程架構(gòu)方式實現(xiàn)的流程控制模塊一般無法實現(xiàn)通用,這給軟件重用帶來困難,增加了流程控制軟件研制投入,降低了流程控制軟件的可靠性。同時,流程控制軟件中需要流程急停及流程急停繼續(xù)、流程急停退出操作,采用有限狀態(tài)機的架構(gòu)方式實現(xiàn)時已經(jīng)將各個工作任務(wù)進行了一定粒度的劃分,只要控制狀態(tài)跳轉(zhuǎn)即可;而采用多線程的架構(gòu)方式實現(xiàn)流程急停操作時需要采用線程掛起的方式,流程急停繼續(xù)操作需要采用線程恢復(fù)的方式,流程急停退出操作需要采用線程重啟的方式。這種在軟件正常工作中對線程掛起、恢復(fù)及重啟操作屬于非常規(guī)的使用方式,有可能對軟件系統(tǒng)造成不可預(yù)知的影響。

        本文在對有限狀態(tài)機架構(gòu)方式及多線程架構(gòu)方式的流程控制軟件分析的基礎(chǔ)上,提出了一種有限狀態(tài)機和實時操作系統(tǒng)相結(jié)合的流程控制軟件實現(xiàn)技術(shù)。

        1 有限狀態(tài)機架構(gòu)方式的流程控制軟件分析

        嵌入式無操作系統(tǒng)平臺的有限狀態(tài)機方式的流程控制軟件采用主循環(huán)和一到多個中斷組成的前后臺系統(tǒng),主循環(huán)和中斷之間通過共享資源實現(xiàn)通信。嵌入式無操作系統(tǒng)平臺應(yīng)用層結(jié)構(gòu)示意如圖1所示。

        中斷用于實現(xiàn)硬件處理、定時處理等工作,其他流程控制模塊(或配置查詢功能模塊、故障處理功能模塊)、通信處理功能模塊、數(shù)據(jù)處理功能模塊、硬件處理功能模塊、網(wǎng)關(guān)處理功能模塊的并行處理工作采用有限狀態(tài)機的方式實現(xiàn),由主循環(huán)負責(zé)調(diào)度。

        采用有限狀態(tài)機架構(gòu)方式實現(xiàn)的流程控制軟件是將各功能模塊的功能進行一定粒度的劃分,即劃分出來的工作片段占用毫秒級及以下(不超過1 ms)的處理時間,多個工作片段共同完成該功能,并且每個工作片段完成后能夠回到主循環(huán),不影響其他功能模塊工作的實時性。有限狀態(tài)機以“事件驅(qū)動”方式工作[1,2],在確定轉(zhuǎn)移條件發(fā)生時,做出相應(yīng)動作,變更工作狀態(tài)。以流程控制為例的狀態(tài)轉(zhuǎn)移如圖2所示。流程控制共分為8個狀態(tài)。軟件上電后首先進入初始狀態(tài),接收到啟動流程指令后轉(zhuǎn)入流程進行處理狀態(tài),如果流程正常執(zhí)行結(jié)束則轉(zhuǎn)入流程正常結(jié)束狀態(tài);如果流程中產(chǎn)生故障則轉(zhuǎn)入流程急停處理狀態(tài),在流程急停處理完成后進入流程暫停狀態(tài),在流程暫停狀態(tài)接收到急停退出指令則轉(zhuǎn)入流程退出處理狀態(tài),處理完成進入流程非正常結(jié)束狀態(tài);在流程暫停狀態(tài)接收到忽略故障指令則轉(zhuǎn)入流程繼續(xù)處理狀態(tài),處理完成進入流程進行處理狀態(tài),流程結(jié)束轉(zhuǎn)入流程正常結(jié)束狀態(tài);在流程正常結(jié)束狀態(tài)或流出非正常結(jié)束狀態(tài)接收到啟動流程指令都可繼續(xù)進行流程控制。

        主循環(huán)的調(diào)度方式如圖 3所示。主循環(huán)負責(zé)循環(huán) 調(diào)用所有外部模塊和軟件自身的功能模塊。

        采用有限狀態(tài)機的方式實現(xiàn)的流程控制軟件通過有限狀態(tài)機來代替操作系統(tǒng)對多個并行工作進行調(diào)度,能夠滿足流程控制軟件實時性和確定性的要求。

        2 多線程架構(gòu)方式的流程控制軟件分析

        嵌入式實時操作系統(tǒng)平臺應(yīng)用層軟件采用多線程的架構(gòu)方式實現(xiàn),線程間采用消息隊列、信號量、共享資源等實現(xiàn)通信[3]。嵌入式實時操作系統(tǒng)平臺應(yīng)用層結(jié)構(gòu)示意如圖4所示。

        流程控制功能模塊、配置查詢功能模塊、故障處理功能模塊、通信處理功能模塊、數(shù)據(jù)處理功能模塊、硬件處理功能模塊、網(wǎng)關(guān)處理功能模塊等每個模塊采用一個或多個線程實現(xiàn)。以某流程控制軟件為例,其通過流程處理主線程、流程處理從線程、硬急停線程、急停處理線程、故障處理線程、配置查詢線程、CAN數(shù)據(jù)處理線程、CAN數(shù)據(jù)發(fā)送線程、以太網(wǎng)接收線程、以太網(wǎng)發(fā)送線程[4~8]共同實現(xiàn),流程處理軟件啟動及線程工作方式如圖5所示。

        線程之間通過信號量、消息隊列及共享資源實現(xiàn)信息交換。其中流程處理主線程實現(xiàn)流程控制的主任務(wù),流程處理從線程實現(xiàn)與流程控制主任務(wù)并行的任務(wù),如果有多于2個并行的流程控制任務(wù)還要增加更多的流程處理線程。當(dāng)硬急停線程采集到急停命令后掛起流程處理主線程、從線程,并執(zhí)行相應(yīng)的急停處理工作。當(dāng)急停處理線程通過CAN總線數(shù)據(jù)處理線程接收到流程急停轉(zhuǎn)移指令后恢復(fù)流程處理主、從線程,接收到流程急停退出指令后重啟流程處理主、從線程。嵌入式實時操作系統(tǒng)平臺流程控制軟件實現(xiàn)如圖6所示。

        采用上述架構(gòu)實現(xiàn)的流程控制軟件,一個線程負責(zé)連續(xù)完成一個工作,不完成一個固定工作相關(guān)函數(shù)不退出。因此,在嵌入式無操作系統(tǒng)平臺上實現(xiàn)的流程控制軟件無法完全應(yīng)用在多線程架構(gòu)下的流程控制軟件;同樣,采用這種方式實現(xiàn)的流程控制軟件也無法應(yīng)用在嵌入式無操作系統(tǒng)平臺上。如果能將在嵌入式無操作系統(tǒng)平臺上采用的有限狀態(tài)機架構(gòu)方式實現(xiàn)的流程控制軟件的方法也應(yīng)用在實時操作系統(tǒng)平臺上,則能解決軟件重用的問題,并能夠避免采用線程掛起、線程恢復(fù)及線程重啟等操作,確保軟件運行的可靠性。

        3 應(yīng)用有限狀態(tài)機的實時操作系統(tǒng)平臺流程控制軟件實現(xiàn)及應(yīng)用驗證

        3.1 控制軟件實現(xiàn)

        將原有的嵌入式實時操作系統(tǒng)平臺流程控制軟件直接與外設(shè)交互的工作采用單獨的線程實現(xiàn),其他流程處理主線程、流程處理從線程、急停處理線程、故障處理線程、配置查詢線程合并為一個工作處理線程,如圖7、圖8所示。工作處理線程采用有限狀態(tài)機的方式工作,按嵌入式無操作系統(tǒng)平臺方式實現(xiàn)流程控制、配置查詢、故障處理、數(shù)據(jù)處理等工作。工作處理線程工作方式與嵌入式無操作系統(tǒng)平臺的工作方式相同,如圖8所示。

        3.2 控制軟件驗證

        某型號的流程控制軟件需要運行在龍芯+VxWorks操作系統(tǒng)平臺(嵌入式實時操作系統(tǒng)平臺),其實現(xiàn)的流程控制、配置查詢等功能與另外一個型號運行在XC164處理器平臺(嵌入式無操作系統(tǒng)平臺)的流程控制軟件基本一致。

        因此,該軟件研制時通過采用有限狀態(tài)機的嵌入式實時操作系統(tǒng)平臺架構(gòu)方式,將另外一個型號的嵌入式無操作系統(tǒng)平臺流程控制軟件移植到嵌入式實時操作系統(tǒng)平臺,其研制周期由原來的3~4個月縮短為1.5個月。代碼重用情況如表1所示。除網(wǎng)關(guān)處理功能模塊原有的軟件不涉及,硬件處理功能模塊由于運行平臺不同而導(dǎo)致與硬件處理部分差異較大外,其他功能模塊重用率平均達到89.2%。

        表1 代碼重用情況統(tǒng)計

        采用有限狀態(tài)機的嵌入式實時操作系統(tǒng)平臺架構(gòu)方式加重用嵌入式無操作系統(tǒng)平臺流程控制軟件實現(xiàn)的流程控制軟件,經(jīng)過了各項試驗考核,軟件運行可靠。

        4 結(jié) 論

        本文提出的應(yīng)用有限狀態(tài)機的實時操作系統(tǒng)平臺流程控制軟件架構(gòu)通過應(yīng)用具體型號流程控制軟件研制,證明此種架構(gòu)的可行性。采用此種架構(gòu)實現(xiàn)的流程控制軟件提高了軟件的可重用程度及開發(fā)效率,降低了研制成本,提高了軟件的可驗證程度。同時,采用此種架構(gòu)實現(xiàn)的流程控制軟件規(guī)避了線程掛起、線程恢復(fù)及線程重啟等對操作系統(tǒng)線程的非常規(guī)操作,進一步提高了軟件的可靠性。

        [1] 單茂華. 基于有限狀態(tài)機的絕緣在線監(jiān)測裝置軟件模型與實現(xiàn)[J]. 測控技術(shù), 2007, 26(9): 79-81.

        [2] 魏丙楠. 有限狀態(tài)機在嵌入式軟件中的應(yīng)用[J]. 計算機與信息技術(shù), 2005(10): 59-60.

        [3] 王金剛. VxWorks程序員指南[M]. 北京: 清華大學(xué)出版社, 2003.

        [4] 孫健. VxWorks下幾種任務(wù)設(shè)計模型的分析與實現(xiàn)[J]. 數(shù)字技術(shù)與應(yīng)用2015(1): 2-3.

        [5] 李勇華. 嵌入式操作系統(tǒng) VxWorks的實時性能測試分析[J]. 電子技術(shù)與軟件工程, 2014(2): 1-2.

        [6] 饒冬. 基于 Linux的航天地面站測控軟件架構(gòu)設(shè)計[J]. 遙測遙控, 2015(4): 31-36.

        [7] 吳慧婷. 一種高可靠性嵌入式軟件架構(gòu)設(shè)計[J]. 軟件導(dǎo)刊, 2015(10): 1-2.

        [8] 劉玉寶. 基于嵌入式軟件架構(gòu)的可靠性分析方法. 科技資訊, 2014 (8):1-2.

        Software Realization of Flow-control Software on RTOS Base on FSM

        Li Xiang-yang,Liu Xian-qin,Zhang Xiang-wen
        (Beijing Institue of Space Lauch Technology, Beijing, 100076)

        Software code can not reuse because difference of software architecture between embendded RTOS and embendded without OS. This article presents a software architecture of RTOS base on Finite State Machine(FSM). This method resolves problem of code reuse, practical application proves this architecture.

        Real-time operating system; Finite state machine; Software architecture; Code reuse

        TP311.1

        A

        1004-7182(2017)02-0080-07

        10.7654/j.issn.1004-7182.20170218

        2016-07-31;

        2016-11-03

        李向陽(1977-),男,高級工程師,主要研究方向為電液系統(tǒng)控制

        猜你喜歡
        狀態(tài)機功能模塊線程
        基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
        淺談linux多線程協(xié)作
        基于ASP.NET標準的采購管理系統(tǒng)研究
        輸電線路附著物測算系統(tǒng)測算功能模塊的研究
        M市石油裝備公服平臺網(wǎng)站主要功能模塊設(shè)計與實現(xiàn)
        石油知識(2016年2期)2016-02-28 16:20:16
        功能模塊的設(shè)計與應(yīng)用研究
        Linux線程實現(xiàn)技術(shù)研究
        FPGA設(shè)計中狀態(tài)機安全性研究
        基于反熔絲FPGA的有限狀態(tài)機加固設(shè)計
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        野外性史欧美k8播放| 中文字幕一区二区综合| 中文字幕有码人妻在线| 欧美丰满熟妇xxxx性ppx人交| 亚洲裸男gv网站| 亚洲级αv无码毛片久久精品| 欧美人与物videos另类| 国产一区二区三区特区| 国产av剧情刺激对白| 日韩精品真人荷官无码| 自慰无码一区二区三区| 国产精品福利片免费看 | 国产免费操美女逼视频| 精品无码一区二区三区的天堂| 国产女人水真多18毛片18精品 | 亚洲中文字幕无码二区在线| 手机免费日韩中文字幕| 综合久久精品亚洲天堂| 天天做天天爱夜夜爽女人爽| 国产无遮挡又黄又爽在线观看| 久久精品国产91久久性色tv| 国产亚洲一区二区三区成人| 中文乱码字幕在线亚洲av| 免费人成小说在线观看网站| 久久aⅴ人妻少妇嫩草影院| 久久亚洲AV无码精品色午夜| 亚洲国产精品美女久久久| 亚洲丰满熟女一区二亚洲亚洲| 粉嫩av国产一区二区三区| 中文无码乱人伦中文视频在线v| 最新国产女主播福利在线观看| 国产猛男猛女超爽免费av| 免费人成视频网站在线不卡| 久久久久亚洲av成人网人人网站 | 8ⅹ8x擦拨擦拨成人免费视频| 亚洲熟女av超清一区二区三区| 久久亚洲宅男天堂网址| 天堂视频在线观看一二区| 人妻中文无码久热丝袜| 日韩亚洲中文图片小说| 91麻豆精品久久久影院|