余晃晶,李仁發,黃麗達
(1.湖南大學 信息科學與工程學院,湖南 長沙 410082;2.三明學院 數學與計算機科學系,福建 三明 365001)
汽車防滑控制系統由制動防抱死系統ABS(Anti-Lock Brake System)及驅動防滑系統 ASR(Acceleration Slip Regulation)2部分組成,是典型的嵌入式實時控制系統.電子控制單元ECU(Electronic Control Unit)是控制系統的核心,所有信號采集、分析、處理及信號輸出都由ECU調度完成.對于汽車防滑控制系統,任務調度不當,輕則影響產品性能,重則會帶來災難性后果[1].如何在系統設計階段就能對系統的實時性、安全性、可調度性等關鍵性能進行分析和驗證,并有效控制開發時間和成本,是學術界和工業界共同面臨的難題.
傳統的汽車電子設計方法嚴格遵循從需求、設計、實現再到測試的過程,產品的設計周期長,成本高.模型驅動開發方法 MDD(Model-Driven Development)能在早期階段對系統進行分析和驗證,保證系統的質量屬性,控制開發時間和成本.統一建模語言 UML[2](Unified Model Language)是其中主要代表,但是UML側重描述系統的軟件體系結構,難以對系統中的硬件及實時性、可調度性和安全性等性能關鍵特性進行描述.2004年11月美國汽車工程師協會SAE在模型驅動設計語言的基礎上,提出嵌入式實時系統體系結構分析與設計語言AADL,并發布為SAE AS5506標準.AADL是一種專門用于設計與分析復雜嵌入式實時系統的軟、硬件體系結構的建模語言,這個語言支持在設計階段對系統性能關鍵特性(如實時性、安全性及可調度性等)進行分析與驗證,能及時發現體系結構潛在問題,確保最終的產品達到預期要求[3-4].目前,已廣泛用于航空電子、機器人、汽車電子等領域.
本文首先介紹AADL,然后描述汽車防滑控制系統功能,用AADL對汽車防滑控制系統建模,并論述了實時調度算法理論,利用任務調度與進程、線程、計算時間和處理器性能之間的關系,選取不同性能的處理器,在任務數不變情況下選取不同性能的處理器,用支持AADL的分析工具OSATE[5]對系統模型的可調度性進行分析.
AADL建模語言具有精確的語義和嚴格的語法規范,可用于描述嵌入式實時系統的軟、硬件體系結構,并能分析系統的功能及非功能屬性.AADL使用單一模型支持多種分析方式,可將系統設計、分析、驗證、自動代碼生成集成在一個框架中.AADL在國外已逐漸成為主流的體系結構建模方式,在國內還屬于研究起步階段.
構件是AADL中最重要的概念.構件分為軟件構件、執行平臺構件以及系統構件3類 .軟件構件包括進程、線程、線程組、子程序和數據5種用于軟件體系結構建模;執行平臺構件包括設備、處理器、存儲器和總線4種用于硬件體系結構建模;系統構件是軟件、執行平臺、或者系統構件的組合[3].在AADL中,構件通過類型(Type)和實現(Implementation)來定義,構件類型描述對外的功能接口(端口、子程序等);構件實現則描述構件的內部結構(子構件、屬性、連接等).端口是構件之間交換數據和事件的接口,是構件之間的邏輯關聯點,端口種類主要有數據端口、事件端口和事件數據端口.屬性用于描述體系結構中的約束條件,即非功能屬性約束,如截止時限、周期、時延、主頻等,進而支持驗證與分析系統的可靠性、可調度性等性質.
線程和處理器是跟可調度性有關的AADL中2個重要構件.線程根據任務性質的不同可分為周期(periodic)、非周期(aperiodic)、偶發 (sporadic)及后臺(background)4種;處理器構件是執行平臺上可計算資源,是操作系統的抽象.AADL通過映射關系使軟件構件綁定到硬件執行平臺上,通過定義構件的屬性,用于描述系統的關鍵性能.
目前基于AADL模型進行分析與驗證的工具很多,其中大部分是開源的,典型工具有OSATE,Cheddar和AdeS.本文使用的AADL建模工具OSATE是作為Eclipse平臺上的一套插件,用于AADL建模、編譯和分析,OSATE支持可調度性、端到端的流延遲、安全性、系統資源與能耗等分析[5].
汽車防滑控制系統由ABS和ASR這2個子系統組成.ABS的作用是防止汽車在急剎過程中車輪過快抱死;ASR的作用是防止汽車在起步、加速過程中驅動輪打滑.ABS通過調節制動輪缸的制動壓力來控制制動力矩,進而達到在制動時防止車輪抱死的目的.而ASR則主要通過改變節氣門的開度去改變發動機輸出扭矩,同時也通過ABS調節制動壓力,防止在加速時產生車輪滑轉[6],2個子系統既有區別又有聯系.防滑控制系統主要由傳感器、電子控制單元(ECU)和執行器3部分組成,汽車防滑控制系統功能結構如圖1所示[7].
防滑控制系統定時采集車輛傳感器上的輪速信號、剎車踏板信號、油門踏板位置信號,接收汽車巡航控制系統 ACC(Adaptive Cruise Control)通過CAN總線傳來的車速信號、節氣門開度信號以及CAN總線上其他控制信息,這些信號與數據經不同ECU處理后得到汽車當前運行狀態與輪速狀態.
汽車防滑控制系統是實時控制系統,為保證ECU控制的實時性,必須使信號采集、計算、控制等任務協調工作、及時完成.因此任務的可調度及調度優化是汽車防滑控制系統性能的重要指標.

圖1 汽車防滑控制系統功能結構圖Fig.1 The anti-slip control system function block diagram
AADL使用文本、圖形方式建模,兩者之間可以互相轉化.AADL采用分層建模逐步精化的建模方法,先對底層的設備構件與線程構件建模,聲明構件類型與構件實現,定義構件的特征、屬性、連接等;然后是執行平臺建模,通過映射關系將軟件構件綁定到硬件執行平臺上;最后是頂層集成系統設計,將各子系統作為頂層系統的子構件建模.汽車防滑控制系統的AADL模型如圖2所示,在圖中進程Abs_process有3個線程:線程Brake_status用于采集剎車踏板傳感器的剎車信號,線程Compute_velocity將輪速傳感器的脈沖信號轉化為輪速數據,線程Abs_decision_making根據收到的剎車信號、車速、輪速進行綜合分析決策,3個線程具有相同地址空間,它們被綁定到處理器CPU1上 .在進程Asr_process中有2個線程:線程Acclerator_status負責采集油門踏板傳感器傳送的油門狀態信號.線程Asr_decision_making根據收到的節氣門開度信號、車速和油門狀態信號進行綜合分析決策,這2個線程具有相同地址空間,它們被綁定到處理器CPU2上.2個處理器之間使用CAN總線連接,根據系統任務的特性及需要,這5項任務都被建模為周期線程.汽車防滑控制系統在OSATE中的模型如圖3所示.

圖2 汽車防滑控制系統的AADL模型Fig.2 The anti-slip control system AADL model

圖3 系統在OSATE中的模型圖Fig.3 The model diagram of system in OSATE
構件的屬性及其屬性值是AADL分析與驗證的依據,與線程有關的屬性主要有Dispatch Protocol屬性、Period屬性、Compute_Execution_Time屬性和Deadline屬性.Dispatch Protocol屬性的屬性值是4種任務類型;Period屬性的屬性值是周期任務的周期;Compute_Execution_Time屬性的屬性值是任務的執行時間;Deadline屬性的屬性值是任務的截止時限.處理器是硬件執行平臺上可計算構件,通過設置cycle_time屬性規定處理器的主頻;通過設置屬性Scheduling_Protocol來關聯任務的調度算法.
AADL支持單處理器與多處理器實時調度,支持搶占與非搶占式調度策略及多種固定優先級、動態優先級調度算法,如單調速率RM(rate monotonic),截止期單調DM(deadline monotonic),最早截止期優先 EDF(earliest deadline first)等[8].
表1是5個線程構件的屬性及屬性參考值,參考值是根據文獻[9-10]中給出的例子而得到的.

表1 線程任務的屬性及屬性參考值Tabl.1 The thread task attributes and reference values
可調度性是指系統中的各任務都能在其截止時限內完成,任務調度是實時系統內核的關鍵部分.由于汽車防滑控制系統中的任務被建模為周期任務,故本部分主要論述周期性任務的實時調度算法理論.
在任務間可搶占的實時運行環境中,對于硬實時系統周期任務的調度已經有一些很成熟的調度算法,比較通用的有單調速率優先RMS算法和截止期最早優先EDF算法,同時這些算法也是AADL所支持的.
為便于問題描述,首先建立周期任務集TS=({ti},{Ti},{Ci},{Di})模型.集合中的ti為周期任務,Ti為任務周期,Ci為任務計算時間,Di為截止時限且為周期終點.任務在周期起點釋放,任務可搶占.定理1給出RMS算法可調度判定條件.
定理1TS由n個獨立的周期任務組成且每個任務的截止時限等于周期,則TS可以被RMS調度,如果

當任務數趨于無窮大時有:

RMS算法已被證明是靜態最優調度算法,開銷小,靈活性好,缺點是當某些任務的截止時限不等于周期時,RMS算法不是最優算法 .另外,當n→∞時,處理器利用率不超過0.69.
最早截止時間優先算法(EDF)是一種動態調度算法.任務模型與RMS調度算法相同,優先級動態分配,截止時限越短,優先級越高.定理2給出EDF算法可調度判定條件.
定理2 一個任務集可按EDF算法調度的充要條件為:

EDF調度算法已被證明是動態最優調度算法,使用EDF調度算法,處理器利用率最大可達100%,缺點是在系統超載時,為了能讓其他作業能夠及時完成,一些作業會被拋棄,導致系統行為不可預測.另外,它的在線調度開銷比RMS算法大.
對于安全關鍵的汽車電子系統而言,時間的正確性就等于功能的正確性.為了支持系統的實時性和穩定性,需要在系統設計階段對實時系統進行可調度分析,并結合實際運行平臺進行驗證.
模型的可調度性分析有助于及時發現系統潛在問題:如任務時限、周期安排是否合理,調度策略選擇是否正確,處理器選型是否妥當等.如果分析結果超過設計要求很多,應重新設計系統的軟、硬件體系結構[7].針對系統特點選擇一種合適的算法是實時系統重要問題,因為汽車防滑控制系統建模時將ABS子系統和ASR子系統中的任務靜態地分配并綁定到不同的處理器上,不存在一個任務被搶占后在另一個處理器上執行情況,因此系統是單處理實時調度.根據4.1節實時調度算法特點,并結合系統安全關鍵的特性,選擇RMS算法與處理器關聯是最佳選擇.
ABS子系統有3個線程,根據公式(1)可得CPU1利用率應小于78%;ASR子系統有2個線程,同理可得CPU2的利用率應小于82.8%.
在AADL中可調度性分析不僅與調度算法有關且與線程構件中的線程處理時間、周期、截止時間和處理器構件中的處理器主頻高低等屬性有關,借助OSATE的線程綁定與調度分析插件可對實例化后的系統模型進行驗證分析,得到處理器1和處理器2的性能與處理器利用率之間對應表,結果如圖4和圖5所示.

圖4 處理器1性能與負荷圖Fig.4 The processor 1performance and load diagram

圖5 處理器2性能與負荷圖Fig.5 The processor 2performance and load diagram
由圖4和圖5可以看出,處理器性能與負載成線性關系,當處理器CPU1利用率為78%時,處理器的主頻為550MHz;當處理器CPU2的利用率為82.8%時,處理器的主頻為900MHz.由于實時系統處理器需要一定冗余,故在實際選擇處理器時,應選擇主頻更快一些的處理器.
本文主要論述了汽車防滑控制系統AADL建模過程以及根據實時調度理論利用工具軟件QSATE對模型進行可調度性分析.通過分析可以有效地對系統的可調度性進行早期預測,使設計人員在設計初期就能對產品性能進行分析與驗證,及時發現設計中潛在的問題,以便重新調整設計方案,以滿足系統設計要求.該方法對降低系統開發成本和縮短系統開發周期具有積極的意義.
[1]TEEPE G,REMBOSKI D,BAKER R.Towards information centric automotive system architecture[R].SAE Convergence 2002,Transportation Electronics,Detroit:MI,2002.
[2]OMG.UML profile for modeling and analysis of real-time and embedded systems[EB/OL].[2008].http://www.omgmarte.org/.
[3]SAE Aerospace.SAE AS5006,architecture analysis and design language[EB/OL].[2004].http://www.aadl.info/aadl/currentsite.
[4]SAE Aerospace.SAE architecture analysis and design language annex volume 1,society of automotive engineers[EB/OL].[2006].http://www.aadl.info,2006.
[5]SEI.Open source AADL tool environment[EB/OL].[2006].http://la.sei.cmu.edu/aadlinfosite/Open Source AADL Tool Environment.html.
[6]LIU Zhao-du,LU Jiang,SHI Kai-bin.Integrated ABS/ASR/ACC system for the car[J].Journal of Beijing Institute of Technology,2001,10(3):249-254.
[7]王偉達,丁能根.ABS/ASR集成控制系統ECU開發與驗證[J].工業控制計算機,2008,11(21):49-52.WANG Wei-da,DING Xiong-geng.ECU software and hardware of the ABS/ASR integral control system [J].Industrial Control Computer,2008,11(21):49-52.(In Chinese)
[8]SOKOLSKY O,LEE I.Schedulability analysis of AADL models[M].[S.I.]:IEEE,2006:164-172.
[9]HUDAK J,FEILER P.Developing AADL models for control systems:apractitienor’s guide[C].Pittsburgh:SEI,Carnegie Mellon University,2007.
[10]IRFAN H,BECHIR Z,ELIE N.Automatic framework generation for hard real-time applications[J].Innovations Syst Softw Eng,2008(4):107-122.