高层体系结构(High Level Architecture,HLA)是从体系结构上建立这样一个框架,它能尽量涵盖M&S领域中所涉及的各种不同类型的仿真系统,并利于它们之间的互操作和重用。同时能适应不断发展中的新技术,来满足复杂大系统的仿真需要。对采用HLA体系结构的仿真系统,仿真系统的运行和仿真成员之间的交互和协调都是通过运行支撑系统RTI (Run Time Infrastructure)来实现的。 RTI的实现及其运行的性能好坏,是分布交互仿真系统实现的关键。
简介
分布交互仿真技术从产生(SIMNET计划),到DIS2.x IEEE1278协议和ALSP协议的制定,进而发展到今天的DIS++ /HLA体系结构,都是企图解决M&S领域存在的问题:绝大多数仿真器应用实现较为独立,仿真器之间的交互性和重用性差;开发、维护和使用费时及成本高;验证性、有效性和置信度较差。 HLA就是从体系结构上建立这样一个框架,它能尽量涵盖M&S领域中所涉及的各种不同类型的仿真系统,并利于它们之间的互操作和重用。同时能适应不断发展中的新技术,来满足复杂大系统的仿真需要。对采用HLA体系结构的仿真系统,仿真系统的运行和仿真成员之间的交互和协调都是通过运行支撑系统RTI(Run TimeInfrastructure)来实现的。 RTI的实现及其运行的性能好坏,是分布交互仿真系统实现的关键。
特点与功能
HLA体系结构是一个开放的、支持面向对象的体系结构。它采用面向对象的方法学来分析系统,建立不同层次和粒度的对象模型,从而促进了仿真系统和仿真部件的重用。 HLA的关键组成部分是接口规范,它定义了在一个联邦演练中,支持联邦成员通过RTI实现成员之间相互交互、协调和协同作业的标准服务。它的最显著的特点就是通过提供通用的、相对独立支撑服务程序,将应用层同其底层支撑环境功能分离开,即将具体的仿真功能实现、仿真运行管理和底层传输三者分离开来,隐蔽了各自的实现细节,可以使各部分相对独立的开发,最大程度地利用各自领域的最新技术来实现标准的功能和服务,适应新技术的发展。同时,可实现应用系统的即插即用,易于新的仿真系统的集成和管理,并针对不同的用户需求和不同的应用目的,实现联邦快速、灵活的组合和重配置,保证了联邦范围内的互操作和重用。
RTI作为联邦执行的核心,其功能类似于某种特殊目的的分布式操作系统,跨
计算机平台、操作系统和网络系统,为联邦成员提供运行所需的服务。 RTI提供六种服务,即联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分布管理等服务。
RTI的体系结构
RTI原型系统的开发实现起始于1995年年底,最初的RTI实现主要用来对采用HLA体系结构在不同领域上的应用进行验证,并对早期的接口规范进行评价。1996年8月,基本接口规范1.0被AMG接受,并被USD(A&T)(Under Secretary of Defense for Acquisition and Technology)准许作为标准技术体系结构用于所有的DoD仿真系统中。从基本接口规范1.0的制定和不断发展更新,相应地产生了由不同组织开发的RTI实现系列。
RTI作为采用HLA体系结构的运行支撑系统,在初期,为了验证HLA的功能,更深刻地理解和获得采用HLA体系结构的经验,发现HLA存在和需要改进的问题,RTI的原型通常基于COR-BA来快速实现,因为CORBA是一个基于分布式面向对象计算模式集成应用系统的体系结构规范。它采用客户/服务器模式,而HLA体系结构也体现了这些特点。另外,使用CORBA作为中间件,可隐藏实际应用对象的异构性,底层系统软件的细节,及通讯协议和硬件等。
RTI在体系结构上,分集中式RTI(RTI的服务功能集中在一台机器上)和分布式RTI(RTI的服务功能分布在多台机器上)。对集中式RTI,时间主要花费在对信息的处理上(overhead),而分布式RTI时间不但花费在对信息的处理上,还包括信息在网络上传输的时间消耗(latency)。故基于CORBA的RTI采用集中式的体系结构,更有利于减少网络带宽,降低通讯和处理的延时。
对于RTI,其信息吞吐量(throughput)和延迟(latency)是两个重要的性能指标。在RTI的最初原型实现后,由于一般的CORBA产品的实时性不强,在信息输入输出流通量和时间延迟上有一定的限制,同时,网络协议采用TCP/IP提供可靠的传输服务,不能满足多种传输方式的需求,以提高信息输入输出流通量和减少延迟。目前,RTI一般直接采用UDP与
TCP/IP协议来实现。
HLA体系结构最显著的特点就是实现了仿真功能与运行支撑系统的分离。在RTI体系结构的设计上也采用这一特点。目前主要采用分布、层次化和模块化的体系结构,各功能模块之间尽量减少耦合关系,并采用层次调用的关系,增强各功能模块的独立发展性,减少相互之间的影响。如在RTI的通讯层上,引入抽象底层通讯层的虚拟网络层。从而将RTI的具体服务功能与底层的实际通讯机制(如ATM等)分离开来,避免底层通讯服务的变化对客户方的影响,以适应网络技术的不断发展。在设计实现上,采用面向对象的设计方法进行接口定义和功能实现,以利于新功能与新算法的加入和重载,减少对其它功能组件的影响,适应新的需求和技术发展,增强系统的可扩充性(extensibil-ity)。同时,当前体系结构在设计实现上,更从整体性能,包括可扩展性、可量测性和灵活性等方面考虑。
RTI实现中的关键技术
要满足当前复杂大系统的仿真,必须有一个高性能的、有效的运行支撑系统—— RTI的支持,而要设计实现一个具有较高质量和灵活性,能满足不同仿真需要的RTI,其中的关键技术涉及时间管理、数据分布管理、网络通讯传输和内部运算与管理优化等方面的技术。下面就时间管理、数据分布管理、网络通讯传输技术进行较为详细论述。
RTI中时间管理策略
在RTI中,时间管理控制协调不同局部时钟管理类型的联邦成员(如DIS仿真系统、实时仿真系统、时间步长仿真系统、事件驱动仿真系统和乐观机制的仿真系统等)在联邦时间轴上的推进,并为各联邦成员提供不同传输要求和质量的消息、数据传输。即时间管理提供两方面的服务:
一是提供不同可靠性、不同事件接受顺序的传输服务,即按可靠性分为“可靠的消息传输”和“非可靠的消息传输”服务;按事件顺序分为“接收顺序、优先级顺序、因果顺序和时间戳顺序”四种传输服务。对不同的传输要求,时间管理负责按相应的调度策略来调度传递消息,同时对时间戳顺序的消息还要保证没有“过时”的消息传递给联邦成员,即消息的时间戳小于联邦成员当前的逻辑仿真时间。
另一是时间推进服务,按照对联邦逻辑时间推进的影响,可以将联邦成员划分为两种类型: (1)时间受限(time constrained),即联邦成员接收时间戳顺序(TSO)的消息,自身的仿真逻辑时间推进受其他联邦成员的影响; (2)时间控制( timeregulating),即联邦成员发送时间戳顺序(Time-Stamp Ordering,TSO)的消息,并影响其他联邦成员的时间推进。相应联邦成员的时间推进机制有四种类型:逻辑同步、外部时间同步、逻辑时间被动和逻辑时间主动。
HLA时间管理提供时间协调推进的服务原语,联邦成员按自身逻辑时间推进模式,向RTI发出时间推进请求,RTI依据联邦成员在时间推进中所属类型,采用相应的协调推进策略推进各联邦成员的逻辑时间。在实现上,通常采用保守机制或乐观机制来推进各联邦成员的逻辑时间,保证因果关系的正确性。相应的算法有基于最小时间戳的管理方法,基于超前量的管理方法等。除为有效地保证时间戳消息的排序调节,采用各种优化的时间管理算法外,在实现上,为保证系统的灵活性与可扩充性,适宜不同仿真系统时间调节的需要,并尽量保证时间管理模块的独立性,减少对其它模块的影响,可建立将TSO的计算与TSO排序转发算法分离开的时间管理体系结构。
数据分布管理的实现策略
DDM服务的主要目和功能就是尽量减少联邦成员接收到不需要的数据和流过网络的信息数据量。 DDM在实现上应该考虑其有效性(efficiency)和可量测性(scalability)。为提供基于值的数据过滤方法,DDM通常采用择径空间(routing space)的概念,择径空间是归一化的多维坐标系统,联邦成员使用该坐标系统来描述能够发送和希望接收的数据的类型和条件。数据分布管理采用层次化的结构,如图1所示。
当前DDM实现的主要特点
当前通常采用的过滤方法有基于网格(grid-based)、基于接受者(receiver-based)和基于发送者(sender-based)等过滤方法。其中,基于网格的方法由于对网络资源占用较多,对数据的接收方不明确,以及网格划分产生的内在的定量问题,适合于可量测性、性能和成本要求不是很高的条件下。对应基于网格方法中发送者并不知道那些接受者实际需要这些数据的情况,基于发送者或基于接受者的过滤方法会产生更高的过滤效率,减少对网络资源和处理器资源的消耗。目前,数据分布管理主要解决实时条件下数据的分布管理,对采用逻辑时间的联邦成员,数据分布管理还需要解决不同逻辑时间的联邦成员之间数据更新与订购之间的同步问题。
RTI网络通讯传输
网络通讯传输层,作为RTI体系结构的最底层,是实际传输RTI内部各控制消息和传递仿真成员之间数据的支撑系统。它的性能和提供的功能是能否满足实际仿真系统运行需要的关键。 HLA支持不同类型的仿真系统的运行和互操作,故与传统DIS系统的通讯网络相比,需要更复杂和更多的网络传输服务的支持。网络通讯按照寻址方式划分,可分为点对点通讯(unicast)、一点对多点通讯(multicast)和广播(broadcast)三种方式。
采用DIS的基于广播方式的信息传输方式,对大规模的分布仿真系统,随着仿真节点N的增加,网络上的信息量以N2的量级增加,系统会产生不可量测的问题,并影响系统的性能。在RTI中,取代广播的传输方式,而采用点对点,或一点对多点的传输方式,如multicast技术,将信息从数据的发出者,直接传递给数据的订购者,以提高系统的性能。目前, RTI的底层网络传输协议采用TCP/IP,UDP/IP协议。
按传输质量和效率,底层通讯服务支持RTI两种传输方式,即Reliable和Best effort两种数据传输服务。 Reliable传输服务提供可靠的,面向连接的传输服务,服务可由TCP/IP连接,以reliablemulticast等方式支持。Best effort的消息传输服务提供非可靠的,不面向连接的消息传输服务方式。该服务可由UDP/IP连接,以multicast和unicast等方式支持。另外,它与RTI具体功能实现之间存在一层抽象底层通讯层的虚拟网络层,它提供一层标准的通讯接口,使网络连接的建立与具体的底层通讯传输分离开,可利用最新的网络技术,避免底层通讯服务的变化对客户方的影响。