基于Web服务的 HLA 分布式虚拟仿真系统扩展
来源:第三维度 作者:韩超,鞠儒生,黄柯棣 单位:国防科技大学机电工程与自动化学院
摘要:Web 服务置于开放的标准技术之上,不受任何操作系统和编程语言的约束,能够允许不同平台的应用程序之间通过 Internet 进行通信和交换数据。利用 Web 服务扩展 HLA 仿真系统可以解决 HLA 存在的诸多问题,进一步提高 HLA 的互操作性,阐述了为什么要将Web 服务引入 HLA 仿真系统,分析了利用 Web 服务扩展 HLA 仿真系统的几种途径。
1 概述
作为现行分布交互仿真的标准,HLA在世界军事仿真领域得到了广泛的应用。HLA的目的是提高仿真组件的互操作性和可重用性,随着应用不断深入,这一目标在一定程度上得到了实现。但是,单纯的HLA仿真也有其不足[1]。
首先,HLA的运行支撑框架RTI的实现与特定编程语言及计算机平台有关,不同厂商的RTI之间互操作性有限,需要引入新的技术以实现仿真应用在更大规模上的互操作性。其次,由于HLA仿真与其他领域的一些技术以及开放的标准脱节,造成HLA的应用大多局限于军事领域,跟诸多商业应用不兼容,应用领域的局限性将严重阻碍HLA的进一步发展。最后,如何集成多个HLA仿真系统以及HLA系统与其它系统(例如C4ISR系统等)也是有待进一步研究的问题。为了解决这些问题,HLA仿真系统应该确定和采纳有关的革新技术。
目前,建立在 Internet 和 Web 技术之上的软件系统可以实现全球范围的互操作。Web 服务具有很多优点,其使用的是开放的、基于文本的标准,这使得用不同语言编写的组件以及不同平台的组件之间可以互相通信,极大地促进合作式的软件开发。使用 Web 服务,开发人员可以用他们最喜欢的编程语言编写代码,然后将这些代码与其它开发人员用另外的语言为不同平台所编写的代码进行合并。这样开发人员就不必费时费力学习多种编程语言。Web 服务胜过以往分布式计算技术的一个最重要的优点是它使用了开放的标准。
将 Web 服务应用于 HLA 领域中,利用 Web 服务扩展 HLA仿真系统,不仅可以解决目前 HLA 存在的问题,还可以带来如下优势:
(1)在开发过程中可以有效利用目前企业范围内主流的软件开发技术和方法,实现更为强大、高效 HLA 仿真系统;
(2)能够为开发人员和用户提供良好的应用环境,进一步提高 HLA 仿真系统的互操作性;
(3)Web 服务的使用有利于多个 HLA 仿真系统之间以及HLA 仿真系统与其它系统特别是 C4ISR 系统的集成。
2 Web 服务简介
Web服务是一类可以从Internet上获取的服务的名称,它使用标准的XML消息接发系统,不受任何操作系统和编程语言的约束[2]。Web服务置于开放的标准技术之上,能够允许不同平台的应用程序之间通过Internet进行通信和交换数据。
Web服务技术代表了分布式计算的下一个阶段。
完整的 Web 服务应该满足以下条件:
(1)可以从 Internet 或 Intranet 获取;
(2)使用标准的 XML 消息接发系统;
(3)不受任何操作系统或编程语言约束;
(4)使用普通的 XML 语法,可以自描述;
(5)用简单的查找机制就可以发现。
Web 服务体系结构模型如图 1 所示,是基于 3 种角色(服务提供者、服务注册中心和服务请求者)之间的交互。交互具体涉及到发布、查找和绑定操作。在典型情况下,服务提供者提供可通过网络访问的软件模块(Web 服务的一个实现),定义 Web 服务的服务描述,并把它发布到服务请求者或服务注册中心。服务注册中心是一个逻辑上集中式的服务目录,其提供一个集中的地方供开发者发布新服务或寻找已有服务。服务请求者使用查找操作从本地或服务注册中心搜索服务描述,然后使用服务描述与服务提供者进行绑定,并调用相应的 Web 服务实现,同它交互。服务提供者和服务请求者角色是逻辑结构。
图 1 Web 服务体系结构模型
Web 服务区别于其它类似的计算模型的部分原因在于Web 服务使用了 XML 和基于 XML 的标准——最常见的是SOAP、WSDL 和 UDDI。可扩展标记语言(EXtensible MarkupLanguage,XML)具有数据独立性(表示与内容相分离),是目前全球范围内被广泛接受的用于描述数据和交换数据的标准,其为 Web 服务提供了数据/信息描述手段。简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML的、用于在计算机之间交换信息的协议,其提供了一种在应用程序和 Web 服务之间进行通信的机制。Web 服务描述语言(Web Service Description Language,WSDL)提供了一种向其他程序描述 Web 服务的统一的方法。通用描述、发行和集成(Universal Description,Discovery and Integration,UDDI)使创建可搜索的 Web 服务注册中心成为可能。将这些核心技术组合在一起加以使用,开发人员便能够将应用程序包装成 Web服务并在网络上发布,使它们以一种独立于特定编程语言、操作系统和硬件平台的方式进行通信。
3 扩展方法研究
要研究如何利用 Web 服务扩展 HLA 仿真系统,应该从HLA 联邦的系统结构入手,如图 2 所示。
图 2 HLA 联邦系统结构
RTI 是按照 HLA 接口规范开发的仿真支撑软件,它提供了一系列用于仿真互连的服务,是 HLA 仿真系统进行分层管理控制,实现分布仿真可扩展性的基础。根据 HLA 联邦系统结构分层的特点,利用 Web 服务扩展 HLA 仿真系统主要有两种途径:扩展 HLA 联邦的成员层,扩展 RTI 通信层。
3.1 成员层扩展
最简单的扩展形式是将 Web 服务应用于 HLA 联邦的成员层,RTI 不需要改动,如图 3 所示。
图3 联邦成员层扩展
联邦成员除了与RTI交互外,同时作为Web服务驻留在Internet上,用户可以通过Web服务提供的各种信息传输机制在异地对成员进行控制。从已有的应用情况看[4,5],在图 3 中
客户端的应用程序一般是简单的浏览器界面,它们可以位于同一地点,也可根据需要分布在Internet上。用户可以通过浏览器在远程异地对成员进行初始化,配置各种启动参数,同时实现成员加入联邦、退出联邦、暂停运行等简单的管理工作。这种应用结构相对简单直观,但是针对不同的系统,就需要制定相应的在Internet上传输信息的XML格式,不具有通用性。
3.2 RTI 层扩展
可以利用 Web 服务对 RTI 通信层进行扩展,实现完全基于 Web 服务的 RTI。所谓“基于 Web 服务”,就是根据 Internet的特点(交互、开放)进行设计与使用 Web 技术,并且主要使用 Web 服务作为其信息交换方法。由基于 Web 服务的 RTI构建的 HLA 仿真系统如图 4 所示。
图 4 RTI 通信层完全扩展
在图 4 中,将 RTI 现有的接口功能改造成 Web 服务并驻留在 Internet 上,用户可以通过 Web 服务提供的查询机制进行查询,然后进行远程调用。此外,HLA 联邦成员也能够作为 Web 服务驻留在 Internet 上,终端用户可以通过浏览器,根据需要组建 HLA 联邦。将 RTI 的接口功能与联邦成员都作为 Web 服务发布在 Internet 上是实现完全基于 Web 服务的HLA 仿真系统的最终目标。由于运行于 Internet 之上,如何提高系统运行效率以及如何有效地实现时间管理等都是有待研究解决的问题,因此这一目标短期内还无法完全实现。同样,由于对现有 HLA 系统的改动面太大,这种扩展形式短期内也不能实现。
由于完全基于 Web 服务的 RTI 实现起来难度较大,目前情况下,可以利用 Web 服务对 RTI 通信层进行不完全扩展,实现 Web 使能 RTI(Web-Enabled RTI)。所谓“Web 使能”的应用,就是能够在 Internet 环境下运行,且能够利用 Web 技术支持其运行的应用。一般而言,方式是在现有的系统上增加一层以便使用 Web 技术,系统的设计和结构仍是原来的,其层次比“基于 Web”的应用低。由 Web 使能 RTI 构建的HLA 仿真系统如图 5 所示。
在图 5 中,对于 Web 服务代理成员来说,一方面作为普通的成员加入已有的 HLA 联邦,另一方面通过 Web 服务的各种标准与 Web 使能 RTI 构建的联邦进行信息转发。通过Web 服务代理成员的桥接机制,现有的 HLA 仿真应用可以很好地融入整个系统中。遵循 Web 使能 RTI 定义的基于 XML的信息传输格式,其它仿真系统通过 Web 服务代理也可以融入系统中运行,这也为研究 HLA 仿真系统与其它系统的互联提供了一种可行途径。文献[6]中的仿真系统利用这种扩展形式实现了对 HLA 联邦的远程观测。通过这种结构还可以实现对现有 HLA 联邦的远程数据采集等功能,此种扩展形式的关键是 Web 使能 RTI 的研究与实现。
图 5 RTI 通信层不完全扩展
对于Web使能的RTI,统一的体系结构对于其开发和应用是非常重要。参考SAIC首席科学家Katherine L.Morse博士等人的研究[7],Web使能RTI的体系结构如图 6 所示,其采用SOAP作为远 程调用的协议 ,并通过块可 扩展交换协议(Blocks Extensible Exchange Protocol,BEEP)来传输SOAP消息。
图 6 Web 使能 RTI 体系结构
SOAP 是 Web 服务技术的核心之一,是一种基于 XML的、用于在计算机之间交换信息的协议。SOAP 能使客户应用程序很容易地连接远程服务并调用远程方法。选择 SOAP作为 Web 使能 RTI 远程调用的协议基于如下原因:(1)SOAP是真正跨平台跨语言的解决方案,通过使用 SOAP 开发的组件可以做到与特定的操作系统、与编程语言无关。(2)SOAP消息是一种可理解的数据格式,这会使开发与调试工作变得相对容易。(3)SOAP 本身具有很强的扩展性,允许我们制定并发布 HLA 接口与 SOAP 映射的 XML 模式,只要遵循这一模式,所有厂商开发的 Web 使能 RTI 库都可以彼此兼容。
当 SOAP 消息真正需要在网络上实际传输的时候,它能够与不同的底层传输协议(如 HTTP、SMTP、FTP、BEEP 等)进行绑定。Web 使能 RTI 选择通过 BEEP 使用 SOAP,与选择 HTTP 等协议相比,这样做在性能上具有优势。BEEP 层直接置于 TCP 之上,包括内置的信息交换协议、身份验证、安全和错误处理等若干功能。用 BEEP 可以为即时消息接发、文件传输、内容联合和网络管理等各种应用程序创建新协议。
此外,BEEP 比 HTTP 更有效率,并且支持一个连接的多个数据通道,通过不同的数据通道,可以区分 RTI Ambassador主调服务与 Federate Ambassador 回调服务。
4 结论
Web 服务具有改变整个软件设计、开发、部署过程的潜力,其代表了一种新的分布式计算的模式。将 Web 服务应用于 HLA 领域,利用 Web 服务扩展 HLA 仿真系统能够解决目前 HLA 存在的诸多问题,进一步提高 HLA 的互操作性。根据 HLA 联邦系统结构分层的特点,利用 Web 服务可以实现成员层以及 RTI 通信层的扩展。本文分析了两种扩展方法,给出了 Web 使能 RTI 参考体系结构。如何在 Web 使能 RTI中实现高效的时间管理机制、数据分发机制等以适应 Internet的特点,是接下来亟待研究解决的问题。
参考文献
1 Don B, Michael Z, Pullen J M, et al. Extensible Modeling andSimulation Framework Challenges for Web-based Modeling andSimulation[R]. Monterey, CA: Findings and RecommendationsReport, 2002.
2 Cerami E. Web Services Essentials[M]. O’Reilly & Associates, Inc.,2002. 3 Arnold B, John R, Don B. Using XMSF Web Services for JointModeling and Analysis[C]. Proc. of Fall Simulation InteroperabilityWorkshop, 2004.
4 DAVID M, Kenneth B D, Mark F, et al. A Web-based Infrastructure forSimulation and Training[C]. Proc. of Fall Simulation InteroperabilityWorkshop, 2004.
5 Andreas W, Ingo S, Ulrich R. Integration of HLA Simulation Modelsinto a Standardized Web Service World[C]. Proc. of EuropeSimulation Interoperability Workshop, 2003.
6 Katherine L M, DAVID L D, Ryan P Z B. Web Enabling HLACompliant Simulations to Support Network Centric Applications[C].Proc. of Command & Control Research & Technology Symposium,2004.
7 Katherine L M, DAVID L D, Ryan P Z B. Web Enabling an RTI–anXMSF Profile[C]. Proc. of Europe Simulation InteroperabilityWorkshop, 2003.
8 Tim P, Michael F. Extending Distributed Simulation: Web ServicesAccess to HLA Federations[C]. Proc. of Europe SimulationInteroperability Workshop, 2004.
上一篇:基于MFC/ Vega 的炮兵行动在线仿真系统 设计与实现[ 12-06 ]
下一篇:基于OpenGL的三维地下管线信息系统的设计与实现[ 12-08 ]