离散事件系统特定领域仿真建模语言与工具的高效开发
1. 引言
仿真建模与计算设备的历史一样悠久,随着低成本计算能力的普及和系统复杂度的增加,仿真的重要性日益凸显。对高效、稳健、探索性和适应问题领域的仿真方法的研究是这项活动的重要组成部分。仿真方法的研究范围广泛,涵盖了高效算法、工具和编程语言的开发,新软件工程技术的创建,可视化、数据处理和存储方法,甚至包括仿真建模的哲学和认识论。
1.1 目标
本文倡导一种方法,用于高效开发离散时间事件驱动系统的特定领域仿真建模语言和工具,同时实现快速仿真。该方法符合仿真系统的两个理想特性:
1. 系统模型应在结构和行为上与原始系统等效。
2. 仿真应能高效执行。
1.2 经验教训与挑战
Simula引入的模型抽象概念(即面向对象建模概念)是实现结构和行为等效的重要一步。它的类概念引入了分类/实例化和泛化/特化的强大原则,并且类实例(对象)可分为被动对象和主动对象,主动对象是状态和动作的组合,会根据模型时间导致状态变化。
然而,面向对象与通用建模语言提供的表达手段相结合,不足以简洁地捕捉特定领域的概念。因为通用建模语言定义了严格的语法,特定领域的概念必须在这种语法中表达,有时预设的语法会阻碍概念的应用和理解。例如,用面向对象模式实现状态机时,行为描述会分散在为状态机的每个状态创建的多个类中。
一种解决方案是扩展语言的语法,并结合宿主语言的语义基础。具有可扩展性的仿真语言(SLX)就是这样一种现代仿真语言,但其扩展性有限。
此外,模型的清晰结构本身并不能保证仿真语言被广泛接受。Gordon的GPSS(通用仿真系统)虽然结构