唐家強(qiáng) 王星皓 安品臣 胡賓洋
摘? ?要:在對(duì)分布式綜合航空電子系統(tǒng)中的信息流進(jìn)行分析評(píng)價(jià)時(shí),必須構(gòu)建相應(yīng)的信息流模型。體系結(jié)構(gòu)分析與設(shè)計(jì)語(yǔ)言具有對(duì)較為復(fù)雜的系統(tǒng)集成和性能進(jìn)行規(guī)格說(shuō)明與分析,并可實(shí)現(xiàn)硬件的計(jì)算資源和軟件構(gòu)件之間相互映射的能力,因此,特別適用于性能關(guān)鍵性嵌入式實(shí)時(shí)系統(tǒng)的分析與設(shè)計(jì),文章結(jié)合綜合化航電系統(tǒng)的結(jié)構(gòu)特征,闡述了系統(tǒng)信息流的AADL建模方法。
關(guān)鍵詞:綜合模塊化航電;信息流;建模;AADL
綜合化航電系統(tǒng)替代了聯(lián)合式航電系統(tǒng)[1],成為越來(lái)越多飛機(jī)的選擇,但是由于其系統(tǒng)復(fù)雜,給其建模分析帶來(lái)了挑戰(zhàn),體系結(jié)構(gòu)分析與設(shè)計(jì)語(yǔ)言(Architecture Analysis and Design Language,AADL)以結(jié)構(gòu)化、模塊化的特征引起了各國(guó)學(xué)者的注意,開(kāi)始成為主流建模方法。
1? ? 體系結(jié)構(gòu)分析與設(shè)計(jì)語(yǔ)言
1.1? AADL標(biāo)準(zhǔn)
SAE標(biāo)準(zhǔn)定義的體系A(chǔ)ADL[2]脫胎于航空電子領(lǐng)域中具有長(zhǎng)期的工程應(yīng)用基礎(chǔ)的MetaH語(yǔ)言,應(yīng)用于有實(shí)時(shí)響應(yīng)要求的、具有挑戰(zhàn)性的資源限制的、必須經(jīng)過(guò)認(rèn)證得到高度信任的嵌入式實(shí)時(shí)系統(tǒng)。
對(duì)于被分析的系統(tǒng),AADL語(yǔ)言能夠正規(guī)地描述體系結(jié)構(gòu)模型,以發(fā)現(xiàn)如調(diào)度、定時(shí)、故障冗余等潛在的系統(tǒng)問(wèn)題。對(duì)于設(shè)計(jì)中的系統(tǒng),AADL語(yǔ)言的優(yōu)勢(shì)在于多尺度的逼真性:既能對(duì)完全規(guī)模的系統(tǒng)進(jìn)行抽象表達(dá),也可以通過(guò)分析部分信息模型來(lái)確定設(shè)計(jì)是否滿足預(yù)期需求。因此,其特別適用于綜合式模塊化航空電子系統(tǒng)的體系結(jié)構(gòu)描述。
SAE AS5506標(biāo)準(zhǔn)給出了AADL語(yǔ)言的基本概念和核心模型,主要通過(guò)“語(yǔ)法”“語(yǔ)義”“命名規(guī)則”“預(yù)定義屬性”“合法性規(guī)則”以及“處理需求和許可”等幾部分對(duì)標(biāo)準(zhǔn)AADL進(jìn)行全面闡述。由于篇幅所限,此處僅簡(jiǎn)略介紹部分核心內(nèi)容。
標(biāo)準(zhǔn)AADL模型主要分為兩大類:聲明模型與實(shí)例模型。從兩類模型之間的相互關(guān)系來(lái)看,聲明模型是生成實(shí)例模型的基礎(chǔ)與必要條件,實(shí)例模型是將各個(gè)層次的聲明模型進(jìn)行綜合并具體化的結(jié)果。
在AADL聲明模型中,最為基本的結(jié)構(gòu)要素是“構(gòu)件”。構(gòu)件的定義分為“構(gòu)件類型”和“構(gòu)件實(shí)現(xiàn)”兩部分,其中構(gòu)件類型通過(guò)使用特征、屬性指定功能接口以及流規(guī)范來(lái)對(duì)該構(gòu)件與外界的交互接口進(jìn)行定義。構(gòu)件實(shí)現(xiàn)是構(gòu)件類型在當(dāng)前層次(不包含子構(gòu)件的子構(gòu)件)的具體化實(shí)現(xiàn)形式,通過(guò)“子構(gòu)件”“子構(gòu)件連接”“屬性”“流實(shí)現(xiàn)”“子程序調(diào)用序列”和“模式”來(lái)對(duì)構(gòu)件類型的內(nèi)部結(jié)構(gòu)和構(gòu)造方式進(jìn)行更為詳細(xì)的描述。另外需要說(shuō)明的是,由于構(gòu)件可以根據(jù)不同的特征和連接情況進(jìn)行具體化,一個(gè)構(gòu)件類型可以具有多個(gè)相應(yīng)的構(gòu)件實(shí)現(xiàn)。
構(gòu)件定義中的“特征”,主要用于描述構(gòu)件與外界進(jìn)行交互的功能接口。AADL標(biāo)準(zhǔn)定義了“事件端口”“數(shù)據(jù)端口”“事件數(shù)據(jù)端口”“端口組”“服務(wù)子程序”“數(shù)據(jù)子程序”“子程序參數(shù)”“提供與請(qǐng)求的子構(gòu)件的訪問(wèn)”等多種構(gòu)件“特征”。構(gòu)件定義中的“連接”主要用來(lái)表示不同構(gòu)件之間的數(shù)據(jù)和控制通信連接,可以承載不同線程的端口間、處理器和線程之間或不同設(shè)備構(gòu)件之間的控制和數(shù)據(jù)信息的傳輸。
此外,必須說(shuō)明的一點(diǎn)是,AADL標(biāo)準(zhǔn)中將所有構(gòu)件劃分為3類:應(yīng)用類別,主要包括“線程”“線程組”“進(jìn)程”以及“數(shù)據(jù)”構(gòu)件等。執(zhí)行平臺(tái)類別,包括“處理器”“總線”“設(shè)備”以及“存儲(chǔ)器”構(gòu)件。組成類別,主要指“系統(tǒng)”構(gòu)件。一個(gè)構(gòu)件所屬的類別是由其定義中所聲明的類型決定的。
AADL語(yǔ)言的核心規(guī)范要素如圖1所示。
AADL實(shí)例模型是將對(duì)應(yīng)的聲明模型中所有的元素全部進(jìn)行實(shí)例化后所得的模型。實(shí)例模型的主要設(shè)計(jì)目標(biāo)是具備如下3種能力:根據(jù)一個(gè)具有實(shí)現(xiàn)模型的AADL聲明模型來(lái)生成實(shí)例模型,該實(shí)現(xiàn)模型作為實(shí)例模型的根。允許在無(wú)須加載全部聲明模型的條件下對(duì)實(shí)例模型進(jìn)行處理。使用同一個(gè)實(shí)例模型來(lái)統(tǒng)一表達(dá)所有模態(tài)的聲明模型,而無(wú)須為每個(gè)模式組合分別創(chuàng)建一個(gè)單獨(dú)的實(shí)例模型。
1.2? AADL工具環(huán)境:OSATE
目前已經(jīng)面世的AADL建模和處理分析工具有TOPCASED-AADL、OSATE、Cheddar、Ocarina等,其中最具代表性的是開(kāi)放源碼AADL工具環(huán)境(Open Source Code AADL Tool Environment,OSATE)。
OSATE是一款由美國(guó)卡耐基梅隆大學(xué)軟件工程學(xué)院AADL開(kāi)發(fā)小組開(kāi)發(fā)并負(fù)責(zé)維護(hù)的基于Eclipse平臺(tái)的源碼開(kāi)放的插件集。該工具通過(guò)由具有AADL語(yǔ)法高亮提示功能的文本編輯器、AADL語(yǔ)義檢查器與規(guī)范解釋器以及AAXL對(duì)象編輯器與閱讀器等多個(gè)插件構(gòu)成的一組工具集對(duì)AADL模型進(jìn)行前端處理,以支持AADL模型以文本文件(AADL格式)或?qū)S玫腦ML格式(AAXL格式)的模型文件形式進(jìn)行存儲(chǔ)、更新與維護(hù)。非常重要的一點(diǎn)是,該工具具備通過(guò)AADL源文本自動(dòng)創(chuàng)建AAXL模型文件以及兩者之一發(fā)生變更后的雙向一致性修改功能。此外,如果用戶需要,還可以對(duì)OSATE前端自行進(jìn)行插件形式的擴(kuò)展。
2? ? 信息流模型的構(gòu)建
AADL使用“流(flow)”對(duì)通信與信息處理的流量進(jìn)行描述[3],并據(jù)此靈活地處理具有多逼真度的、層次化的、只有部分詳細(xì)設(shè)計(jì)的模型,從而對(duì)系統(tǒng)的綜合化處理過(guò)程開(kāi)展基于流模型的實(shí)時(shí)性能分析。
針對(duì)數(shù)據(jù)或事件的傳輸,或任務(wù)處理過(guò)程的時(shí)延分析,特別是對(duì)端到端的時(shí)延的分析,都需要以對(duì)流的建模為基礎(chǔ)來(lái)開(kāi)展。端到端流量的AADL模型,主要通過(guò)“流規(guī)范”“流實(shí)現(xiàn)”“端到端流”3種類型的聲明來(lái)進(jìn)行描述,其中,后兩種類型可以通過(guò)實(shí)例化的方式生成相應(yīng)的實(shí)例,該實(shí)例則稱為“流實(shí)例”。
“流規(guī)范(flow specification)”的主要描述對(duì)象是通過(guò)一個(gè)構(gòu)件的應(yīng)用邏輯的外部可見(jiàn)流量。關(guān)于流規(guī)范,AADL定義了3個(gè)相關(guān)的保留字“flow source”“flow sink”和“flow path”分別用以表示構(gòu)件中流的起始、終止以及從輸入端口到輸出端口所通過(guò)的流的路徑。
“流實(shí)現(xiàn)(flow implementation)”主要對(duì)通過(guò)構(gòu)件的實(shí)際的流序列和跨越一段或多段連接的構(gòu)件集合進(jìn)行具體的描述,是流規(guī)范的具體實(shí)現(xiàn)。流實(shí)現(xiàn)和流規(guī)范之間的關(guān)系,符合前文對(duì)構(gòu)件實(shí)現(xiàn)與構(gòu)件類型之間關(guān)系的描述。
“端到端流(end-to-end flow)”定義的是一條源于子構(gòu)件、終止于子構(gòu)件的流,是經(jīng)過(guò)一連串系統(tǒng)子構(gòu)件,如線程、設(shè)備等的邏輯信息流,由關(guān)鍵字“end-to-end flow”在構(gòu)件實(shí)現(xiàn)中進(jìn)行聲明。端到端流其實(shí)是流實(shí)現(xiàn)的一種特殊情形。對(duì)于逼真度較低的模型,在端到端流的描述中,可以直接使用當(dāng)前構(gòu)件下的第一層子構(gòu)件中的流規(guī)范,而無(wú)須這些構(gòu)件實(shí)現(xiàn)的聲明。同樣,端到端流的聲明中也可以使用子構(gòu)件的構(gòu)件實(shí)現(xiàn)中定義的流。
端到端流的聲明顯然只涉及當(dāng)前一層子構(gòu)件,但實(shí)際模型中的子構(gòu)件實(shí)現(xiàn)中還可以包含子構(gòu)件[4]。因此,按照子構(gòu)件的層次,將端到端流的聲明逐層進(jìn)行實(shí)例化[5],最終即可得到流規(guī)范實(shí)例和連接實(shí)例共同構(gòu)成的端到端的“流實(shí)例(flow instance)”。在圖2所示的典型AADL流模型中,線程構(gòu)件T1,T2和T3分別是進(jìn)程構(gòu)件P1,P2和P3的子構(gòu)件,系統(tǒng)S中由P1發(fā)出,經(jīng)過(guò)P2到達(dá)P3的端到端流,具體到線程層次即表現(xiàn)為由T1發(fā)出,經(jīng)過(guò)T2到達(dá)T3的端到端流。
3? ? 結(jié)語(yǔ)
綜合航電系統(tǒng)以其高效、安全、模塊化的特點(diǎn)被越來(lái)越多的飛機(jī)所采用,系統(tǒng)分析必須選擇合適的方法、工具開(kāi)展,以保證分析結(jié)果的可信性以及對(duì)飛機(jī)安全性的保證。文章分析了AADL語(yǔ)言的特性和平臺(tái)工具特性,提出了航電系統(tǒng)流模型的建模方法。
[參考文獻(xiàn)]
[1]熊華鋼,王中華.先進(jìn)航空電子綜合技術(shù)[M].北京:國(guó)防工業(yè)出版社,2009.
[2]許金淼,楊志斌,黃志球,等.系統(tǒng)架構(gòu)描述語(yǔ)言AADL的功能行為建模擴(kuò)展[J].計(jì)算機(jī)科學(xué)與探索,2019(10):2350-2370.
[3]劉博,李蜀瑜.基于NuSMV的AADL行為模型驗(yàn)證的探究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012(2):110-113.
[4]高志偉.基于AADL的嵌入式軟件可靠性建模與評(píng)估[D].西安:西安電子科技大學(xué),2011.
[5]田丹,霍峰.基于AADL的航電系統(tǒng)建模技術(shù)[J].航空計(jì)算技術(shù),2010(3):120-122.