【摘要】本文描述了計算機仿真的特點和建模方法。提出了一種新的面向對象建模方法。
【關鍵詞】計算機仿真; 建模;面向對象
1.引言
計算機仿真是利用一個模型來模仿實際系統所發生的運動過程并進行試驗的技術。工程上的一個設計方案,社會經濟中的一種規劃,都可以通過仿真試驗來驗證方案或規劃能否達到預期的目標。如果達不到目標,可以及時發現問題,修改方案或規劃。這樣既省時又安全。例如在飛行姿態控制系統的設計過程中,從方案論證開始,到元部件選擇、系統初步設計,詳細設計和樣機生產各個階段,都可以應用仿真技術通過仿真試驗達到以下目的。
2.計算機仿真過程
計算機仿真是在計算機上建立仿真模型,模仿實際系統的運行狀態及其隨時間的變化過程。通過對仿真試驗過程的觀察和統計,得到被仿真系統的仿真輸出參數和基本特性,以此來估計和推斷實際系統的真實參數和真實性能。由此看出,計算機仿真是一種有效的試驗手段,它為一些復雜系統創造了一種計算機試驗環境,使系統的性能和長期的動態特性能在極短的時間內由計算機得到全面的實現。
利用計算機進行數學仿真一般需要經過下列各個階段:
(l)確定對系統進行仿真的目的和基本要求,即弄清楚仿真所要解決的間題,并給出明確的說明。
(2)建立系統的數學模型,將被仿真的系統表示成微分方程組,差分方程組,傳遞函數,結構圖,信號流圖或其它的數學表示式。這一過程稱為一次建模過程,它是數學仿真的重要依據。
(3)將原始的數學模型通過一定的方式變換成能在計算機上實現和運行的數學模型,即仿真模型。通常把仿真模型稱作二次化模型,它通常是離散系統方框圖或差分方程(離散方程)的形式。
(4)編制仿真模型的程序并進行調試。
(5)仿真模型的校驗和確認,并進行計算機仿真實驗。仿真模型校驗是指仿真模型與數學或物理模型的一致性檢驗,而仿真模型的確認是指仿真模型與實際系統一致性的檢驗,檢驗它是否真實地反映了實際系統運行過程的特性。
3.面向對象技術的特點
面向對象的設計方法基于Parnas的信息隱藏和Cuttag的抽象數據類型等思想和概念,它追求問題求解空間和問題空間的直接模擬。一個問題由一些事物組成,這些事物之間必然會有聯系,為了描述不同的事物及其聯系,引入如下概念。
(1)對象
在面向對象系統中,對象是基本的運行時實體,既包括數據(屬性),又包括作用于數據的的操作(行為),所以一個對象把屬性和行為密封成一個整體。
(2)類
一個類定義了一組大體上相似的對象。一個類所包含的方法和數據描述一組對象的共同行為和屬性。
(3)消息
對象之間進行通信的一種構造叫消息。
(4)繼承
不同層次類之間共享數據和操作的機制叫繼承。一切事物以對象為唯一模型,對象間除了互相傳送消息外,沒有別的聯系。開發任何面向對象系統的第一步必須決定可用來實現該系統的類的集合。構成一個系統的類,以及這些類之間的相互作用成了一個面向對象系統的體系結構的基礎。面向對象的開發通常含下面幾步:標識系統中的對象及對象類(即類);抽取每個對象的行為特征;確定對象之間的關系;類的實現。面向對象方法根據現實系統的表現,通過上述過程,將問題空間同態映射到解空間,獲得系統的計算機實現。
4.面向對象的仿真建模過程
在確定了仿真的目的,即想通過仿真所獲取的系統性能指標后,需要作的工作就是對系統狀態及輸入、輸出進行描述,從而形成仿真模型。一般情況下,可按下面4個方面對系統進行描述:
4.1 系統的組成部分
系統的組成部分是構成系統的實體,應該首先概括說明各組成成分及其與真實系統相應部分的對應關系。
4.2 描述變量
描述變量是系統各實體的屬性,包括取值范圍、符號及其作用。
4.3 參數
參數也是系統屬性,不過這種屬性不隨仿真的進行而發生變化。還應說明其取值范圍、符號及其作用。
4.4 相互關系
相互關系規定各不同變量值間是如何相互關聯的,用數學或邏輯語言表示出相互作用關系。由上可知,仿真建模的一般過程與面向對象思想是較為吻合的,探討面向對象的仿真建模有其認識論依據。系統的組成成分可由類,對象描述,描述變量和參數對應數據(屬性),可由操作實現成分內的變量關系,由消息傳遞機制實現各成分之間的關系。上面定義一個Simulation Object類作為所有有關仿真描述的基本類,由此可獲得其變種,派生出子類,進而構造仿真模型框架。將面向對象程序設計(其實可從更為廣泛的“面向對象技術”這個意義上進行討論——拙按)的思維活動本身就看作一種建模活動。在被模擬的系統中,現象(它們被感知成表象這樣的感性具體)和概念都是重要的,通過建模活動——映射,在模型系統里,通過建模活動——映射,在模型系統里,從被模擬的系統中,找到用來模擬表象(針對問題的)概念的元素。也就是“感性具體”建模成“對象”的活動。對面向對象的建模作了較為全面、深入的討論。該文從3個不同的但又相關的角度(對象建模、動態建模和功能鍵模)討論系統建模,這三個角度各自從不同的角度抓住了系統的實質,全面地反映了系統的要求。對象模型表示了靜態的、結構化的系統的“數據”性質,動態模型表示了瞬時的、行為化的系統的“控制”性質;功能模型表示了變化的系統的“功能”性質。各模型之間的實體可相互聯系。但是,盡管該文作者指出面向對象技術是一種有普遍意義的方法學,其討論的中心仍限于軟件開發的生命周期中,側重點在軟件功能范疇內。
5.結論
計算機仿真與面向對象技術均尋求問題求解空間針對問題空間的一種模擬與直接映射,它們的本質是一致的。計算機仿真直接針對現實世界的某一具體系統建模,而面向對象技術則提供了一種良好的建模方式,將它們結合起來,無疑是有益的。這種方法描述方便,結構清晰。但是面向對象方法在問題空間很復雜時,難以尋找合適的對象。要完善這種方法,尚需做很多工作,包括它們之間深層的思維科學關系,形式化描述,等等。
參考文獻
[1]王惠剛.計算機仿真原理及應用,國防科技大學出版社,1994,10:6-7,256-258.
[2]蔡希堯等.面向對象技術[M].西安電子科技大學出版社,1993,10:3.
[3]江明德等.面向對象程序設計的思維科學基礎[J].小型微型計算機系統,1992,13(5).