許晉瑞,李 峭,趙露茜,熊華鋼
(北京航空航天大學 電子信息工程學院,北京100191)
當前,先進的航空電子體系結構正從集中式綜合向分布式綜合發(fā)展,形成 “分布式綜合模塊化航空電子 (distributed integrated modular avionics,DIMA)” 的 概 念[1]。在DIMA系統(tǒng)中,為保證安全關鍵性處理任務的嚴格時間確定性,在采用分布式時鐘精確同步和時間觸發(fā) (timetriggered,TT)通信的同時,需兼容既有設備的事件觸發(fā)速率約束 (rate-constrained,RC)通信。SAE AS6802標準定義的時間觸發(fā)以太網(wǎng) (time-triggered Ethernet,TTE)[2]就是支持這種混合關鍵性流量的綜合化航空電子網(wǎng)絡互連解決方案。TT流量的時延確定性主要由離線設計的調(diào)度時刻表保證,W.Steiner等[3]提出由形式化方法求解組合優(yōu)化問題以獲得可行調(diào)度時刻表的方案,然而,設計驗證過程中仍需要分析給定功能構件之間TT流量的時延參數(shù)。對于RC流量,雖然存在確定性網(wǎng)絡演算、隨機網(wǎng)絡演算、實時演算 (real-time calculus,RTC)、軌跡法等多種分析方法,但考慮到DIMA系統(tǒng)中存在高優(yōu)先級TT流量占用的情況,必須開發(fā)適應這種特定場景的建模與分析方法。
本文基于DIMA系統(tǒng)綜合化互連配置的特征,從處理層次和互連層次相結合的角度,提出一套適用于分布式綜合航空電子系統(tǒng)的流量建模與時延分析方法,即:采用體系結構分析 與設計語言 (architecture analysis and design language,AADL)描述系統(tǒng)的體系結構,基于體系結構模型進行TT流量的時延分析,采用模型轉換的方法將體系結構模型及其具體配置轉化為RTC分析模型,對RC流量的時延進行最壞情況分析。最后,結合典型的流量配置案例,對該方法進行了驗證。
體系結構分析與設計語言 (AADL)[4]脫胎于具有長期航空電子領域應用基礎的MetaH語言,適用于描述具有實時響應要求、容錯、必須經(jīng)過認證的嵌入式實時系統(tǒng),故特別適于對航空電子體系結構進行描述與分析。開放源碼AADL 工 具 環(huán) 境 (open source code AADL tool environment,OSATE)是AADL開發(fā)小組開發(fā)與維護的一個Eclipse插件集,全面支持AADL模型的構建與前端處理[5]。本文即采用該工具開展DIMA系統(tǒng)的AADL建模與分析。
DIMA系統(tǒng)的體系結構兼具 “綜合模塊化”與 “分布式”兩大優(yōu)點:一方面,對共享程度很高的硬件采用模塊化的構件實現(xiàn),并使之具有統(tǒng)一的網(wǎng)絡互連接口;另一方面,由于硬件模塊和處理資源的分布式部署,允許異構的處理模塊通過高精度同步的網(wǎng)絡進行并行處理,并克服了集中式系統(tǒng)不利于散熱的缺點,解決了其電磁兼容等環(huán)境控制問題[1,6]。綜合化互連對DIMA系統(tǒng)優(yōu)點的發(fā)揮具有至關重要的作用,圖1展示出在大型飛機上DIMA系統(tǒng)的處理與互連方式。
圖1 DIMA系統(tǒng)處理與互連方式
相比于集中式系統(tǒng),分布式系統(tǒng)的核心處理資源不再集中于某個固定的區(qū)域內(nèi),而是在較大的范圍分布部署;同時,可重構性提高了這些分布式資源的利用率[7]。據(jù)此,DIMA體系結構建模過程中必須著重考慮如下兩點:
(1)只能在較高層次的子系統(tǒng)中聲明分布式應用到資源的綁定情況。
由于資源的分布式排布,上層應用完全可能綁定到其它子系統(tǒng)所包含的硬件資源上。這種情況下,由于該應用所綁定的硬件資源不是其所屬的當前層次子系統(tǒng)中的構件,故只能在較高層次的子系統(tǒng)中對綁定情況進行聲明。如圖2所示的分布式系統(tǒng) (空心燕尾箭頭表示線程到處理器的綁定情況)中,線程T21綁定的處理器Proc1并不是子系統(tǒng)S2的子構件,只有在系統(tǒng)S_Top層次才能對這種綁定情況做出聲明。
圖2 一個簡單分布式系統(tǒng)的AADL模型
(2)處理器需要針對綁定在其上的各個線程聲明調(diào)度方式。
由于處理器上綁定的線程可能來自不同的上層應用(如圖2中綁定到處理器Proc1上的線程T12與T21),因此建模過程中,處理器必須明確聲明對綁定在其上的每個線程,特別是分布式線程 (如T21),可采取的調(diào)度方式。
時間觸發(fā)以太網(wǎng) (TTE)是實現(xiàn)DIMA系統(tǒng)互連的關鍵,各個分布式節(jié)點對協(xié)議控制幀 (protocol control frame,PCF)打透明時鐘時戳,并根據(jù)PCF進行固化和壓縮操作以實現(xiàn)亞微秒級的時鐘校準[2,8,9],從而可支持同步消息跨越異構設備的傳輸。TTE網(wǎng)絡在為時間觸發(fā) (TT)流量提供嚴格的時間確定性保證的同時,為保護投資,還設置有優(yōu)先級較低的速率約束 (RC)和 “盡力傳”服務類型[8,9]。在航空電子網(wǎng)絡中,一般采用RC類型承載事件觸發(fā)的流量。
AADL對端到端流量的模型描述,歸納定義為流規(guī)范(flow specification)、流實現(xiàn) (flow implementation)和端到端流 (end-to-end flow)[4,5,10]。
“流規(guī)范”在構件類型中對該構件中流的起始 (flow Source)、從輸入端口到輸出端口所通過的路徑 (flow path)以及終止 (flow sink)進行定義,流路徑上的端口類型可以不同,而且同一個端口可包含在多個流規(guī)范的定義中?!傲鲗崿F(xiàn)”在構件實現(xiàn)中通過一系列由子構件流規(guī)范的輸入端口到輸出端口的流路徑和連接的序列對流規(guī)范的具體結構進行描述,同一個流規(guī)范可以有多種實現(xiàn)形式?!岸说蕉肆鳌痹跇嫾崿F(xiàn)中采用關鍵字 “end to end flow”對一條源于子構件、途經(jīng)一系列子構件并終止于子構件的邏輯信息流進行聲明,雖然只涉及當前一層子構件,但子構件實現(xiàn)中還可以包含子構件,使端到端流的聲明逐層實例化,最終得到由流規(guī)范實例和連接實例組成的端到端流的實例[10]。在圖3所示的典型AADL流模型中,線程構件T1、T2和T3分別是進程構件P1、P2和P3的子構件,系統(tǒng)S中由P1發(fā)出,經(jīng)過P2到達P3的端到端流,具體到線程層次即表現(xiàn)為由T1發(fā)出,經(jīng)過T2到達T3的端到端流。相應的代碼形式的AADL模型描述如圖4所示。
圖3 AADL流模型
圖4 圖3中模型的代碼描述 (部分)
為保證數(shù)據(jù)和事件的時間確定性滿足實時性能要求,從航空電子系統(tǒng)設計初期開始就需要對信息流量進行時延分析。在DIMA系統(tǒng)中,由于分布式計算和通信的實時行為既與網(wǎng)絡通信任務的配置有關,又涉及資源的規(guī)劃設計,故有必要從處理層次和互連層次相結合的角度綜合考慮,進行較為全面的時延分析。據(jù)此,本文擬定如圖5所示的DIMA系統(tǒng)通信流量時延分析方案。
時間觸發(fā) (TT)流量是在封閉性系統(tǒng)中的時間確定性信道上進行傳輸?shù)模阂环矫?,系統(tǒng)中客戶端之間通過中心調(diào)度器實現(xiàn)協(xié)作,建立無沖突的全局調(diào)度方案;另一方面,對于具有時間確定性的傳輸信道,消息的最大和最小傳輸延遲由設計者預先設定,以確保消息傳輸時延的有界性[9]。因此,TT流量的端到端傳輸過程中不存在因傳輸協(xié)議或多路復用造成的排隊延遲,只需在處理層次進行時延分析。
AADL提供了基于流模型的時延分析框架。該框架認為,端到端流的時延主要受如下4種因素影響[10]:
(1)處理時間:主要包括執(zhí)行時間和完成時間,相關的屬性有計算執(zhí)行時間Compute_Execution_Time、截止期限Deadline、周期Period等,最壞情況的處理時間分析主要考慮Deadline以及Period。
(2)處理延遲:不同采樣方式造成的處理延遲是不同的,由于TTE網(wǎng)絡為系統(tǒng)提供了精確的分布式時鐘同步,需按照同步采樣的方式進行計算——處理時間加上所有的傳輸時間和延遲之后,再以采樣周期上取整,如圖6所示。
(3)傳輸時間:主要受數(shù)據(jù)塊大小、連接或傳輸設備的速度,以及傳輸協(xié)議開銷的影響,相關的屬性包括數(shù)據(jù)塊大小Source_Data_Size、傳輸時長Transmission_Time等。
(4)傳輸延遲:這是實際傳輸協(xié)議或多路復用排隊的結果,需要借助框架之外的工具,并結合綜合化互連、流量約束等信息進行分析。相應的屬性為Propagation_Delay,其值需要由設計者預先給定。
OSATE平臺集成有相應的分析工具,即,流時延分析插件 (flow latency analysis plug-in)。該插件利用前文所述的相關屬性值,對特定流量的端到端時延進行分析計算,并以信息提示的形式給出結果。
對于速率約束 (RC)流量,由于TTE并不提供嚴格的時間確定性保證,傳輸過程中可能存在因傳輸協(xié)議規(guī)定或多路復用造成的排隊延遲,因此,在利用AADL流時延分析插件進行處理層次時延分析的同時,還需要充分考慮傳輸過程中的排隊延遲,在互連層次進行分析。
AADL流時延分析框架的一個局限在于,無法通過自身的分析計算得出表征傳輸延遲的屬性值而需要設計者預先給定,故必須借助其它分析方法為該預設過程提供支持。作為網(wǎng)絡演算在實時應用領域的擴展,實時演算(RTC)[11]基于精確描述事件流時間特征的事件模型,實現(xiàn)實時系統(tǒng)中各構件的時間性能、緩沖區(qū)需求和負載狀況的分析求解。
采用RTC進行互連層次時延分析的前提是,系統(tǒng)AADL模型中必須包含構建相應RTC模型所需的參數(shù)。這些參數(shù)主要描述系統(tǒng)各個節(jié)點輸入的事件流的到達曲線、服務曲線,以及通信和處理過程的歷時,如處理器和線程的調(diào)度方式、總線的帶寬等。特別地,作為流量的入口和出口,構件的端口應當為RTC描述輸入流特性的周期-抖動-延遲 (period-jitter-delay,PJD)模型提供相關參數(shù)。對此,可定義兩個屬性:輸入速率 “Input_Rate”取值為范圍 [s,p],其中,s表示在到達的事件流中相鄰兩個到達事件的最小時間間隔 (參數(shù)D),p表示該事件流的周期(參數(shù)P);輸入抖動 “Input_Jitter”的值表征PJD模型中的參數(shù)J[11]。
圖5 DIMA通信流量的時延分析方案
圖6 同步采樣造成的處理延遲
由于AADL并未深入考慮互連層次的具體實現(xiàn)情況——一部分所需的參數(shù) (如:線程的調(diào)度方式、PJD模型相關的端口屬性等)是標準AADL中未定義的,因此,需借助AADL的可擴展性[4,5],對標準AADL屬性集進行擴展,為相關構件增加適于表征具體互連特征的屬性,以補充與完善AADL模型,使之適用于互連層次的時延分析。
與RTC參數(shù)相關的自定義屬性集的部分代碼如圖7所示。
圖7 與RTC參數(shù)相關的自定義屬性集
在跨越處理和互連兩個層次進行時延分析的過程中,時間觸發(fā) (TT)流量可以直接在AADL流時延分析框架下進行分析,而對速率約束 (RC)流量的分析必須借助其它專用的分析模型,即實時演算 (RTC)模型。因此,必須實現(xiàn)從AADL模型到RTC模型的轉換,并且使轉換后的模型可以利用RTC分析工具快速獲取必要的時延參數(shù);將這些參數(shù)加入到AADL體系結構模型中,以使體系結構模型的成熟度隨設計過程的深入而不斷提升。值得說明的是,模型轉換不僅涉及RC流量,考慮到TT流量 (高優(yōu)先級)在傳輸過程中會對RC流量 (低優(yōu)先級)造成影響,TT流量的配置和性能指標同樣需要一并轉換。
在具體的轉換過程中,要保持模型意義的一致性,必須結合流量和資源兩個角度綜合考慮,而從AADL模型中準確提取出資源對上層應用的限制關系,是保證模型一致性的關鍵[11]。
資源角度——排定綁定在各個硬件資源上的應用的優(yōu)先次序,次序較前者享有使用硬件資源的優(yōu)先權:①對于處理器,按照與調(diào)度方式相應的屬性值排定綁定在其上的線程的優(yōu)先次序,如對綁定在固定優(yōu)先級 (FPS)調(diào)度方式的處理器上的線程,應當按照各自的優(yōu)先級屬性值進行降序排列;②對于總線,按照復用方式排定綁定在其上的連接的優(yōu)先次序,如對TDMA方式,需先按照各自所占據(jù)的時隙對連接進行分組,每個時隙內(nèi)部再進行排序,優(yōu)先級高的連接享有對該時隙的優(yōu)先訪問權。
流量角度——在應用已按資源利用的優(yōu)先權完成排序后,依照流量方向,順次連接所經(jīng)過的各個應用節(jié)點。
按照上述方法,可從圖8(a)所示的AADL模型中提取出資源對上層應用的限制關系,如圖8(b)所示。其中,上標r、e、c、m分別代表資源節(jié)點、輸入事件源節(jié)點、計算節(jié)點 (對應于線程構件)和消息節(jié)點 (對應于連接構件)。
獲得資源對應用的限制關系后,需要再次按資源方向檢查各個應用節(jié)點,將符合特定條件的多個節(jié)點進行合并 (如,接受EDF調(diào)度的多個節(jié)點可合并為一個EDF調(diào)度模型抽象節(jié)點),形成最終的RTC模型。在生成的RTC模型中,硬件資源的服務曲線沿資源利用優(yōu)先級方向 (縱向)“傳遞”,各流量的到達曲線沿流量方向 (橫向)“傳遞”。
以上述模型轉換思想和方法為指導,本文開發(fā)了實現(xiàn)AADL模型向RTC模型轉換的插件。該插件以DIMA系統(tǒng)AADL體系結構模型為分析對象,提取系統(tǒng)實例中的端到端流量信息和流量方向上各個應用節(jié)點中與RTC建模相關的屬性值,整合并存儲為以流量為導向的XML文件;提取該XML文件中的資源信息并整理生成以資源為導向的XML文件;對流量導向和資源導向的兩個XML文件提供的信息進行綜合分析,最終生成存儲RTC模型的Matlab文件。
圖8 一個簡單系統(tǒng)的AADL模型及其資源對應用的限制關系
圖9展示出一個簡單DIMA系統(tǒng)案例的AADL模型。由于頁面篇幅所限,用數(shù)字編號代表系統(tǒng)中的子構件。主要構件中相關屬性值的設定情況詳見表1、表2和表3(時間單位均為微秒)。
為便于討論,將圖9中4條端到端流量進行編號:
首先,借助OSATE平臺上的AADL流時延分析插件進行處理層次的時延分析,計算得各條流量的時延上界見表4。然后,使用自行開發(fā)的模型轉換插件,將圖9所示的AADL模型轉化為RTC模型 (如圖10所示),并通過瑞士聯(lián)邦技術學院開發(fā)的RTC分析工具RTCToolBox對該模型進行互連層次的時延分析,計算得各個節(jié)點的互連層次時延上界見表5。
圖9 DIMA系統(tǒng)案例AADL模型
表1 各線程的主要屬性值設定
表2 各處理器的主要屬性值設定
表3 各流量輸入端口的主要屬性值設定
表4 圖9中系統(tǒng)模型的處理層次時延分析結果
表5 圖9中系統(tǒng)模型的互連層次時延分析結果
對于flow1,因其流經(jīng)多個節(jié)點,將所流經(jīng)的各個節(jié)點的時延上界相加,可得到一個總體的時延上界
另一方面,依據(jù) “Pay Burst Only Once”原則計算所得的時延上界為117.042μs,顯然,后者是一個更 “緊”的確界。
下面,對兩個層次的分析結果進行綜合:
圖10 由圖9中AADL模型轉化而來的RTC模型
對于TT流量flow2,由于不存在因傳輸協(xié)議或多路復用造成的排隊時延,故綜合考慮處理和互連兩個層次的時延上界為
對于其它3條RC流量,將處理層次和互連層次的分析結果相加,即得到綜合考慮兩個層次的時延上界
在按照上述方法求得各條流量的時延上界參數(shù)后,即可利用這些參數(shù)開展系統(tǒng)實時性能評價,以及必要的迭代設計等后續(xù)工作。
本文基于DIMA系統(tǒng)特征,使用AADL語言建立系統(tǒng)體系結構模型和流模型,結合AADL流時延分析框架和RTC,提出一套處理與互連層次相結合的端到端流量的時延分析方法。該方法通過自行開發(fā)的插件將AADL模型轉換為RTC模型,在AADL體系結構模型與專業(yè)的RTC分析工具之間建立有機聯(lián)系,實現(xiàn)了跨層次的時延分析,可用于分布式綜合航空電子系統(tǒng)設計過程中通信任務的時間確定性分析與評價。
此外,在研究過程中發(fā)現(xiàn),目前AADL語言在描述互連通信方面存在明顯的局限,如表征硬件設備之間互連的總線構件非常抽象,難以準確表述實際傳輸網(wǎng)絡中的分組交換情形等。因此,隨著DIMA系統(tǒng)在航空電子領域的逐漸推廣,AADL語言有必要增加相應的硬件設備互連建模符號的語義。
[1]Wolfig R,Jakovlievic M.Distributed IMA and DO-297:Architectural,communication and certification attributes [C]//IEEE 27th Digital Avionics Systems Conference,2008.
[2]SAE AS6802,Time-triggered Ethernet [S].2011.
[3]Steiner W.Synthesis of static communication schedules for mixed-criticality systems [C]//14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops,2011:11-18.
[4]SAE AS5506, Architecture analysis & design language(AADL)[S].2004.
[5]Feiler PH,Gluch DP.Model-based engineering with AADL:An introduction to the SAE architecture analysis & design language [M].Addison-Wesley Professional,2012:1-312.
[6]Fuchsen R.IMA NextGen:A new technology for the Scarlett program [J].IEEE A&E System Magazine,2010,25 (10):10-16.
[7]Perez H,Gutierrez JJ,Asensio E,et al.Model-driven development of high-integrity distributed real-time systems using the end-to-end flow model[C]//37th EUROMICRO Conference Software Engineering and Advanced Applications,2011:209-216.
[8]Steiner W.TTEthernet specification [S].TTTech Computertechnik AG,ver.0.9.1-22968,2008.
[9]Kopetz H.The rationale for time-triggered Ethernet [C]//Real-Time Systems Symposium,2008:3-11.
[10]Peter F,Jorgen H.Flow latency analysis with the architecture analysis and design language(AADL)[R].Software Engineering Institute of Carnegie Mellon University,2007:1-53.
[11]Sokolsky O,Chernoguzov A.Analysis of AADL models using real-time calculus with applications to wireless architectures[R].University of Pennsylvania Department of Computer and Information Science,2008:1-24.