連續系統仿真語言

連續系統仿真語言

連續系統仿真語言(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方案。
面向方程的仿真語言主要由四個部分組成:模型定義語言、翻譯程式、實用程式庫和運行控制程式。一般以文本和軟磁碟的方式提供。

模型定義語言

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

相關詞條

熱門詞條

聯絡我們