唐家強(qiáng) 王星皓 安品臣 胡賓洋
摘? ?要:在分布式綜合航空電子信息流時(shí)延分析的過程中,時(shí)間觸發(fā)(TT)流量可以直接在體系結(jié)構(gòu)分析與設(shè)計(jì)語言的流時(shí)延分析框架下進(jìn)行分析,而對(duì)速率約束(RC)流量的分析必須借助其他專用的分析模型,即實(shí)時(shí)演算(RTC)模型。因此,必須實(shí)現(xiàn)基于模型意義一致性的從AADL模型向RTC模型的轉(zhuǎn)換,并且使轉(zhuǎn)換后的模型可以利用RTC分析工具快速獲取必要的時(shí)延參數(shù),文章對(duì)此進(jìn)行了研究。
關(guān)鍵詞:綜合模塊化航電;信息流;建模;體系結(jié)構(gòu)分析和設(shè)計(jì)語言
體系結(jié)構(gòu)分析和設(shè)計(jì)語言(Architecture Analysis and Design Language,AADL)[1]是SAE標(biāo)準(zhǔn)定義的一種兼有文本和圖形形式的體系結(jié)構(gòu)描述語言,特別適用于性能關(guān)鍵性實(shí)時(shí)系統(tǒng)的軟件和硬件體系結(jié)構(gòu)的描述、設(shè)計(jì)和分析。在分布式綜合航空電子信息流時(shí)延分析的過程中,時(shí)間觸發(fā)(Time Trigger,TT)流量可以直接在AADL的流時(shí)延分析框架下進(jìn)行分析,而對(duì)速率約束(Rate Constraints,RC)流量的分析必須借助其他專用的分析模型,即實(shí)時(shí)演算(Real-Time Clock,RTC)模型。
1? ? 與RTC分析相關(guān)的AADL構(gòu)件屬性
由于需要借助RTC模型對(duì)RC流量在具體互連情況下的時(shí)延進(jìn)行分析,因此,系統(tǒng)AADL模型中必須包含足夠的、構(gòu)建相應(yīng)的RTC模型所需的,主要用以描述輸入網(wǎng)絡(luò)節(jié)點(diǎn)的事件流的到達(dá)曲線、服務(wù)曲線以及通信和處理過程的歷時(shí)等的參數(shù)信息。下面,將從不同構(gòu)件的角度分析AADL模型中應(yīng)當(dāng)包含的用于RTC分析的參數(shù)。
1.1? 處理器構(gòu)件
每個(gè)有線程綁定的處理器都應(yīng)當(dāng)定義其調(diào)度方式,標(biāo)準(zhǔn)AADL中定義了屬性“調(diào)度協(xié)議(Scheduling_Protocol)”來描述處理器對(duì)線程的調(diào)度方式。
這里遇到的一個(gè)主要挑戰(zhàn)是,AADL標(biāo)準(zhǔn)允許對(duì)一個(gè)處理器構(gòu)件定義多種調(diào)度方式,但未對(duì)綁定在其上的線程具體采用的調(diào)度方式進(jìn)行說明[2],因此,有必要為線程增加相關(guān)的屬性,描述其能夠接受的調(diào)度方式。
1.2? 線程構(gòu)件
對(duì)于線程構(gòu)件,依據(jù)AADL標(biāo)準(zhǔn)中定義的“派發(fā)協(xié)議”屬性的不同取值,可以分為4種類型:周期線程、非周期線程、偶發(fā)線程以及背景線程。
周期線程和偶發(fā)線程必須定義“周期”屬性的參數(shù)值,如果在此時(shí)間間隔內(nèi)有多于一個(gè)的偶發(fā)消息到達(dá)時(shí),后到達(dá)的消息必須等待前一消息,經(jīng)過此時(shí)間間隔之后方能接受調(diào)度并執(zhí)行。
針對(duì)不同的調(diào)度策略,線程需要提供不同的屬性值:對(duì)于FPS調(diào)度,線程必須提供“優(yōu)先級(jí)”屬性值(該屬性未在標(biāo)準(zhǔn)AADL中給出定義);對(duì)于EDF調(diào)度,線程必須提供“截止期限”屬性值;對(duì)于RMS調(diào)度,線程同樣需要給出“周期”屬性的參數(shù)值。
1.3? 總線構(gòu)件
參考RTC資源模型中服務(wù)曲線的定義方式可知,總線的帶寬是刻畫其服務(wù)特性所必須的參數(shù);此外,由于分布式綜合航空電子系統(tǒng)采用時(shí)間觸發(fā)以太網(wǎng)(Time Triggered Ethernet,TTE)實(shí)現(xiàn)構(gòu)件互連,因此,系統(tǒng)中總線采取時(shí)分多址(TDMA)的復(fù)用方式,故TDMA循環(huán)周期的長(zhǎng)度也是必須給出的參數(shù)值,上述兩個(gè)屬性均未在標(biāo)準(zhǔn)AADL中給出。
1.4? 端口
由于“端口”是某一特定構(gòu)件的特性以及流量進(jìn)入節(jié)點(diǎn)的入口,因此,RTC模型中刻畫輸入事件流特性的到達(dá)曲線所包含的參數(shù)均應(yīng)當(dāng)由端口的相關(guān)屬性來提供。RTC分析采用周期抖動(dòng)延遲(Period Jitter Delay,PJD)模型來描述輸入事件流的特性,對(duì)此,可自定義適用于端口的兩個(gè)屬性來提供上述3個(gè)參數(shù):輸入速率“Input_Rate”屬性值以范圍[s,p]表示,其中,s表示在到達(dá)的事件流中相鄰兩個(gè)到達(dá)事件所應(yīng)具有的最小時(shí)間間隔(即參數(shù)D),p表示該事件流的長(zhǎng)期(long-term)周期(即參數(shù)P);輸入抖動(dòng)“Input_Jitter”屬性值表征PJD模型中的參數(shù)J。
2? ? AADL語言擴(kuò)展支持RTC模型
從對(duì)TT流量進(jìn)行時(shí)延分析的過程中不難看出,AADL時(shí)延分析框架為分析提供了很大便利,使得在基于AADL描述的系統(tǒng)模型中[3],只需給出構(gòu)件的相關(guān)屬性的參數(shù)值即可用于時(shí)延分析。這里的“相關(guān)屬性”,在AADL標(biāo)準(zhǔn)中均有相應(yīng)的定義。
AADL語言主要用于系統(tǒng)體系結(jié)構(gòu)的頂層架構(gòu)設(shè)計(jì)、開發(fā)與驗(yàn)證,并未深入考慮系統(tǒng)中具體的網(wǎng)絡(luò)互連情況,僅定義了個(gè)別屬性(如總線構(gòu)件的“Transmission_Time”和“Propagation_Delay”屬性),而且,這些屬性的參數(shù)值是需要系統(tǒng)設(shè)計(jì)者預(yù)先設(shè)定的,因此,設(shè)計(jì)者需要圍繞所使用的分析方法,結(jié)合系統(tǒng)中構(gòu)件的具體互連情況來修改和完善AADL模型,使之包含后續(xù)分析所必需的參數(shù)信息。在考慮系統(tǒng)中網(wǎng)絡(luò)互連的情況下,本課題主要采用RTC模型開展信息流時(shí)延分析。RTC通過PJD模型刻畫到達(dá)曲線,而這3個(gè)參數(shù)都沒有在AADL信息流模型的標(biāo)準(zhǔn)屬性中給出定義。再如,RTC模型中刻畫資源模型所需的參數(shù)包括處理器的延遲確界、總線的復(fù)用方式等,這些參數(shù)也沒有體現(xiàn)在AADL流模型的定義中。因此,有必要借助AADL可擴(kuò)展的特性,對(duì)其進(jìn)行擴(kuò)展,增加適于表征具體互連特征的構(gòu)件屬性,以用于RTC分析。
SAE AS5506標(biāo)準(zhǔn)中明確規(guī)定,“可以通過‘屬性集(property set)‘附件子句以及‘附件庫(kù)對(duì)AADL語言進(jìn)行用戶自定義擴(kuò)展”??梢?,系統(tǒng)設(shè)計(jì)者依據(jù)開發(fā)需要,通過自定義屬性集增加相應(yīng)的屬性,實(shí)現(xiàn)對(duì)符合特定要求的系統(tǒng)功能的描述,正是AADL語言的一種合理擴(kuò)展。
只用于特定的AADL工程的自定義屬性集,建議存儲(chǔ)在相應(yīng)工程文件目錄中的“propertysets”文件夾下,此類屬性集不會(huì)對(duì)其他AADL工程造成影響,當(dāng)然,也不能為其他工程所用;如果希望所定義的屬性集在不同AADL工程之間能夠?qū)崿F(xiàn)共享,則可以將屬性集文件存儲(chǔ)在OSATE中構(gòu)建所有AADL工程所使用的根路徑下的“Plugin_Resources\aadl”文件夾中。在自定義的屬性集中,可以定義適用于特定構(gòu)件類型的新的屬性,也可以定義新的單位類型,如下例所示。需要注意的是,除標(biāo)準(zhǔn)AADL定義的兩個(gè)屬性集“AADL_Project”和“AADL_Properties”之外,使用其他屬性集中定義的屬性時(shí),必須在屬性名稱前通過“::”符號(hào)冠以屬性集的名稱,如“SEI::NetWeight”。
3? ? 結(jié)語
論文通過分析AADL語言的結(jié)構(gòu)特征,采用擴(kuò)展模式支持了RTC模型的分析,為后續(xù)開展實(shí)時(shí)網(wǎng)絡(luò)系統(tǒng)的分析提供了基礎(chǔ)。
[參考文獻(xiàn)]
[1]Society of Automotive Engineers.SAE aerospace standard:SAE architecture analysis & design language[EB/OL].(2006-06-01)[2020-02-25].http://www.so.com/s?src=lm&ls=sm2162189&lm_extend=ctype%3A31&q=SAE+AS5506%2F1%2C+2006.06.
[2]FEILER P,HANSSON J.Flow latency analysis with the architecture analysis and design language(AADL)[R].CMU/SEI-2007-TN-010,2007.
[3]FEILER P,GLUCH D,HUDAK J,et al.Embedded system architecture analysis using SAE AADL[R].CMU/SEI-2004-TN-005,Carnegie Mellon University & Software Engineering Institute,2004.