楊夏
摘 要:AADL和MARTE都支持對實時嵌入式系統(tǒng)形式化建模的分析。利用MARTE的時間模型設備,研究MARTE是如何對實時嵌入式系統(tǒng)的建模和分析的,能夠比較準確的通過事件或者數(shù)據(jù)端口的端到端流延遲分析,表達AADL周期性或非周期性任務。
關鍵詞:AADL;MARTE;流延遲
中圖分類號:TP202 文獻標識碼:A
1 引言(Introduction)
現(xiàn)代嵌入式系統(tǒng)必須支持在異構架構上部署異構應用。因此,根據(jù)所施加的實時限制,對配對早期性能進行估計,非常必要。這就要求設計一個即是應用程序也是系統(tǒng)結構的模型,該模型是定義應用性功能映射到體系結構的資源和服務的有效手段。
AADL和MARTE是具備這樣功能的兩個的模型框架。雖然他們有許多相似的功能,但MARTE在建模方面更為詳細。可不可用MARTE模型框架代替AADL模型框架進行嵌入式系統(tǒng)建模呢?前提是MARTE必須解決的一個問題是:如何表現(xiàn)AADL提供的任務之間的特定通信方案。AADL在原來的諧波或者獨立期情況下,任務可以是周期性的或非周期性的,任務之間的通信可以使用事件數(shù)據(jù)或純數(shù)據(jù)端口進行。
讓MARTE代表所有周期性與非周期性,事件觸發(fā)與采樣數(shù)據(jù)等類型的通信雖然是挑戰(zhàn),但同時也有機會提供建模框架內的實時語義。使用MARTE時間模型構建語義[1]結構的目的是,以一種正式的方式為計算和通信定義一個新的計時領域。本文的主要目的是,AADL在終端到終端的流量延時分析中,MARTE具體如何實現(xiàn),這種實現(xiàn)是否可納入正式的標準附件。
2 AADL的MoCC與 MARTE.(AADL MoCC with
MARTE)
MoCC(Model of Computation & Communication)即計算和通信模型。在MARTE中除了模型元素,時間語義元素也必須被定義。一方面是計算模型中的時間語義,即計算的開始、完成或中止時的時間語義。另一方面是通信模型中的時間語義,即什么樣的通信被使用。MARTE的時間語義子信息,從標簽系統(tǒng)的原理中得到啟發(fā),提供了一組通用的機制來定義MoCC。可以使用原型時鐘約束作為MARTE的約束,它派生自UML的約束元類。使用在時鐘約束上的語言叫做時鐘約束規(guī)范語言CCSL,它被定義為MARTE規(guī)格的附件。
在AADL中兩種通信都是可能的:其一是數(shù)據(jù)驅動的通信,是指給定任務的執(zhí)行是通過前面的多個任務所產生的數(shù)據(jù)的可用性而觸發(fā)的。這里的前面是指在控制流定義的順序中處于前面。其二是采樣通信,其中的純數(shù)據(jù)僅被作為采樣和用來表示任務是否被激活時使用。數(shù)據(jù)驅動的通信存在于鏈中,這個鏈可以通過兩種方式存在:其一,通過事件或事件的數(shù)據(jù)端口連接的非周期的任務、設備或線程組成。其二,通過一個即時連接的數(shù)據(jù)端口將同步的周期性任務連接起來。在第二種情況下,耗時的任務變?yōu)榉侵芷谛裕瑫r,它的執(zhí)行是通過在完成生產任務時被觸發(fā)的。CCSL時鐘關系與數(shù)據(jù)驅動通信模型交替更迭。
step1.finishalternatesWithstep2.start (1)
式(1)說明了從第1步到第2步的數(shù)據(jù)驅動通信。注意,該約束是不對稱的,步驟1的完成可能導致步驟2的執(zhí)行,反之不一定成立。
采樣通信發(fā)生在不同的情況下。例如,當兩個異步的任務通信時,或者是當兩個同步周期性任務通過一個延遲連接的數(shù)據(jù)端口而被連接時都可能發(fā)生采樣通信。
step2.start = step1.finish sampledTo^step2 (2)
式(2)顯示了從第一步到第二步的采樣通信。^step2表示步驟2的激活條件。如果步驟2是一個周期性的線程,那么它的激活條件可以使用CCSL中的isPeriodicOn關系來定義,見式(3)和式(4)。
C100=idealClkdiscretizedBy 0.01 (3)
^step2 isPeriodicOn C100 period=10 (4)
idealClk在MARTE中被定義為時間庫,代表一個有密集計時功能的(有關物理時間)完美(沒有抖動或其他任何瑕疵)時鐘。式(3)由離散idealClk定義C100。idealClk的默認單位是秒,所以C100是一個100Hz的離散計時時鐘。第二步對C100定義周期為10,見式(4),這使得第二步是一個10Hz的離散計時時鐘。另外,第二步是一個非周期性線程,它的激活狀態(tài)不會一直綁定在邏輯時鐘上。
3 舉例(An example)
3.1 AADL的描述
選取了一個系統(tǒng)進行說明[2]。該系統(tǒng)由一個傳感器裝置的Ds,兩個進程P1和P2,以及執(zhí)行設備Da組成。進程P1包含一個單獨的線程T1,進程P2包含兩個線程T2和T3。端到端的流從Ds開始,流經(jīng)T1、T2和T3,最后再Da結束[3]。如圖1所示。
圖1 一個AADL模型(從傳感器經(jīng)過三個線程到達執(zhí)行器)
的流示例圖
Fig.1 Flow extracted from an AADL model
將上述AADL模型部署在基于AADL的OSATE Eclipse插件的環(huán)境中,如圖2所示。流從一個傳感器開始,經(jīng)過三個進程,最后匯集在執(zhí)行器。傳感器和執(zhí)行器都是非周期性裝置,是執(zhí)行平臺的一部分。每個進程執(zhí)行一個線程。另外,通過總線(DB1)通信的有兩個處理器(CPU1和CPU2),該主機有三個進程,這些進程帶有一些約束。這三個進程可以由任何一個處理器處理,也可以是組合執(zhí)行。
圖2 系統(tǒng)實例在OSATE平臺上的部署圖
Fig.2 The system in OSATE
3.2 用MARTE表示同步采樣流
用UML的活動圖描述模型算法,如圖3的上半部分所示。所有的通信都通過無限隊列的事件數(shù)據(jù)端口進行。與圖1相比,把獲取和釋放兩個動作看作設備的行為。
在圖3的中間部分和下部,利用類組合結構圖,對AADL軟件和執(zhí)行平臺組件進行建模。從MARTE的stereotypes提取的信息,可以確定適當?shù)臅r鐘約束,如圖4所示。
圖3 用MARTE模型描述所有周期情況圖
Fig.3 All periodic case MARTE model
圖4 所有周期情況的CCSL約束圖
Fig.4 All periodic case of CCSL constraints
由于示例中的所有線程都有周期性和同步性,所以,前三次通信:從獲取到第一步,從步驟1至步驟2,從步驟2到步驟3,將被進行采樣通信。最后的通信,即從步驟3到釋放,是數(shù)據(jù)驅動的,這是因為設備是非周期性的。
式5聲明了所有周期性線程的共同時鐘。圖4用等效圖形表示CCSL約束。綠色箭頭表示通信。虛線箭頭表示即時關系。平原箭頭表示嚴格的優(yōu)先級,而空箭頭表示沒有嚴格的優(yōu)先級。用式(6)和式(7)可以解釋。
獲取(Ds)完成(Ds.finish)動作的瞬間被置于兩個任務的時鐘之間[4],這個瞬間稱為clki(第6式)這意味著,操作步驟1必須緊跟在任務clki+1,如式(7)。
clk≡idealClkdiscretizedBy P (5)
(i∈N*)(Ds.finish∈[clki,clki+1]) (6)
step1.start [clki+1,clki+2]) (7)
這是一個異步采樣的定義。異步設備Ds發(fā)出的數(shù)據(jù)通過同步線程T1取樣,這個過程遵循它自己的時鐘clk。
AADL的綁定機制等價于MARTE的配置包。首先,行為和對象節(jié)點以軟件組件的形式被分配,如圖4的虛線箭頭。第二,軟件組件被分配給執(zhí)行平臺的模型元素。
所有這些注釋,都可以用模型驅動工程技術提取,并送入實時分析工具,包括AADL延時分析工具。圖5所示是UML和MARTE的時序圖,加粗的水平線表示執(zhí)行時間,它等于設備的延遲加上最小執(zhí)行時間和線程的截止時間之間的值域。兩條水平線之間的斜線代表通信和采樣延遲。對于采樣通信,相當于等待接收時鐘的下一個時鐘滴答的時間總和。最大采樣延遲出現(xiàn)在為了完整的采樣周期而進行的通信等待時,因為有可能前面滴答剛好錯過。從圖中的分析結果來看,MARTE比AADL有一些優(yōu)勢。
以下的這些公式可以作為AADL延遲分析工具。
End-to-End Flow Latency=Ds.latency+flow latency+Da.latency
Flow Latencyworst-case=t1.period+t2.period+t3.period +ts.deadline
Flow LatencyBest-case=t1.period+t2.period+t3.period+t3.MinExecTime
Latency jitter=t3.deadline-t3.MinExecTime
圖5 所有周期情況的時序圖
Fig.5 All periodic case of timing diagrams
4 結論(Conclusion)
本文中,我們展示了如何將MARTE用于模擬具有周期性和非周期性任務的混合系統(tǒng)中,這對嵌入式系統(tǒng)建模來說,是一個比較重要的問題。另外,還比較了MARTE與AADL,得出的結論是:MARTE可以用公式計算流延遲。更為重要的是,MARTE及其時間模型可以用于模擬計算和通信的各種定時模型。
參考文獻(References)
[1] André C,Mallet F,de Simone R(2007):ModelingTime(s).
Springer LNCS 4735:559-573.
[2] Faugère M,Bourbeau T,de Simone R,Gérard S(2007):
MARTE:Also an UML Profile for Modeling AADLApplications.
ICECCS:359-364.
[3] Feiler P.H,Hansson J:Flow Latency Analysis with the
Architecture Analysis and Design Language(AADL).Carnegie
Mellon University,Technical Note CMU/SEI-2007-TN-
010,June 2007.
[4] André C,Mallet F,de Simone R(2007):Modeling ofImmediate
vs.Delayed Data Communications:from AADLto UML
MARTE". ECSI FDL 2007.
作者簡介:
楊 夏(1976-),女,碩士,副教授.研究領域:嵌入式系統(tǒng)與
編譯優(yōu)化.