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

仿真語言

鎖定
仿真語言是仿真研究中基於通用計算機語言而又比其更高級的軟件系統。仿真語言為仿真研究人員提供了專門用於建模、仿真實驗和仿真結果統計、分析、顯示的程序語句,研究人員可以不必深入掌握通用計算機高級語言的編程細節和技巧,而用比較習慣或容易掌握的表達方式來描述仿真模型,把主要精力集中在仿真研究上。 [1] 
中文名
仿真語言
外文名
simulation language
用    途
用於仿真研究的計算機高級語言
類    別
仿真軟件
簡    稱
SL

目錄

仿真語言簡史

仿真語言是隨着數字計算機的發展而發展起來的。在連續系統仿真方面,1955年出現第一個框圖式仿真語言,稱為數字模擬仿真語言 DAS(英文 DigitalAnalog Simulator的縮寫)。這種仿真軟件配有一整套對應於模擬計算機中各種標準運算部件的程序模塊,用這種仿真語言編寫的源程序分為結構、參數和控制三部分,分別用來指定程序模塊間的連接、模塊的參數和模塊的運行方式。用户書寫源程序語句的順序則是任意的。源程序編譯程序翻譯成機器碼,或經解釋程序解釋後執行。因為源程序的編制方法與模擬計算機的編排方式相類似,所以很受仿真界的歡迎,盛行於1955~1965年間。但模型的表達內容要受預先編制好的模塊類型的限制。DAS語言吸取了早期許多仿真語言的特點,在仿真語言的發展中起過重要的作用。60年代初還在 DAS語言的基礎上作了改進,出現改進型數字模擬仿真語言 MIDAS(英文 Modified Digital Analog Simulator的縮寫)。1959年出現系統動力學建模語言DYNAMO(英文 DynamicModels的縮寫)。1967年美國計算機仿真學會提出一種兼有框圖表示功能的面向方程的仿真語言,稱為連續系統仿真語言CSSL(英文Continuous System SimulationLanguage的縮寫),成為連續系統仿真語言的規範。此後又出現了許多符合CSSL規範的仿真語言。其中應用較廣的有連續系統建模語言CSMP(英文Continuous SystemModeling Program的縮寫)和微分分析器置換語言 DARE(英文Differential Analyzer Replacen ent的縮寫)。由於近代公式翻譯語言 FORTRAN的編譯程序對某些小型計算機也能產生高效率的目標代碼,所以面向方程的仿真語言都是先翻譯成FORTRAN語言,再通過編譯程序生成目標代碼。符合CSSL規範的仿真語言有許多版本。
在離散系統仿真方面,1959年出現第一個離散系統仿真程序包MONTECONE。1961年提出進程型仿真語言──通用系統仿真語言GPSS(英文General Purpose SystemsSimulator的縮寫)。1963年出現事件型仿真語言 SIMS-CRIPT。1967年又提出另一種進程型仿真語言SIMULA67。後來又出現另一種事件型仿真語言:一般活動仿真語言GASP(英文General Activity Simulation Program的縮寫)。70年代以後,仿真語言開始向多功能的方向發展。在離散系統仿真語言中引入連續系統仿真語言, 產生混合系統仿真語言。 其中應用最廣的是GASP語言的兩個新版本GASPⅣ和GASP-PL/1, 和交替建模仿真語言SLAM(英文Simulation Language for Alternative Modeling的縮寫)。混合仿真語言 HL1(英文Hybrid Language 1的縮寫)可用於設計並行計算模塊的程序,適用於高速仿真和實時仿真。將仿真語言與控制系統計算機輔助設計軟件包配合使用,使計算機仿真系統成為控制系統設計研究的有力工具。近年來出現的仿真軟件系統和仿真專家系統進一步擴展了仿真語言的功能,成為仿真語言發展的新方向。

仿真語言分類

仿真語言按被仿真系統的特點分為連續系統仿真語言、離散系統仿真語言和連續離散混合系統仿真語言 [2]  。按數學模型的型式分為面向框圖的仿真語言和麪向方程的仿真語言。按運行方式分為交互式仿真語言和批處理式仿真語言。

仿真語言組成

仿真語言是一類重要的仿真軟件,市售商品均以文本和軟磁盤的形式提供。它由以下四個部分組成:①模型定義語言:用以定義模型和仿真實驗的語言。②翻譯程序(用於連續系統仿真)或處理程序(用於離散系統仿真):翻譯程序是將用模型定義語言書寫的源程序翻譯成宿主語言。處理程序是將源程序連接實用程序庫和運行支持程序,形成機器碼。③實用程序庫:包括算法、專用函數、隨機採樣函數、各種框圖和繪圖程序。④運行控制程序:供用户以人機交互的方式控制仿真運行、改變參數、收集數據和顯示數據的程序。

仿真語言特點

仿真語言不同於一般通用的高級語言,具有以下幾個特點:①仿真語言使用户可以採用習慣的表達方式來描述仿真模型。②仿真語言具有良好的並行性。在實際的連續系統中,過程都是並行發生的,而一般數字計算機都是串行計算的。因此,用仿真語言編寫的源程序都有自動分選排序的功能,通過編譯程序將源程序排列成正確的計算順序,供計算機按順序進行計算。③仿真語言與順序性的通用編程語言(如 FORTRAN語言)有兼容性,以擴展仿真語言的功能。④仿真語言備有多種積分方法可供用户選用。⑤仿真語言配有常用輸入和輸出子程序。⑥用仿真語言編制的源程序,便於實現多次運行仿真的研究。⑦用仿真語言編制的源程序,在程序運行的不同階段,可給出診斷程序錯誤的信息,幫助用户查找程序錯誤。 [3] 
參考資料