離散系統仿真語言

離散系統仿真語言是實現離散事件系統數字仿真的專用的程式設計語言,是一類重要的仿真軟體。離散事件系統仿真語言按照對系統的描述方式而分為進程型、事件型和活動參考型三種形式。

離散系統仿真語言

正文

實現離散事件系統數字仿真的專用的程式設計語言,是一類重要的仿真軟體。離散事件系統仿真語言一般由文本和軟磁碟的形式提供。它由模型定義語言、處理程式、實用程式庫和運行支持程式等組成。離散事件系統仿真語言按照對系統的描述方式而分為進程型、事件型和活動參考型三種形式。目前大多數離散事件系統仿真語言都屬於前兩種形式。
進程型語言 進程型語言是面向進程的仿真語言。進程型語言按照系統表達方式又可分為網路型、語句型和框圖型三種類型。1961年美國國際商業機器公司(IBM)的G.戈登提出的GPSS語言就屬於框圖型語言。美國寶來公司的A.J.邁耶霍夫等人提出的寶來作業系統仿真語言BOSS(英文 Burroughs Operational System simulator的縮寫)有很強的仿真功能,允許用戶在編碼過程中運用自己的與流程圖類似的模組。BOSS語言也屬於框圖型語言。1966年挪威計算中心的 O. J.達爾和K.尼加德提出另一種面向過程的仿真語言 SIMULA(英文 Simulation Language的縮寫),它是在通用算法語言 ALGOL的基礎上擴展而成的,屬於語句型語言。一種連續離散混合系統仿真語言──交替建模仿真語言 SLAM(英文Simulation Language for Alternative Modeling的縮寫)則屬於網路型語言(見SLAM語言)。
事件型語言 事件型語言是基於事件調度的仿真語言。用事件型語言編制的源程式中,由主程式調用執行程式以控制仿真運行。執行程式首先調用初始化程式設定仿真語言中各變數的初值,並讀入描述模型的標準輸入語句。在執行程式中通常採用事件單位增長的方法撥動時鐘。初始化後,從事件表中找出第一個事件。執行程式隨之調用事件控制程式轉至相應的事件程式。其執行的結果是再調度其他事件發生,或修改系統狀態,或收集統計數據等。支持子程式庫會提供所需的程式。如此進行下去。仿真終止後,自動產生報告。事件型仿真語言提供一系列方便而直觀的語句供用戶定義系統及書寫主程式和事件程式。1963年美國蘭德公司的H.馬爾科維茨等人提出最早的事件型語言──仿真描述程式設計語言 SIMSCRIPT(英文Simulation scripture的縮寫),它是在通用程式設計語言 FORTRAN的基礎上擴展而成的。用 SIMSCRIPT語言書寫的仿真程式,描述了整個系統的活動,程式設計的中心任務是安排將要產生的下一個事件。在 SIMSCRIPT語言系統中,對於實體及其屬性的操作是用事件例行程式來實現的。事件例行程式完成系統活動和事務處理的仿真。系統活動不論採用同時進行或順序進行的方式,均由事件表排定事件例行程式。為了執行的需要,可以重新調度事件例行程式。通過事件例行程式的執行,將改變仿真時鐘,並根據時間調度下一個事件。這在離散事件系統仿真中稱為按時間順序調度事件。B.普里茲克爾等人提出另一種事件型語言──一般活動仿真語言GASP(英文General Activity Simulation Program的縮寫)。這種仿真語言也是在 FORTRAN語言的基礎上擴展而成的。用戶必須熟悉 FORTRAN語言程式設計。
80年代後離散事件系統仿真語言又有了新的發展。離散事件系統仿真語言與仿真環境軟體(包括數據獲取與分析、仿真結果顯示分析、實驗設計等軟體)相結合而構成仿真軟體系統。並最佳化編譯程式。改善與資料庫的接口。引入連續系統仿真語言,發展成為連續離散混合系統仿真語言。
參考書目
 A.Alan,B.Pritsker,C.D.Pegden, Introduction to Simulation and SLAM, Halsted Press, New York,1979.
 G.戈登著,楊金標譯:《系統仿真》,冶金工業出版社,北京,1982。 (G.Gordon, System Simulation, Prentice-Hall, Inc.,1978.)

配圖

相關連線

相關詞條

相關搜尋

熱門詞條

聯絡我們