揭开DIS的技术面纱——分布式交互仿真三大特性的关键技术
1 DIS系统介绍
分布式交互仿真(Distributed Interactive Simulation)起源于美国国防高级研究计划局(DARPA,现更名为ARPA)和美国陆军在1983年共同制定的SIMNET计划。它是对具有时空一致性、互操作性、可伸缩性的综合环境的表达。DIS采用一致的结构、标准和算法,通过网络将分散在不同地理位置的不同类型的仿真应用和真实世界互联、互操作,建立一种人可以参与、交互的综合环境。
从体系结构上说,DIS的基础结构和实现方式有如下几个特点:
1.1 没有控制整个仿真演练的中心计算机
一些仿真系统(如网络MUD)使用一台中心计算机维持整体的状态,并计算每一实体动作对其他实体和环境的影响,这样的系统必须根据其最大可能负载来确定资源配置,以便能够处理极端情况下的运算负载。DIS采用分布式仿真的方法,把仿真实体状态的任务留给通过网络相连的相互独立的仿真计算机。
1.2 使用一个标准协议传输底层真实数据
每一个仿真应用都将它所控制(测量)的实体的状态(位置、方向、速度、铰链部件的位置等被称为底层真实数据)传递给网络中的其他仿真应用,接收方负责接收并进行计算,以确定发送方所代表的实体是否可通过视觉或电子装置所感知,被感知到的实体状态将会按单个仿真的要求展现给用户。
1.3 平台级的大系统仿真
DIS充分利用现代计算机网络提供的强大的分布计算能力实现对复杂大系统的仿真,这和以往采用单计算机实现大系统仿真的策略不一样。比如对一次作战过程进行仿真,如果采用单计算机进行,则由于计算能力的局限,只能采用概率模型(比较典型的是兰彻斯特方程)进行大粒度建模仿真,在缺乏足够的试验数据支持下,这种概率模型的仿真结果可信度比较低。而DIS则提供基于武器平台粒度级的仿真,通过大规模联网实现对大系统的仿真。显然,单个武器平台的仿真模型要比一次作战过程的模型容易建立,且具有更高的可信度。因此DIS 的仿真结果更加真实地模拟了实际系统。
2 技术特点
从技术特点上看,DIS还具有互操作性(Interoperability)、可伸缩性(Scalability)和仿真的时空一致性(Time-Space Coherence)等三大特性。下面我们分别介绍DIS在这三方面的技术方法。
2.1 互操作性
互操作性指多个仿真模型相互协调工作的能力,它在DIS中主要体现为实体间数据的交互能力。显然,互操作性是DIS的最基本要求,相对于其他二者,这是研究得最深入的一个方面。这一点主要体现在以下2个方面:
2.1.1 标准的数据结构
在DIS中,将分布仿真模型交互的数据分为若干标准的类型,分别对这些交互数据定义一系列标准的数据结构,即IEEE1278-1995标准。这一标准构成DIS的核心,通过遵循这种统一的数据结构标准,任何分布仿真模型都可以处理这些统一结构的数据,从而实现互操作。
2.1.2 TCP/IP的广播通信
结合标准的PDU(协议数据单元)定义,并采用基于TCP/IP的广播(组播)这种最常用的通信模式,构成了一个"软总线",仿真应用程序只要挂接在计算机网络上就可接收到任何交换的数据,同时也可将数据发送给任何一个其他的仿真应用程序。因此DIS提供的互操作是相当彻底的,虽然不能满足所有条件下的互操作需求,但也已足够实现广泛和相当规模的仿真应用了,这便是DIS能在较短时间内迅速发展的根本原因。其中1997年年底举行的STOW-97是较为典型的大规模DIS演练,包含了分布于美欧几十个城市的各军兵种在内的约3万个作战实体,其中DIS网络上同时活动的实体最多达6500个左右(如图1所示)。
图1 DIS的TCP/IP广播通信
2.2 可伸缩性
DIS的通用框架可以有效地适应一个数目不断增长的并发动态实体的仿真,并且数目的增长不会引入对该体系的结构性修改,我们所说的"有效地适应"是指对应仿真实体个数的增长而要求计算资源的线性或常数的增长。在DIS中,可伸缩性的困难同时体现在网络资源和计算机的处理能力两个方面,目前,DIS采用的最有效的方法是引入DR(Dead Reckoning)推算和PDU过滤两种方法,在一定仿真规模和仿真品质下,这两种方法是卓有成效的,因此目前DIS技术能够实现诸如STOW-97这样大规模的仿真演练。
2.2.1 DR算法推算过程(见图2)。
图2 推算过程
2.2.2 层次数据过滤
PDU的层次化过滤也是解决DIS可伸缩性问题的有效手段之一,其中包括输出过滤和输入过滤。输出过滤一般应用在网关管理,指屏蔽本局域网内部的PDU数据包,它只将必要的PDU发送到广域网或其他局域网段上。输入过滤可以同时应用在网关和仿真计算机上,指屏蔽外部的PDU数据包,只将本局域网(仿真计算机)内部所预定的PDU接收进来。过滤包括5级:DIS演练号过滤、PDU类型的过滤、实体类型过滤、实体作用域过滤和实体位置过滤,这样通过层次过滤保证了网络带宽和计算机资源得到有效的利用。
2.3 时空一致性
和前二者相比,时空一致性是由人的感觉和行为来衡量的,因此较为抽象一些,在实现中也复杂得多。简单地说,时空一致性主要包括空间表达
一致和分布仿真时间一致两个方面:
2.3.1 空间一致性
● 相容的环境数据库
为实现空间表达的一致,首先要求采用统一的环境模型,参加DIS演练的实体只能在统一的虚拟战场环境中才能进行有效的对抗和协同,因此,相容的环境数据库是至关重要的。由于分布仿真的各个节点对仿真环境所需要的粒度不一样,所采用的地形数据库也必定不一样。如仿真地面车辆的节点可能需要高分辨率的地形数据,但由于车辆活动范围有限,因此只需要小范围的地形数据;而仿真空中飞机的节点可能就需要大范围的地形数据,但分辨率却不一定要太高。如何使这两种规格的地形数据库共存于同一个仿真中,又维护其数据的相容性,从而保证仿真的公平和一致性,这是DIS环境模型研究和解决的一个主要问题。这一点和普通网络游戏是不一样的,网络游戏虽然也是一种分布系统,但都采用统一的数据库拷贝,即完全采用同样的数据库,因此普通游戏软件很难支持不同粒度或不同游戏软件之间的协同操作。
目前在DIS中环境模型方面研究比较系统、有代表性的项目有DoD支持的SEDRIS(Synthetic Environment Data Representation and Interchange Specification),这是旨在提供一个包括陆地、海洋、大气和外层空间的完整的物理环境模型以及相关的标准化数据的存取和交换方法。它提出了综合环境的数据模型,于1998年11月发布了第一个正式版V2.0,而后又陆续发布了V2.5和V3.0版。
● 统一的坐标系统
有了一致的环境模型,如何描述仿真实体在环境中的位置,则需要采用相应的参考坐标系,不幸的是由于研究领域的差异,不同的仿真模型建模和仿真常采用不同的坐标系,即使采用完全相同的环境模型,同一空间点在不同坐标系下的坐标表达可能不一致,为了解决这个矛盾,DIS提出了一个标准的参考坐标系统,包括世界坐标系和实体坐标系。
仿真世界中的位置是用一个右手地心笛卡尔坐标系来标注的,这一坐标系被称做世界坐标系,其中地球模型采用WGS84标准。此坐标系的原点是地心, X的正半轴在赤道通过子午线,Y的正半轴在赤道通过东径90°线,Z的正半轴通过北极(如图3所示)。
为了描述实体的姿态和运动方向,DIS还引进了和实体相联系的实体坐标系(如图4所示)。该坐标系也是一个右手笛卡尔坐标系。实体坐标系的原点是实体的中心,X正半轴指向实体正面,Y正半轴指向实体右侧,Z正半轴指向实体底部。
一个实体的方位由实体坐标系的原点在世界坐标系中的位置表示,实体的姿态用三个连续转动的角度来表示。通过这三个角的转动,就可把世界坐标系变换为实体坐标系。这些角被称做欧拉(Euler)角,它们定义了围绕三个不同的正交轴的三个连续旋转。旋转的顺序是"321":即首先绕z旋转角度ψ,然后绕新y轴(y′)旋转角度θ,再绕最新的x轴(x″)旋转角度Φ。旋转的正方向被定义为:沿着轴的正方向看时的顺时针方向。
2.3.2 时间一致性
仿真实际上是在真实的时空中构造出一个虚拟的时空,并将仿真模型置于该虚拟时空环境中运行的过程。因此,时间是仿真中的一个基本概念。仿真时间的一致性是仿真时空一致性问题中不可缺少的一环,是决定仿真品质的重要因素。在DIS中,时间管理在两个方面比较有特色,即时间的表达方式和分布时间的同步技术。
● 大跨度、高精度的时间表达
由于DIS是一个分布系统,仿真节点间的时间同步误差不可避免,同时仿真实体间交换的PDU在网络传输上有延迟,因此为了标记PDU的发送时刻,每个PDU都带有一个时间戳。时间戳标注的是时间值对小时的余数值,即时间戳的最大值为3600秒。因此32为时间戳在留出1位标志位后,其精度可以达到3600/231=1.676×10-6秒,这个精度对绝大多数仿真应用而言是足够的。时间戳成功应用的前提是各仿真计算机的时间(包括机器模拟的自然时间和仿真时间)必须同步,为确定同步与否,时间戳的最低位专门用作时间同步标志:最低位为1,则表明时间已经同步,此时的时间戳称为绝对时戳(Absolute);反之,则称其时间戳为相对时戳(Relative)。
时间戳最大只能表达3600秒,而DIS试验时间不局限于这一时间值,因此,为标识DIS中的时间,仅有时间戳是不够的。为此,DIS专门引入了一套时间规则以及相应的数据结构。为统一时间描述,DIS是采用UTC时间,即取1970年1月1日0时为时间参考点。DIS的时间是采用一个64位的结构描述的,前32位为描述小时数,即从UTC时间1970年1月1日0时为时间起点以来的流逝的小时计数,这是一个32位整数;后32位描述自最近一小时以来的秒数,其描述方式同"时间戳"。采用这种方式所描述的时间跨度可以达到49万年,时间精度可以达到1.6微秒,足以满足DIS的要求。
● 递阶混合时间同步策略
由于存在多个仿真节点,DIS中的时间同步指各仿真节点间的仿真时间保持一致,同时由于DIS支持人在回路的仿真,因此要求仿真时间和自然时间保持同速率的推进,即保证仿真的实时性。为实现这一要求,在DIS系统
中通常采用递阶混合同步的方法:即对DIS中的每个局域网设置一台时间管理计算机(或称时间服务器),并给每一台时间管理计算机装备GPS时间同步系统,从而保证时间管理计算机之间的时间同步,这种同步称为硬同步;同时,在局域网内部采用一定的软件算法,通过在时间管理计算机与仿真计算机之间的网络数据交换方式实现每一台仿真计算机的实时时间同步,这种同步模式称为软同步。DIS中的时间同步是和仿真的实时计算结合进行的,且时间同步精度要求达到毫秒级,因此需要进行专门的实时同步算法设计。
3 发展前景
限于篇幅,本文只对DIS中的部分关键技术作简要的介绍,虽然DIS的研究和应用最初是为了实现军事领域中的大规模分布式交互仿真,但它所提出的技术方案和研究成果是通用的。考虑到分布计算已经成为计算机应用的主流,DIS中的技术在通用分布仿真、分布式网络游戏以及分布计算机测控系统中都有实际的应用价值。
在软件开发方面,国防科大军用仿真技术实验室已经成功开发出相应的支撑软件DIS-Link,并得到了广泛的推广。
上一页123