實現連續系統數字仿真的專用的程式設計語言,簡稱CSSL語言,是一類重要的仿真軟體。它的主要功能是:①源語言的規範化和處理。規定描述模型的符號、語句、句法和語法,檢測根源程式中的錯誤,將根源程式翻譯成機器碼。②控制並執行仿真過程。③記錄仿真實驗的結果並對它進行分析。連續系統仿真語言有兩種基本類型:面向框圖的語言(即框圖語言系統)和面向方程的語言(即方程語言系統)。

  框圖語言系統> 早期的連續系統仿真語言都屬於框圖語言系統。1955年提出第一個框圖式仿真語言──數字模擬仿真語言 DAS。60年代初又提出改進型數字模擬仿真語言MIDAS(見仿真語言)。1967年提出模塊式連續系統建模語言Block CSMP(英文Block Continuous System Modeling Program 的縮寫)。Block CSMP軟件采用FORTRAN語言編寫,可在小型計算機上進行交互式數字仿真。用Block CSMP語言編制的仿真程序是一系列框圖算子語句,可以通過編譯程序整理成過程順序,進行一次仿真就解釋成庫程序,能迅速改變仿真模型。Block CSMP的新版本能編譯仿真程序的二進制文本,達到雙倍執行速度。1969年提出Block CSMP的一種特殊版本MOBSSL,允許用戶在圖形顯示屏幕上用光筆來選擇和互連各個框圖算子符號。1974年提出交互式仿真語言ISL(英文Inte-ractive Simulation Language的縮寫)。ISL語言是一種由機器語言子程序來實現框圖算子的簡單框圖語言系統,所以一些大型仿真題目能在隻有8K字節內存的小型計算機上運行。用 ISL語言編制的仿真程序,能迅速改變仿真模型,實現簡單的多次運行仿真研究。1977年美國亞利桑那大學研制成微型微分分析器置換語言 MICRODARE(英文 Micro Differential Analyzer Replacement的縮寫)。MICRODARE軟件是將 DARE語言系統的框圖語句翻譯成子程序或微程序,固化在隻讀存儲器 (ROM)芯片上成為固件,以插件的形式插在微型計算機的主機箱內。MICRODARE軟件還提供用BASIC語言編排的DARE語言系統的邏輯塊及輸出程序和顯示程序,因而可以利用微型計算機的簡單的 BASIC語言編譯程序進行編譯。現在已經可以應用高功能的框圖語言系統在微型計算機上實現連續系統數字仿真。

  方程語言系統 實現連續系統數字仿真最重要的手段是應用面向方程的語言。方程語言系統可使用戶很方便地直接以狀態方程的形式描述仿真模型,再通過編譯程序自動地翻譯成FORTRAN程序,然後進行編譯、裝入和執行,得出變量的時間歷程,通過一些簡單的輸出命令就能顯示、繪圖和打印出來。將 FORTRAN語言作為宿主語言,不僅能借用現有的 FORTRAN編譯程序,而且還可以使有經驗的用戶在仿真研究中充分利用 FORTRAN函數和過程。在多次運行仿真研究中可用 FORTRAN控制程序來進行控制。對於沒有 FORTRAN語言程序設計知識的用戶,也很容易掌握這些高級語言的特點,很快就能學會求解各種微分方程。1959年出現系統動力學建模語言DYNAMO。1967年美國計算機仿真學會總結瞭面向方程的仿真語言的特點,並加以標準化,提出一種兼有框圖表示功能的面向方程的仿真語言──連續系統仿真語言CSSL,成為連續系統仿真語言的規范。此後出現瞭許多符合CSSL規范的語言。1968年提出連續系統建模語言CSMP。1970年美國亞利桑那大學提出微分分析器置換語言DARE方案。

  面向方程的仿真語言主要由四個部分組成:模型定義語言、翻譯程序、實用程序庫和運行控制程序。一般以文本和軟磁盤的方式提供。

  模型定義語言 定義模型和仿真實驗。其符號、語句、句法和語法規則與連續系統數學模型的原始形式相類似。大多數面向方程的仿真語言的結構符合CSSL規范。其源程序分為三個區段:初始化區、動態區和終止區。動態區的語句為方程形式,用以描述微分方程、差分方程和傳遞函數等。語句的書寫順序則是任意的。有輸出顯示語句,其格式可預先規定或由用戶指定。有的還有過程段和宏程序塊,供用戶自編擴充函數或子模型之用。

  翻譯程度 用模型定義語言書寫的源程序通過翻譯程序翻譯成宿主語言。翻譯程序一般采用間接執行式,可以分為三種基本類型:①編譯型:先將源程序翻譯成宿主語言(一般是通用高級語言,如FORTRAN語言,BASIC語言),再編譯成機器碼。②解釋型:先將源程序翻譯成指定的中間代碼,再解釋成機器碼。解釋型比編譯型交互性好,但執行速度較慢。③混合型:解釋和編譯相結合。80年代美國亞利桑那大學教授G.A.科恩提出直接執行式。他取消瞭CSSL型模型定義語言中的分支性語句,將模型和實驗的描述分開,再用精心設計的編譯程序將模型描述語句快速地直接編譯成機器碼,其中仿真函數和算法程序都是預先編譯的,實驗控制語句則通過解釋來實現。

  實用程序庫 通常包括連續系統仿真中的各種算法、專用函數、繪圖、制表等各種實用程序。

  運行控制程序 一般包括用戶交互式控制仿真運行、改變參數、收集顯示數據等程序。

  

參考書目

 G.A.科恩、J.V.韋特著,李仰東等譯:《連續系統數字仿真》,科學出版社,北京,1981。(G.A.Korn,J.V.Wait, Digital Continuous System Simulation, Prentice-Hall, Inc., Englewood Cliffs, New Jersey,1978.)

 J.Burger(eds), Simulation in Engineering Sciences, Elsevier Science Publishers, B.V.,1983.