陳 福, 張曉紅, 趙 剛, 王山虎
(中航工業(yè)西安航空 計算技術(shù)研究所, 西安 710065)
?
飛機機電綜合管理平臺應(yīng)用任務(wù)調(diào)度方法研究
陳 福, 張曉紅, 趙 剛, 王山虎
(中航工業(yè)西安航空 計算技術(shù)研究所, 西安 710065)
針對飛機機電綜合管理平臺應(yīng)用任務(wù)多、實時性強、安全性高的特點,通過研究ARINC653標(biāo)準(zhǔn)中的分區(qū)、進程兩級任務(wù)調(diào)度機制和機載機電系統(tǒng)應(yīng)用軟件特點,設(shè)計了飛機機電綜合管理平臺應(yīng)用任務(wù)分區(qū)劃分、分區(qū)時間調(diào)度規(guī)劃和分區(qū)內(nèi)任務(wù)調(diào)度的具體方法;該方法可實現(xiàn)不同安全級別應(yīng)用任務(wù)安全、實時共享機電綜合管理平臺資源;仿真實驗結(jié)果表明,該方法能確定性保證飛機機電綜合管理平臺全部任務(wù)的可調(diào)度性,提高了系統(tǒng)安全性和硬件資源利用率,降低了系統(tǒng)開銷。
飛機;機電綜合管理;分區(qū)劃分;兩級調(diào)度
飛機機載機電系統(tǒng)是保障飛機正常、安全飛行及完成特定任務(wù)的液壓、氣壓、機械和電氣系統(tǒng)的總稱,是飛行控制系統(tǒng)、火控系統(tǒng)、航空電子系統(tǒng)、顯示系統(tǒng)和機載武器投放系統(tǒng)的安全保障系統(tǒng),與航空電子系統(tǒng)、飛控系統(tǒng)和推進系統(tǒng)共同構(gòu)成飛機關(guān)鍵子系統(tǒng)。其中,飛機機電系統(tǒng)主要包括燃油系統(tǒng)、環(huán)控系統(tǒng)、液壓系統(tǒng)、供電系統(tǒng)、前輪轉(zhuǎn)彎系統(tǒng)、起落架系統(tǒng)、剎車系統(tǒng)、氣動系統(tǒng)、艙門系統(tǒng)、除冰系統(tǒng)、照明系統(tǒng)等公共設(shè)備。隨著機電一體化技術(shù)的發(fā)展,這些機載公共設(shè)備被視為一個整體,并采用數(shù)據(jù)總線連接起來,實現(xiàn)飛機機電系統(tǒng)設(shè)備的高度綜合,由機電綜合管理平臺實行統(tǒng)一管理。飛機機電綜合不僅有利于減輕飛機重量、體積和連線的復(fù)雜性,而且有利于增加系統(tǒng)的容錯能力、故障檢測能力和升級維護能力。目前,世界上投入運營的大型民用飛機中,波音777、波音787、空客A380,均采用了機電綜合管理技術(shù)。
但同時,高度綜合化給機電軟件的研發(fā)也帶來了前所未有的挑戰(zhàn)。綜合化的飛機機電管理平臺,計算、網(wǎng)絡(luò)、存儲等物理資源高度共享,應(yīng)用軟件種類多、規(guī)模龐大,應(yīng)用任務(wù)成百上千,交互關(guān)系錯綜復(fù)雜。其中,大量的數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)輸出或上報等任務(wù)對實時性、可靠性要求非常高。一個應(yīng)用任務(wù)能否及時響應(yīng),并在規(guī)定的周期時限內(nèi)完成所有既定動作,直接影響到后續(xù)任務(wù)的完成,關(guān)系到整個機電綜合管理平臺功能性能的實現(xiàn)。因此,對飛機機電綜合管理平臺應(yīng)用任務(wù)實時調(diào)度機制的研究,具有很大的現(xiàn)實意義。本文針對飛機機電綜合管理平臺應(yīng)用任務(wù)的特點,研究了ARINC653標(biāo)準(zhǔn)中的分區(qū)、進程兩級任務(wù)調(diào)度機制,提出了機電綜合管理平臺應(yīng)用分區(qū)劃分、分區(qū)調(diào)度規(guī)劃及分區(qū)內(nèi)任務(wù)調(diào)度的具體方法,保證所有應(yīng)用任務(wù)都得到實時調(diào)度,使系統(tǒng)性能達到最佳。
1.1 兩級調(diào)度模型
綜合模塊化的航空電子系統(tǒng)軟件標(biāo)準(zhǔn)ARINC653標(biāo)準(zhǔn)中提出了分區(qū)的概念,對運行在核心模塊上的多個應(yīng)用軟件按功能可劃分為多個分區(qū),一個分區(qū)由一個或多個并發(fā)執(zhí)行的進程組成,分區(qū)內(nèi)所有進程共享分區(qū)所占有的系統(tǒng)資源。操作系統(tǒng)對分區(qū)所占有的時間、內(nèi)存及其它系統(tǒng)資源具有控制權(quán),從而使得模塊中各分區(qū)相對獨立。兩級調(diào)度即分區(qū)級調(diào)度和進程級調(diào)度。分區(qū)級調(diào)度是指操作系統(tǒng)根據(jù)預(yù)先定義的分區(qū)調(diào)度配置表在規(guī)定的時間窗口內(nèi)調(diào)度對應(yīng)的分區(qū)運行;進程級調(diào)度是指在單個分區(qū)范圍內(nèi)按照既定的調(diào)度算法對各個進程進行調(diào)度。兩級調(diào)度模型如圖1所示。
圖1 兩級調(diào)度模型
1.2 分區(qū)級調(diào)度模型
根據(jù)ARINC653標(biāo)準(zhǔn),核心操作系統(tǒng)采用時間片輪轉(zhuǎn)調(diào)度的方式激活每一個分區(qū)。分區(qū)之間相互獨立,每一個分區(qū)內(nèi)部的進程只能在所屬分區(qū)處于激活狀態(tài)才有可能被執(zhí)行。
分區(qū)級調(diào)度的主要特征有:
1) 以分區(qū)作為調(diào)度單元,系統(tǒng)中可包含多個分區(qū),分區(qū)無優(yōu)先級;
2) 分區(qū)之間在運行時間和物理空間上都相互隔離;
3) 分區(qū)只能在其擁有的時間窗口中被調(diào)度;
4) 分區(qū)調(diào)度采用靜態(tài)配置的方法,由系統(tǒng)集成者在分區(qū)調(diào)度表里預(yù)先確定,系統(tǒng)按照分區(qū)調(diào)度表進行周期性地循環(huán)調(diào)度[1];
5) 系統(tǒng)可包含多張分區(qū)調(diào)度表,每個分區(qū)至少被其中一張分區(qū)調(diào)度表調(diào)度一次;
6) 在一張分區(qū)調(diào)度表中,分區(qū)可以被多次調(diào)度。
假定某系統(tǒng)共有n個分區(qū),分別用P1,P2, ... ,Pn表示。其中,分區(qū)Pk(1≤k≤n)表示第k個分區(qū)。定義Pk=(TPk,CPkj,OPk),其中,TPk為分區(qū)Pk獲取系統(tǒng)時間片的周期;CPkj為一個主時間框架內(nèi)分區(qū)Pk第j次被調(diào)度所獲取時間片的長度;OPk為分區(qū)Pk第一次獲取時間片的系統(tǒng)時鐘偏移量。假設(shè)系統(tǒng)當(dāng)前所執(zhí)行分區(qū)調(diào)度表的主時間框架周期為TA,在每一個輪轉(zhuǎn)周期內(nèi),分區(qū)Pk總的時間片長度為,在其它TA-時間段內(nèi),分區(qū)Pk處于阻塞狀態(tài),分區(qū)內(nèi)的任務(wù)無法運行。分區(qū)調(diào)度模型如圖2所示。
圖2 分區(qū)調(diào)度模型
1.3 進程級調(diào)度模型
分區(qū)由一個或多個進程組成,每個進程隸屬于特定的分區(qū)。一個進程等同于一個任務(wù),因此本文中的進程級調(diào)度即任務(wù)級調(diào)度。
任務(wù)級調(diào)度的主要特征有:
1) 以任務(wù)作為調(diào)度單元,任務(wù)具有優(yōu)先級高低之分[2],任何任務(wù)在任何時刻都可以被更高優(yōu)先級的任務(wù)搶占資源;
2) 在分區(qū)激活時刻,處于就緒態(tài)的最高優(yōu)先級任務(wù)得到執(zhí)行;
3) 分區(qū)中所有任務(wù)共享系統(tǒng)分配給分區(qū)的資源;
4) 支持周期任務(wù)調(diào)度和非周期任務(wù)調(diào)度;
5) 分區(qū)中的任務(wù)集在各自分區(qū)所獲得的時間窗口內(nèi)按照既定的調(diào)度算法調(diào)度執(zhí)行,任務(wù)集在執(zhí)行過程中遇到分區(qū)時間窗口結(jié)束時,暫停執(zhí)行過程,等待該分區(qū)下一個時間窗口的到達。
假定某系統(tǒng)共有n個分區(qū),分別用P1,P2,...,Pn表示。其中,第k個分區(qū)Pk(1≤k≤n)由m個任務(wù)組成,分別用tk1、tk2、tk3、…、tkm表示,tki(1≤k≤n,1≤i≤m)表示第k個分區(qū)的第i個任務(wù)。定義任務(wù)由tki=(Ctki、Ttki、Dtki、Stki)表示。任務(wù)特征定義如下:
1) 任務(wù)tki的執(zhí)行時間Ctki:表示第k個分區(qū)第i個任務(wù)在無中斷情況下執(zhí)行所需要的時間;
2) 任務(wù)tki的周期Ttki:表示第k個分區(qū)第i個任務(wù)的周期;
3) 任務(wù)tki的截止時間Dtki:用于確定任務(wù)是否在規(guī)定的時間內(nèi)完成[3];
4) 任務(wù)tki的當(dāng)前狀態(tài)Stki:任務(wù)在調(diào)度過程中可能為以下狀態(tài)中的一種:休眠態(tài)(DORMANT),就緒態(tài)(READY),運行態(tài)(RUNNING),等待態(tài)(WAITTING)。
分區(qū)內(nèi)任務(wù)由進程調(diào)度器依據(jù)優(yōu)先級或其它改進型任務(wù)調(diào)度算法,在所屬分區(qū)的分區(qū)窗口時間范圍內(nèi)進行調(diào)度[4]。分區(qū)內(nèi)任務(wù)調(diào)度模型如圖3所示。
圖3 分區(qū)內(nèi)任務(wù)調(diào)度模型
2.1 機電綜合管理平臺應(yīng)用任務(wù)分析
機電管理系統(tǒng)通過AFDX等總線與航電系統(tǒng)交聯(lián),通過離散量、模擬量、串行通訊接口等途徑與機上電源、液壓和燃油等機電系統(tǒng)交聯(lián)。機電管理系統(tǒng)監(jiān)控機上燃油、液壓、環(huán)控、起落架、電源等十多個機電系統(tǒng)的工作狀態(tài),把采集的信號進行處理后,經(jīng)總線傳送至航電系統(tǒng)進行告警、顯示或記錄;發(fā)送燃油油量、發(fā)動機及電源等關(guān)鍵參數(shù)給機電參數(shù)顯示器顯示;同時將采集的數(shù)據(jù)傳輸給飛行參數(shù)記錄系統(tǒng)進行記錄。
為建立一個通用的機電綜合管理平臺應(yīng)用任務(wù)兩級調(diào)度仿真模型,本文設(shè)計的飛機機電綜合處理平臺能夠完成多總線(AFDX、ARINC825、ARINC429、GJB289A等)數(shù)據(jù)采集和輸出,完成燃油系統(tǒng)、液壓系統(tǒng)、起落架系統(tǒng)、艙門系統(tǒng)、環(huán)境防護系統(tǒng)、防除冰系統(tǒng)、剎車系統(tǒng)、氧氣系統(tǒng)、氣動系統(tǒng)、防火系統(tǒng)、液冷系統(tǒng)、供電系統(tǒng)、照明系統(tǒng)的監(jiān)測與控制、綜合故障信息處理、告警信息處理和維護管理等功能。其中,應(yīng)用任務(wù)全部為周期任務(wù),最小任務(wù)周期為100 ms,最大任務(wù)周期為400 ms。
2.2 分區(qū)級調(diào)度設(shè)計
2.2.1 分區(qū)劃分
分區(qū)劃分是將機電綜合管理平臺中的應(yīng)用軟件劃分到若干個應(yīng)用分區(qū)。分區(qū)劃分主要考慮以下幾個因素(劃分的原則是從功能獨立性到任務(wù)速率)。
1) 功能獨立性:功能相對獨立的應(yīng)用任務(wù)劃分到不同分區(qū);
2) 任務(wù)安全級別:不同安全級別的應(yīng)用任務(wù)劃分到不同分區(qū);
3) 任務(wù)耦合度:耦合度高的應(yīng)用任務(wù)劃分到同一分區(qū);
4) 任務(wù)速率:周期相同的應(yīng)用任務(wù)劃分到同一分區(qū)。
綜合以上因素,本文將AFDX總線、ARINC825總線、ARINC429總線和GJB289A總線數(shù)據(jù)接收和發(fā)送、離散量模擬量輸入輸出等IO類任務(wù)劃分到一個分區(qū),命名為IO分區(qū);為燃油、環(huán)控、液壓、起落架等機電子系統(tǒng)分別劃分一個應(yīng)用分區(qū),管理該子系統(tǒng)下的所有應(yīng)用任務(wù),并以子系統(tǒng)名命分區(qū)名,分別為起落架分區(qū)、艙門分區(qū)、燃油分區(qū)、防火分區(qū)、電氣分區(qū)、液壓分區(qū)、環(huán)控分區(qū)。平臺健康監(jiān)控、故障記錄、故障上報等系統(tǒng)管理功能,納入維護分區(qū),共計9個分區(qū)。
2.2.2 分區(qū)時間調(diào)度表設(shè)計
分區(qū)時間調(diào)度表的配置項主要包括分區(qū)名、起始運行時刻和分區(qū)執(zhí)行時間。分區(qū)時間調(diào)度表規(guī)劃了分區(qū)的調(diào)度順序以及分區(qū)窗口持續(xù)時間。一般采用主時間框架對分區(qū)時間進行配置,主時間框架為每一個分區(qū)分配一個或者多個時間窗口。在系統(tǒng)的運行過程中,該框架周而復(fù)始地循環(huán)執(zhí)行。
主時間框架的大小通過各個分區(qū)的周期計算得到,而分區(qū)的周期的確定需要通過分區(qū)內(nèi)的進程來決定,包括周期進程和非周期進程,既要保證分區(qū)內(nèi)周期進程的截至?xí)r間,又要保證非周期進程的響應(yīng)時間。
本文中,IO分區(qū)包含有AFDX總線消息收發(fā)周期任務(wù)(周期為100 ms)、ARINC825總線消息收發(fā)周期任務(wù)(周期為100ms)、ARINC429總線消息收發(fā)周期任務(wù)(周期為100 ms)、GJB289A總線消息收發(fā)周期任務(wù)(周期為100 ms),因此IO分區(qū)的調(diào)度時間間隔不能超過100 ms;起落架分區(qū)有4個周期任務(wù),周期均為100 ms;艙門分區(qū)有9個周期任務(wù),其中包含6個100 ms周期任務(wù),1個200ms周期任務(wù)和2個400 ms周期任務(wù);燃油分區(qū)有6個周期任務(wù),其中包含2個100 ms周期任務(wù),4個200 ms周期任務(wù);防火分區(qū)有6個周期任務(wù),其中包含2個100 ms周期任務(wù),1個200 ms周期任務(wù)和3個400 ms周期任務(wù);電氣分區(qū)有5個周期任務(wù),其中包含3個200 ms周期任務(wù),2個400 ms周期任務(wù);液壓分區(qū)有3個周期任務(wù),周期均為400 ms;環(huán)控分區(qū)有8個周期任務(wù),周期均為100 ms;維護分區(qū)有6個周期任務(wù),周期均為200 ms。飛機機電綜合管理平臺應(yīng)用軟件分區(qū)及時間框架設(shè)計如表1所示,主時間框架為100 ms。
表1 應(yīng)用軟件分區(qū)及時間框架設(shè)計
2.3 任務(wù)級調(diào)度設(shè)計
針對飛機機電綜合管理平臺應(yīng)用分區(qū)任務(wù)特點,采用優(yōu)先級調(diào)度算法進行任務(wù)調(diào)度。首先,采用速率單調(diào)調(diào)度算法(rate monotonic scheduling, RMS)確定分區(qū)內(nèi)任務(wù)的優(yōu)先級。RMS算法是一種靜態(tài)分配優(yōu)先級實時調(diào)度算法[5],它根據(jù)任務(wù)的周期來分配優(yōu)先級,任務(wù)周期越小,其優(yōu)先級越高。由于采取搶占式策略,高優(yōu)先級任務(wù)就緒后可立即搶占低優(yōu)先級任務(wù)資源[6]。實驗證明,在任務(wù)的截至?xí)r間等于其周期的條件下,RMS算法是最優(yōu)的靜態(tài)調(diào)度算法。以包含有6個100 ms周期任務(wù),1個200 ms周期任務(wù)和2個400 ms周期任務(wù)的艙門分區(qū)為例,根據(jù)RMS算法,100 ms周期任務(wù)優(yōu)先級最高,200 ms周期任務(wù)優(yōu)先級次之,400 ms周期任務(wù)優(yōu)先級最低。
根據(jù)RMS調(diào)度算法、任務(wù)周期以及任務(wù)間的關(guān)聯(lián)性,艙門分區(qū)任務(wù)優(yōu)先級設(shè)計如表2所示。
表2 艙門分區(qū)任務(wù)優(yōu)先級設(shè)計
使用System Viewer仿真工具對機電綜合管理平臺各個應(yīng)用分區(qū)的任務(wù)調(diào)度進行仿真。分區(qū)級調(diào)度仿真結(jié)果如圖4所示。
圖4 分區(qū)級調(diào)度仿真
圖4隨機選擇了一段機電綜合管理平臺應(yīng)用運行時間作為分析對象,第575 ms到第775 ms,覆蓋了兩個主時間框架。圖4右邊部分的9條橫向虛線,從上往下分別代表IO分區(qū)、燃油分區(qū)、液壓分區(qū)、環(huán)控分區(qū)、艙門分區(qū)、電氣分區(qū)、起落架分區(qū)、防火分區(qū)和維護分區(qū)的時間窗口調(diào)度情況,橫向虛線上的實線段代表該分區(qū)此刻正在被調(diào)度。從圖4可以看出,9個分區(qū)嚴格按照分區(qū)調(diào)度表預(yù)先配置的先后順序及分區(qū)時間窗口調(diào)度,每100 ms的主時間框架里,所有分區(qū)都依次執(zhí)行一遍,分區(qū)之間在時間上相互隔離。
分區(qū)內(nèi)任務(wù)級調(diào)度,按照優(yōu)先級搶占策略進行。以艙門分區(qū)為例,任務(wù)級調(diào)度仿真結(jié)果如圖5和圖6所示。圖5右邊部分縱向標(biāo)線上的白點代表其左側(cè)對應(yīng)的周期任務(wù)正在被執(zhí)行。從圖5可以看出,每隔100 ms,艙門分區(qū)的艙門數(shù)據(jù)采集、艙門狀態(tài)判斷任務(wù)、登機門控制、艙門告警發(fā)送、艙門數(shù)據(jù)處理和異常處理這6個周期為100 ms的任務(wù)被執(zhí)行完一次;每隔200 ms,艙門分區(qū)的飛行參數(shù)處理任務(wù)被執(zhí)行完一次;每隔400 ms,艙門分區(qū)的簡圖頁發(fā)送、故障記錄任務(wù)被執(zhí)行完一次。9個周期任務(wù)均無超時現(xiàn)象。
圖5 艙門分區(qū)內(nèi)任務(wù)周期性調(diào)度情況
圖6給出了一個艙門分區(qū)調(diào)度時間窗口內(nèi),9個應(yīng)用任務(wù)按照優(yōu)先級搶占策略調(diào)度的情況。6個優(yōu)先級為150的應(yīng)用任務(wù)先得到執(zhí)行,然后執(zhí)行優(yōu)先級為140的應(yīng)用任務(wù),最后執(zhí)行優(yōu)先級為120的兩個應(yīng)用任務(wù)。根據(jù)分區(qū)調(diào)度表中對艙門分區(qū)的時間窗口配置,9個應(yīng)用任務(wù)都執(zhí)行完畢后,艙門分區(qū)時間窗口仍有少量剩余,此時艙門分區(qū)進入空閑狀態(tài),等待艙門分區(qū)時間窗口結(jié)束,方可切換至下一分區(qū)。
圖6 艙門分區(qū)內(nèi)任務(wù)優(yōu)先級搶占調(diào)度情況
本文參照ARINC653標(biāo)準(zhǔn)提出的分區(qū)、進程兩級任務(wù)調(diào)度機制,并結(jié)合飛機機電綜合管理平臺應(yīng)用任務(wù)特點,詳細闡述了飛機機電綜合管理平臺應(yīng)用任務(wù)分區(qū)劃分、分區(qū)時間調(diào)度配置、分區(qū)內(nèi)任務(wù)調(diào)度的具體方法,并通過仿真試驗證明了該方法的可行性和有效性。該方法對解決飛機機電綜合管理平臺大量應(yīng)用任務(wù)的實時調(diào)度問題具有很高的實用價值,目前已在多個飛機型號上完成試飛驗證。下一步將研究任務(wù)動態(tài)調(diào)度算法在強實時分區(qū)中的應(yīng)用及其安全性評估方法。
[1] 李昕穎,顧 健,何 鋒,等. 強實時系統(tǒng)在強分區(qū)約束下的雙層分區(qū)調(diào)度[J]. 計算機學(xué)報,2010,33(6):1032-1039.
[2] 曹廣旭,蔣澤軍,王麗芳,等. 一種改進的強分區(qū)約束的實時調(diào)度算法[J]. 微電子學(xué)與計算機,2012,29(5):108-112.
[3] 張永悅,云利軍,孫 瑜. 基于分區(qū)的航電系統(tǒng)調(diào)度分析工具實現(xiàn)[J]. 計算機工程,2014,40(4):42-47.
[4] 袁 翔,胡 軍,馬金晶,等. 基于AADL的綜合航電分區(qū)系統(tǒng)可調(diào)度性判定[J]. 計算機工程,2014,40(10):52-60.
[5] 李 君,徐鳳霞. 基于CAN總線網(wǎng)絡(luò)控制系統(tǒng)的混合調(diào)度算法研究[J]. 計算機測量與控制,2014,22(11):3687-3690.
[6] 郭 偉,姚恩濤,楊善水,等. 基于CAN總線的機載機電綜合管理平臺設(shè)計[J]. 測控技術(shù),2011,30(3):106-109.
Research on Application Task Scheduling Method for Aircraft Electro-Mechanical Integrated Management Platform
Chen Fu, Zhang Xiaohong, Zhao Gang, Wang Shanhu
(Aeronautics Computing Technique Research Institute, Xi’an 710065, China)
In view of the aircraft electro-mechanical integrated management platform application tasks, real-time, high security features, by researching ARINC653 standard and the characteristics of the application tasks of the electro-mechanical integrated management platform, proposes application tasks partition dividing method、partition scheduling strategy and tasks scheduling algorithm within partition. The method can achieve that different security levels of real-time application tasks can be implemented to share the same processor resources. The simulation results show that the method can guarantee the performance of all the tasks of the electro-mechanical integrated management platform of aircraft, and also improve the system security and hardware resource utilization, and reduce the system overhead.
aircraft; electro-mechanical integrated management; partition divide; two level scheduling
2015-10-12;
2015-11-06。
國家重大專項資助項目(2012ZX01041-006)。
陳 福(1984-),男,重慶人,碩士,工程師,主要從事嵌入式實時操作系統(tǒng)、機載嵌入式軟件方向的研究。
1671-4598(2016)03-0255-03
10.16526/j.cnki.11-4762/tp.2016.03.070
TP315
A