网络化联合仿真的时间同步
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 NCS中的时间

1.2.1 三种时间概念辨析

时间是所有仿真系统的核心概念,NCS中至少存在三种时间,分别是自然时间、机器时间和仿真时间。

1.自然时间

自然时间指的是现实世界中客观存在的真实物理时间,是真实系统或对象状态演进的度量,常用格林尼治标准时间计量。自然时间是真实且独立存在的,不是通过设备或工具人工生成的,是不能准确得到也不能控制的,具有唯一性。

2.机器时间

机器时间,又称墙钟时间,通常是指仿真系统根据其所在计算机的晶体振荡器等时钟发生装置产生的滴答数所换算的时间,是仿真执行过程中的参考时间,通常来自一个硬件时钟,如2022年10月31日下午1点30分。

机器时间通常具有以下两个方面的特性。

(1)可测但不可控。由于机器时间是基于时钟发生装置折算过来的时间,所以可以通过统计脉冲计数进行测量,但是不能期望通过对真实物理装置的控制来控制机器时间。

(2)可解释性。虽然机器时间不可控,但是将其引入NCS系统,可以根据需要对其赋予相应的语义,也就是系统的设计开发人员拥有对其含义的解释权。

本地时钟就好像手表,仿真进程通过本地时钟获取机器时间。但正如手表可能不准一样,本地时间也可能“不准”,但“不准”是相对某个走得准的标准时钟而言的,这个标准时钟称为全局时钟。全局时钟的读数被称为全局时间。虽然机器时间不可控,但是其具有可解释性和可测性,在NCS系统中对应着一个数值,我们可以对其进行部分校正。

虽然全局时钟不是真实的物理存在,仿真进程也无法直接读取其读数,但引入全局时间这个概念有助于我们进行算法分析。例如,有两个本身并没有逻辑先后顺序的事件e1和事件e2,如果需要区分两者的先后顺序,就需要引入一个观察者,以这个观察者的视角来判断这两个事件的先后顺序,这个观察者就是全局时钟。一个NCS系统只需要一个全局时钟,所有事件的全局时间都取自这个全局时钟的读数。

3.仿真时间

整个NCS系统对应一个时空一致的虚拟空间,因为纯的物理时钟(机器时间)同步难以实现,所以需要一个逻辑上的时间来模拟自然时间,支持事件先后关系的描述。这个时间就是仿真时间,又称虚拟时间或逻辑时间,是NCS中供系统或模型使用的时间。

仿真时间是NCS中的一个全局可比较的时间,用于标记仿真中各事件的先后关系,其最朴素的语义就是支持对事件的准确排序,也就是NCS系统中的每个仿真节点都能明确分辨出过去、现在和未来的事件。仿真时间支持因果排序,如果事件A的发生导致另一个事件B的发生,那么观察者应该先发现事件A,后发现事件B。如果一个仿真节点处于逻辑时间T,则表明它已经完成所有T时间以前仿真事件的处理。

仿真时间是一个抽象的概念,它有确定的初值,是间断的,永远为正,有次序,但没有单位(取决于仿真系统的设计)。仿真时间通常是实数值,该值按小于(<)关系整体排序。仿真时间在NCS中各个仿真要素的控制下推进,是完全可以被控制的,NCS也正是通过对仿真时间的控制来实现对虚拟时空一致性的控制。

4.时间的双重作用

NCS系统中发生的事件,可以从两种不同的时间角度进行观察:时间作为数据和时间作为控制。从时间作为数据的角度看,事件定义了仿真实体发生数值变化的时刻,这个时刻是以后进行该事件影响分析的重要输入。而从事件作为控制的角度看,事件可能要求仿真节点计算机立即行动,尽快对这一事件做出反应。