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