《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于网格环境的分布式虚拟战场模型的UML建模
基于网格环境的分布式虚拟战场模型的UML建模
陈 娟,王汝传
(南京邮电学院 计算机科学与技术系,江苏 南京210003)
摘要: 介绍利用UML工具设计和分析基于网格计算环境的虚拟现实战场模型,从系统需求和问题领域出发,分析系统用例图,并从静态和动态方面考虑系统的结构模型。
Abstract:
Key words :

摘   要: 介绍利用UML工具设计和分析基于网格计算环境的虚拟现实战场模型,从系统需求和问题领域出发,分析系统用例图,并从静态和动态方面考虑系统的结构模型。
关键词: 虚拟现实  网格计算  虚拟现实战场  UML

  虚拟现实是一种先进的计算机用户接口,它通过给用户同时提供诸如视觉、听觉、触觉等各种直观而又自然的实时感知交互手段,最大限度地方便用户的操作。其中分布式虚拟现实(Distributed Virtual Reality,DVR)系统是指基于网络的虚拟环境。在这个环境中,位于不同物理位置的多个用户或多个虚拟环境通过网络相联接,并共享信息。虚拟现实系统运行在分布式环境下有二方面的原因:(1)充分利用分布式计算机系统提供的强大计算能力。(2)有些应用本身具有分布特性,如多人通过网络进行游戏和虚拟战场模拟等。
  网格是一种把地理位置上分散的资源集成起来的基础设施。其基本特征是:资源共享,通过通信网络提供了计算资源、存储资源、数据资源、信息资源、知识资源、专家资源和设备资源的全面共享。网格把同通信手段连接起来的资源无缝集成为一个有机整体。它给用户提供一种基于国际互联网的新型计算机平台,即网格计算(Grid Computing)环境,在这个平台上对来自客户的请求和提供资源的能力进行合理的匹配,为用户的请求选择合适的起源服务,实现广域范围的资源共享。要想给用户、资源提供畅通的渠道,提供安全、高效、高质量的服务,网格必须具备4个基本特点:虚拟性、共享性、集成性和协商性。
  网格计算利用分布式计算(Distributed Computing)机网络处理大计算量任务,最大限度地利用了现有网络的计算能力,实现资源共享。网格为分布式虚拟现实提供了强有力的支持,顺应了当前分布式虚拟现实的发展,使得分布式虚拟战场拥有广泛的应用前景。
1  网格环境分析
  网格可以简单地划分为分布式资源、网格系统和网格应用3个层次。网格应用层处于网格的顶层,分布式资源为网格的物理层即为网格底层,网格系统处在分布式资源和应用层之间,在应用层和资源之间起到桥梁作用。完整的网格系统需要有如图1所示的基本管理功能。

  (1)信息管理:为网格中的活动提供依据。
  (2)资源管理:负责管理网格中的所有资源。
  (3)数据管理:管理数据的存储、数据的标识和副本等。
  (4)通信与安全管理:保证网格上的活动合法,信息通达。
  (5)界面管理:负责用户和网格之间信息的转换和表现。 (6)作业管理:支持用户在计算资源上运行自己的代码。
  (7)公共管理:包括用户的管理、网格的监控、记账等。
  网格用户通过界面管理的支持将作业提交给网格,最后从网格得到计算结果。网格在提供服务之前,首先需要通过信息管理确认网格中哪些资源目前可用。分配好可用资源后还需要进行资源管理。在作业计算过程中,需要使用网格中的数据,网格需要通过数据管理传输远程节点上的数据。整个过程需要通信和安全管理作保障以防泄漏关键数据等。
2  基于网格环境的虚拟现实战场的具体分析
  虚拟现实战场模型在本文中属于网格的应用,也是本文设计的重点。网格应用区别于传统应用的特点在于其运行环境是网格,而且网格应用可以调用整个网格上的各种远程服务。总的说来,网格应用应该具有如下一些特点:
  (1)黏合性。网格应用可以通过把不同的网格构件黏合在一起来实现。这些黏合在一起的构件可以是不同程序设计语言开发出来的,可以运行在不同的操作系统和硬件设备上。
  (2)动态性。网格应用的运行环境是动态的,即所用资源在网格上的来去是动态的,运行应用的目标机器的选择也是动态的。构成一个网格应用的构件随着宿主设备的进入和退出,网格呈现出的是可用和不可用的动态性。
  (3)平台独立性。网格应用应该与具体的平台无关。尽管网格的思想中并不排斥某种特定的运行环境,但这只是从兼容的角度强调网格上可以运行所有的传统应用。网格应用应该脱离具体的平台,可以在任何具体环境下运行。
  (4)网格应用具有可伸缩性。在网格资源充裕的情况下,一个应用可以利用多个资源实现自己的操作。如果网格资源比较紧张,同样一个应用在少数几个资源上运行也可以完成要做的事情。即网格应用对资源的需求也应该有伸缩性。
  (5)自我管理性。网格应用活动涉及网格中的多个资源,在很多情况下,应用的启动者也难以判断活动在哪个具体的机器上执行,一旦出现故障,就需要应用能配合网格管理系统实现自我管理,做好故障恢复和处理,做到不会影响其他应用的正常执行。
2.1 虚拟现实战场系统需求和问题域分析
  该模型在初始化阶段需要有一定的安全性,支持注册、登录、注销和退出系统等功能。登录上系统的网格用户可通过EAI(External Authoring Interface)外部编程接口和虚拟现实战场中的本地虚拟化身交互通信。一方面随着本地用户的化身在虚拟战场中不断地运动变化,一些本地信息如用户序列号、方位、旋转角度等都在不断地发生变化,这些信息对于该网格用户而言仅仅是需要在网格客户端本地处理而已;另一方面在网格客户端随着代表该网格用户的虚拟化身的不断运动变化以及与其他虚拟化身的交互,如炮击对方、在线聊天等,虚拟场景也要做出相应的变化。这些数据信息都需要通过虚拟组织网格服务接口将客户端网格服务发布到网格服务端,由网格服务端来管理虚拟战场应用并将其相应的各种原语交付给任务调度中心和资源管理中心来进行统筹调度处理。
  图2即为在网格环境下所要实现的应用系统——虚拟现实战场的UML用例图。具体描述如下:

  普通用户通过注册成为网格用户,网格用户在登录上系统之后,可以进行注销、退出系统或是与其他网格用户进行交互,如发射武器、更新其他网格用户虚拟场景中化身的方位等。这些操作都可被视为网格客户端信息的处理。虚拟战场中的化身亦代表虚拟战场用户,它主要是处理无需通过网格环境的本地信息,如更新自身的方位、旋转角度等。而网格客户端信息则通过客户端网格服务发布到虚拟组织,再由VR应用管理进行资源调度和任务调度等。
2.2 基于网格的虚拟战场静态模型结构分析 
  虚拟现实战场位于网格系统的应用层,对该战场的设计分为实现功能设计和模型界面设计。
  (1)实现功能设计:同一个局域网共享一个虚拟现实战场,实现三方军队相互交战,其中所有同在一个局域网且通过身份验证的用户均可通过网格环境参与到该战场场景中,此时该用户即被称为在线用户。所有在线用户均可利用某些仪器如鼠标、键盘等对虚拟场景进行操作,如代表在线用户的化身在本地客户场景中作转身、移动等动作,与此同时其他在线用户化身的客户场景中同样记录着这些动作信息,并以此改变自身客户场景中此化身的状态变化。另一方面,基于虚拟战场的特性,每个在线用户势必会与敌方交战,他们可以在自身的客户场景中运用鼠标和键盘热键发射炮弹,攻击对方等,这些作战情况都会记载在本地客户场景信息中。另外,各个在线用户因是交互作战,彼此之间的语言交流必不可少。因此本地客户场景中应集成有在线聊天功能,便于在线用户之间的交流。
  (2)模型界面设计:虚拟战场系统共有6个界面子模块:用户登录界面、武器选择界面、本地化身信息界面、本地化身作战情况界面、在线用户界面和虚拟战场场景图。首先用户在登录界面中输入身份验证信息,通过验证后方可进入虚拟场景作战;同时在线用户界面中会为该合法用户提供此刻同在虚拟战场中的各个在线用户名。另外,客户化身在鼠标和键盘的控制下,可以在虚拟战场场景中随意畅游,本地化身信息界面中会实时地记录下化身的方位数据信息,并提供彼此间聊天功能;而本地化身作战情况界面也会在化身之间进行交互作战时,可视化地显示出本地化身的作战情况,如生命值、得失分情况、攻击是否成功等信息。
  该虚拟战场的UML类图如图3所示,其中网格客户端体系结构使用C/S模式构造,在实现中分5个模块组成:服务端监控中心模块、多线程发送器模块、本地处理机模块、多线程接收器模块和后台数据库维护模块。由于本地处理机模块必须监听各种事件,并做出相应的事件处理,所以需要实现事件监听接口。

2.3 基于网格的虚拟战场动态行为模型分析
  需要指出的是,本系统使用EAI外部编程接口实现用户界面的可视化,使虚拟现实场景更利于控制和管理,这就需要用到Java Applet。由于Applet存在安全性和sandbox(沙盒)机制问题,需要有个服务器容器作为HTTP SERVER来下载Applet,初始阶段只需在客户端输入服务器的IP地址及文件存放位置,这样就可以访问到存放在HTTP SERVER如Tomcat中的HTML。至此可以在客户端开始与服务端和其他客户的交互。
以发射武器为例,由于采用EAI外部编程接口,武器完全可以在虚拟场景中通过EAI接口动态生成。网格用户向VR场景发送某个消息表示需要发射武器,其整个过程如图4所示。具体描述如下:

  (1)网格客户端创建好线程MultiSender多用户发送器,一个线程就代表一个网格用户。
  (2)本地处理机客户端获得VRML浏览器对象,以便通过EAI接口控制VRML场景。
  (3)本地处理机客户端获得虚拟战场用户化身的节点,由此可以通过节点的入事件和出事件属性来监视和控制虚拟化身。
  (4)本地处理机客户端创建线程MultiReceiver多用户接收器,接收从其他网格用户中发来的更新信息或是虚拟场景中的动态数据,如由于化身不断运动变化而带来的虚拟场景的更新变化等。
  (5)通过对发射武器的属性(如大小、形状、颜色等)进行描述而动态地在虚拟场景中生成它。
  (6)武器生成后需要在各个在线网格用户的虚拟场景中发射,并沿着一定的轨迹运动。这些轨迹的位置和转向数据的计算通过网格环境来解决。
  (7)多用户发送器将计算武器发射轨迹数据的操作通过网格服务发布接口发布相应的网格服务。
  (8)向网格服务器请求执行完成网格服务。
  (9)网格服务完成,返回结果。
  (10)向网格客户端返回计算结果。
  (11)线程MultiSender多用户发送器向每个网格用户的线程MultiReceiver多用户接收器发送同步消息,将武器发射轨迹数据发送到接收器。
  (12)接收到武器发射轨迹数据后,通过EAI接口实时更新虚拟战场中的武器发射轨迹。
3  结束语
  网格作为计算机发展的新兴技术,它着眼于高性能和分布式计算能力。本文简单介绍了网格技术,并着重分析了基于网格环境的虚拟现实战场模型的UML建模。整个虚拟现实战场模型建立在网格基础上。网格应用的安全要求并不高,只需简单地进行网格用户身份检验核对,因为网格安全工作的核心应放在网格基础安全如CA认证等方面。所以下一步的工作就是如何考虑整个网格的安全如CA认证等。另外,由于虚拟现实战场完全可以充分利用网格环境中强大的分布式计算能力,因此该模型的可扩展性和实时性能都比较理想。
参考文献
1   Ames A,Nadeau D R,Moreland J.VRML资源手册.北京:电子工业出版社,1998
2   Julier S,King R,Colbert B et al.The Software Architecture   of a Real-time Battlefield Visualization Virtual Environment.IEEE,1999;(13~17)
3   Zhang B,Chen Ye-sho.Enhancing UML Conceptual Modeling through the Use of Virtual Reality.System Sciences,2005.HICSS′05.Proceedings of the 38th Annual Hawaii   International Conference on,2005
4   Matijasevic M,Gracanin D,Valavanis K P et al.A Framework for Multiuser Distributed Virtual Environments. Systems,Man and Cybernetics,Part B.IEEE Transactions  on,2002;32(4)
5   赵小林.网页制作技术教程——虚拟现实篇.北京:国防工业出版社,2002
6   徐志伟,冯百明,李伟.网格计算技术.北京:电子工业出版社,2004
7   冀振燕.UML系统分析设计与应用案例.北京:人民邮电出版社,2003
8   雷鸣,冯永浩,张军.基于VRML技术的分布交互式虚拟战场仿真.计算机仿真,2003;20(11)
9   胡少林,吴玲达,张茂军.3D虚拟战场环境构造技术研究.  小型微型计算机系统,2002;23(12)

此内容为AET网站原创,未经授权禁止转载。