複製鏈接
請複製以下鏈接發送給好友

連續系統仿真語言

鎖定
連續系統仿真語言(continuous systems simulation language簡稱CSSL語言),是一類重要的仿真軟件語言。
它的主要功能是:①源語言的規範化和處理。規定描述模型的符號、語句、句法和語法,檢測源程序中的錯誤,將源程序翻譯成機器碼。②控制並執行仿真過程。③記錄仿真實驗的結果並對它進行分析。連續系統仿真語言有兩種基本類型:面向框圖的語言(即框圖語言系統)和麪向方程的語言(即方程語言系統)。
中文名
連續系統仿真語言
外文名
continuous systems simulation language
簡    稱
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方案。
面向方程的仿真語言主要由四個部分組成:模型定義語言、翻譯程序、實用程序庫和運行控制程序。一般以文本和軟磁盤的方式提供 [1] 

連續系統仿真語言模型定義語言

定義模型和仿真實驗
其符號、語句、句法和語法規則與連續系統數學模型的原始形式相類似。大多數面向方程的仿真語言的結構符合CSSL規範。其源程序分為三個區段:初始化區、動態區和終止區。動態區的語句為方程形式,用以描述微分方程、差分方程和傳遞函數等。語句的書寫順序則是任意的。有輸出顯示語句,其格式可預先規定或由用户指定。有的還有過程段和宏程序塊,供用户自編擴充函數或子模型之用 [2] 
翻譯程度
用模型定義語言書寫的源程序通過翻譯程序翻譯成宿主語言翻譯程序一般採用間接執行式,可以分為三種基本類型:①編譯型:先將源程序翻譯成宿主語言(一般是通用高級語言,如FORTRAN語言,BASIC語言),再編譯成機器碼。②解釋型:先將源程序翻譯成指定的中間代碼,再解釋成機器碼。解釋型比編譯型交互性好,但執行速度較慢。③混合型:解釋和編譯相結合。80年代美國亞利桑那大學教授G.A.科恩提出直接執行式。他取消了CSSL型模型定義語言中的分支性語句,將模型和實驗的描述分開,再用精心設計的編譯程序將模型描述語句快速地直接編譯成機器碼,其中仿真函數和算法程序都是預先編譯的,實驗控制語句則通過解釋來實現。
實用程序庫
通常包括連續系統仿真中的各種算法、專用函數、繪圖、製表等各種實用程序。
運行控制程序
一般包括用户交互式控制仿真運行、改變參數、收集顯示數據等程序。
參考資料