軟件可靠性仿真測試平臺實時技術研究
②時鐘級消息:由精確定時器產生“定時時間到”的消息。在正常測試過程中,該消息為最高級別。時鐘級的消息主要分配給在實時測試中的數據生成模塊和驅動模塊。
本文引用地址:http://www.104case.com/article/83648.htm③普通級消息:該類消息主要分配給用戶接口模塊、記錄模塊等功能模塊。
2.2.4 仿真器關鍵功能模塊的實時性實現技術
①網絡通信模塊:非實時部分采用TCP/IP協議方式進行網絡傳輸。實時部分利用設置網絡通信緩存區的方式,從通信結果上可以部分實現網絡傳輸的實時通信,其關鍵在于緩沖的深度。或者采用VXD技術,直接對網卡進行傳輸操作,可以避免由于網絡延遲而影響系統實時性能的缺陷。
②顯示模塊:在實時測試過程中,通過該模塊,可以顯示測試數據,并且用戶能對測試過程進行控制。在實時測試中,中心任務處理周期為25 ms,在任務周期的空余時間還需要進行其它處理。因此在每25 ms周期內,留給顯示任務的時間就非常少,另外由于人眼對數據變化的敏感程度低于25 ms,因此每50 ms以上進行一次相關數據顯示就可以滿足系統的需求。在數據顯示中,文本顯示比圖形顯示占用CPU處理時間要少許多。在圖形顯示中,采用高性能的圖形處理算法,可以保證圖形處理的實時性。另外,隨著圖形卡硬件性能的提高,在圖形加速卡性能保證的情況下,系統只需計算圖形描述語句占用CPU的時間,圖形繪制方面的時間可以不給予主要考慮。圖形實時顯示算法還有待進一步研究。
③交聯數據1553B驅動模塊:由于Win98處于安全模式,Win98中的虛擬內存地址與實際物理地址并不一致,用戶不易直接訪問硬件的實際物理內存地址和I/O口地址。為了滿足實時驅動MBI卡的需要,通過WinDriver工具軟件,直接映射MBI卡上的實際物理內存地址和I/O地址,并將硬件中斷虛擬化,利用WinDriver生成的一系列讀寫內存和I/O口地址的函數,用戶就可以直接快速地對硬件進行控制。實驗結果表明,在Win98應用任務單一的情況下,用戶操作MBI卡的速度同于在DOS下的速度。WinDriver工作原理如圖5所示。
圖5 WinDriver工作原理圖
3 結束語
本文以實時測試某航空軟件可靠性為背景,介紹了仿真器在仿真測試平臺中的作用。按照模塊化和可擴充的設計思想,給出了仿真器功能結構組成;并且著重介紹了仿真器的任務調度管理模塊的設計思想,針對具體任務和系統工作模式,提出了集成動態調度策略;對于優先+級的調度方式,采用了優先級浮動的原則。另外,給出了實時網絡實現的方法,討論了圖形實時顯示的可行性,利用WinDriver實現了在Win98下對硬件MBI卡的直接驅動。實驗結果表明,上述調度思想與相關技術綜合運用,很好地滿足了仿真器系統工作的實時性。
* 本課題由國防科技“九五”重點預研項目支持
參考文獻
[1]蔡開元.軟件可靠性工程基礎.北京:清華大學出版社,1995
[2]Dunham J R Real-time Software Failure Characterization.IEEE AES Magazine,1990.11
[3]Kaneko H,Stankovic J A. A Multimedia Server on the Spring Real-time Systems Umass Computer Science Technical Report 96-11,1996.1
[4]唐榮錫.計算機圖形學教程.北京:科學出版社,1994
評論