版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-仿真語言

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

簡史

仿真語言是隨著數(shù)字計算機的發(fā)展而發(fā)展起來的。在連續(xù)系統(tǒng)仿真方面,1955年出現(xiàn)第一個框圖式仿真語言,稱為數(shù)字模擬仿真語言 DAS(英文 DigitalAnalog Simulator的縮寫)。這種仿真軟件配有一整套對應(yīng)于模擬計算機中各種標(biāo)準(zhǔn)運算部件的程序模塊,用這種仿真語言編寫的源程序分為結(jié)構(gòu)、參數(shù)和控制三部分,分別用來指定程序模塊間的連接、模塊的參數(shù)和模塊的運行方式。用戶書寫源程序語句的順序則是任意的。源程序經(jīng)編譯程序翻譯成機器碼,或經(jīng)解釋程序解釋后執(zhí)行。因為源程序的編制方法與模擬計算機的編排方式相類似,所以很受仿真界的歡迎,盛行于1955~1965年間。但模型的表達內(nèi)容要受預(yù)先編制好的模塊類型的限制。DAS語言吸取了早期許多仿真語言的特點,在仿真語言的發(fā)展中起過重要的作用。60年代初還在 DAS語言的基礎(chǔ)上作了改進,出現(xiàn)改進型數(shù)字模擬仿真語言 MIDAS(英文 Modified Digital Analog Simulator的縮寫)。1959年出現(xiàn)系統(tǒng)動力學(xué)建模語言DYNAMO(英文 DynamicModels的縮寫)。1967年美國計算機仿真學(xué)會提出一種兼有框圖表示功能的面向方程的仿真語言,稱為連續(xù)系統(tǒng)仿真語言CSSL(英文Continuous System SimulationLanguage的縮寫),成為連續(xù)系統(tǒng)仿真語言的規(guī)范。此后又出現(xiàn)了許多符合CSSL規(guī)范的仿真語言。其中應(yīng)用較廣的有連續(xù)系統(tǒng)建模語言CSMP(英文Continuous SystemModeling Program的縮寫)和微分分析器置換語言 DARE(英文Differential Analyzer Replacen ent的縮寫)。由于近代公式翻譯語言 FORTRAN的編譯程序?qū)δ承┬⌒陀嬎銠C也能產(chǎn)生高效率的目標(biāo)代碼,所以面向方程的仿真語言都是先翻譯成FORTRAN語言,再通過編譯程序生成目標(biāo)代碼?,F(xiàn)在符合CSSL規(guī)范的仿真語言有許多版本。

在離散系統(tǒng)仿真方面,1959年出現(xiàn)第一個離散系統(tǒng)仿真程序包MONTECONE。1961年提出進程型仿真語言──通用系統(tǒng)仿真語言GPSS(英文General Purpose SystemsSimulator的縮寫)。1963年出現(xiàn)事件型仿真語言 SIMS-CRIPT。1967年又提出另一種進程型仿真語言SIMULA67。后來又出現(xiàn)另一種事件型仿真語言:一般活動仿真語言GASP(英文General Activity Simulation Program的縮寫)。70年代以后,仿真語言開始向多功能的方向發(fā)展。在離散系統(tǒng)仿真語言中引入連續(xù)系統(tǒng)仿真語言, 產(chǎn)生混合系統(tǒng)仿真語言。 其中應(yīng)用最廣的是GASP語言的兩個新版本GASPⅣ和GASP-PL/1, 和交替建模仿真語言SLAM(英文Simulation Language for Alternative Modeling的縮寫)?;旌戏抡嬲Z言 HL1(英文Hybrid Language 1的縮寫)可用于設(shè)計并行計算模塊的程序,適用于高速仿真和實時仿真。將仿真語言與控制系統(tǒng)計算機輔助設(shè)計軟件包配合使用,使計算機仿真系統(tǒng)成為控制系統(tǒng)設(shè)計研究的有力工具。近年來出現(xiàn)的仿真軟件系統(tǒng)和仿真專家系統(tǒng)進一步擴展了仿真語言的功能,成為仿真語言發(fā)展的新方向。

分類仿真語言按被仿真系統(tǒng)的特點分為連續(xù)系統(tǒng)仿真語言、離散系統(tǒng)仿真語言和連續(xù)離散混合系統(tǒng)仿真語言1。按數(shù)學(xué)模型的型式分為面向框圖的仿真語言和面向方程的仿真語言。按運行方式分為交互式仿真語言和批處理式仿真語言。

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

特點仿真語言不同于一般通用的高級語言,具有以下幾個特點:①仿真語言使用戶可以采用習(xí)慣的表達方式來描述仿真模型。②仿真語言具有良好的并行性。在實際的連續(xù)系統(tǒng)中,過程都是并行發(fā)生的,而一般數(shù)字計算機都是串行計算的。因此,用仿真語言編寫的源程序都有自動分選排序的功能,通過編譯程序?qū)⒃闯绦蚺帕谐烧_的計算順序,供計算機按順序進行計算。③仿真語言與順序性的通用編程語言(如 FORTRAN語言)有兼容性,以擴展仿真語言的功能。④仿真語言備有多種積分方法可供用戶選用。⑤仿真語言配有常用輸入和輸出子程序。⑥用仿真語言編制的源程序,便于實現(xiàn)多次運行仿真的研究。⑦用仿真語言編制的源程序,在程序運行的不同階段,可給出診斷程序錯誤的信息,幫助用戶查找程序錯誤。2