1.1.2 仿真分类

1.按系统特性划分

按照系统特性可以将仿真划分为连续系统建模仿真和离散系统建模仿真,其中,离散系统中的状态变量是瞬时变化的,连续系统的状态是随时间连续变化的。在传统的建模仿真机制研究中,主要区分离散时间和连续时间两种机制,这就形成了离散时间模型和连续时间模型。随着仿真在分析评估领域的应用推广,又出现了第三种建模机制,即离散事件建模。三种建模机制对应多种不同的建模方法,主要建模方法及其转换关系如图1-2所示。

图1-2 主要建模方法及其转换关系

(1)离散时间系统描述(Discrete Time System Specification, DTSS)。DTSS对应的是离散时间模型,即通过离散时间基准描述系统。该建模机制通常假设仿真模型是按照固定的时间步长推进的,在每个时间点系统处于某种状态,该类模型描述这些状态的转换规则。如果在t时刻系统的状态是q(t),系统输入是x(t),则在t+1时刻系统的状态是q(t+1)=δ[q(t),x(t)],其中δ是状态转移函数。该类系统描述方法通常使用差分方程的形式表达。

(2)微分方程系统描述(Differential Equation System Specification, DESS)。DESS对应的是连续时间模型,即在连续时间基准上描述系统的连续状态。该类建模机制不是直接通过状态转移函数描述下一系统状态,而是通过导数f描述状态变量qi∈[1,n]的演化规律。这意味着给定一个系统状态和输入数据,在已知状态的变化律dqi(t)/dt=f{[q1(t),q2(t),…,qn(t),x(t)]},i∈[1,n]的情况下,可以通过积分方法预测在未来任意时刻该系统的状态。连续系统仿真的模型设计方法包括微分方程、因果框图、系统动力学、Bond图等。DESS假设系统的状态演进是时间的连续函数,模型表示方法包括微分方程、常微分方程或偏微分方程等。

(3)离散事件系统描述(Discrete Event System Specification, DEVS)。DEVS注重在连续时间基准上描述系统的状态转换,系统的状态轨迹是通过外部事件或内部事件触发的状态转移函数δextδint产生的。离散事件仿真也叫采样系统仿真,相关的模型设计方法包括事件调度、活动扫描、进程交互、DEVS、Petri网等。

一个基本的DEVS结构可以表示为

其中,

X={(p,v)|p∈IPorts,v∈Xp}是输入端口和输入数据的集合;

Y={(p,v)|p∈OPorts,v∈Yp}是输出端口和输出数据的集合;

S是连续的系统状态集合;

δextQ×XbS是外部状态转移函数,其中Q={(s,e)|s∈S,e∈[0,ta(s)]}是全部状态集合,e是距离上一次状态变化后过去的时间;

δintSS是内部状态转移函数;

δconQ×XbS是综合状态转移函数;

λSYb是输出函数;

ta:S∪∞是时间推进函数。

上角标b表示输入或输出数据的集合,集合中的元素可以重复出现多次。

以上三种建模机制有各自适用的领域,需要依据应用的特点进行选择。三种建模机制的对比分析如表1-1所示。

表1-1 三种建模机制的对比分析

2.按仿真模式分类

对于在计算机上运行的仿真模型或系统,可以按照其仿真模式将其划分为并行仿真(单平台仿真)和分布式仿真(多平台仿真)。

现有计算机仿真都需要在多个CPU上运行仿真,其主要有以下好处:①可以减少仿真模型的运行时间;②可以缓解单个机器上的内存不足;③可以获得良好的可扩展性;④可以满足地理上分散的用户或仿真资源的需求;⑤可以支持不同仿真平台的联合运行;⑥可以保持良好的容错性和负载均衡。

并行与分布式仿真一般可以依据其对多个CPU的耦合程度来区分。当多个CPU之间是紧密耦合关系时,通常需要在超级计算机、多核计算机、CPU-GPU等并行计算机上运行,属于集中式的并行仿真;当多个CPU之间通过网络互连时,通常需要在局域网、Web、网格、云等分布式运行环境上运行,属于分布式仿真。

1)并行仿真

并行仿真是指充分利用并行计算机的并行处理优势,依据不同的并行层次需求(包括作业级、实体级、线程级等)将仿真应用的计算任务分配到紧密耦合的多个处理器上并行执行的仿真运行模式。该类仿真的代表性支撑软件有SPEEDES、TWOS等,典型应用场景包括多个作战方案并行推演、大规模仿真样本模拟分析、实时在线辅助决策等。

2)分布式仿真

分布式仿真通常是指多个协作的仿真分散在不同的位置、计算机和/或进程中,它们通常具有以下特点:协作仿真现实世界的系统;每一个都仿真现实世界中的某些部分;通过网络消息互相交换数据;采用标准化的协议,如DIS、HLA等。

一组仿真应用通过网络进行交互,共同构成一个分布式仿真系统。分布式运行可以使分布在不同地域的异构仿真资源共享一个公共的时间、空间和战场环境。该类仿真的应用场景包括地理上分散的用户、分布式的装备试验、分布式的部队训练、分布式的仿真分析、不同仿真平台的联合运行等。

分布式仿真主要满足减少仿真运行时间、物理分布、异构集成、容错等方面的需求。分布式仿真可以带来的好处包括:将若干个独立的仿真模型组合在一起;将不同学科领域的应用组合在一起;重用已经存在的仿真模型或系统;实现不同组织或单位之间的协同工作;实现系统设计与开发的并行化;隐藏仿真模型或系统的内部信息;降低处理器的运行负载;满足地理上分布的资源之间的协同运行;与仿真模型或系统之间实现实时交互。