《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于網(wǎng)格環(huán)境的分布式虛擬戰(zhàn)場模型的UML建模
基于網(wǎng)格環(huán)境的分布式虛擬戰(zhàn)場模型的UML建模
陳 娟,王汝傳
(南京郵電學(xué)院 計算機(jī)科學(xué)與技術(shù)系,江蘇 南京210003)
摘要: 介紹利用UML工具設(shè)計和分析基于網(wǎng)格計算環(huán)境的虛擬現(xiàn)實戰(zhàn)場模型,從系統(tǒng)需求和問題領(lǐng)域出發(fā),分析系統(tǒng)用例圖,并從靜態(tài)和動態(tài)方面考慮系統(tǒng)的結(jié)構(gòu)模型。
Abstract:
Key words :

摘   要: 介紹利用UML工具設(shè)計和分析基于網(wǎng)格計算環(huán)境的虛擬現(xiàn)實戰(zhàn)場模型,從系統(tǒng)需求和問題領(lǐng)域出發(fā),分析系統(tǒng)用例圖,并從靜態(tài)和動態(tài)方面考慮系統(tǒng)的結(jié)構(gòu)模型。
關(guān)鍵詞: 虛擬現(xiàn)實  網(wǎng)格計算  虛擬現(xiàn)實戰(zhàn)場  UML

  虛擬現(xiàn)實是一種先進(jìn)的計算機(jī)用戶接口,它通過給用戶同時提供諸如視覺、聽覺、觸覺等各種直觀而又自然的實時感知交互手段,最大限度地方便用戶的操作。其中分布式虛擬現(xiàn)實(Distributed Virtual Reality,DVR)系統(tǒng)是指基于網(wǎng)絡(luò)的虛擬環(huán)境。在這個環(huán)境中,位于不同物理位置的多個用戶或多個虛擬環(huán)境通過網(wǎng)絡(luò)相聯(lián)接,并共享信息。虛擬現(xiàn)實系統(tǒng)運行在分布式環(huán)境下有二方面的原因:(1)充分利用分布式計算機(jī)系統(tǒng)提供的強(qiáng)大計算能力。(2)有些應(yīng)用本身具有分布特性,如多人通過網(wǎng)絡(luò)進(jìn)行游戲和虛擬戰(zhàn)場模擬等。
  網(wǎng)格是一種把地理位置上分散的資源集成起來的基礎(chǔ)設(shè)施。其基本特征是:資源共享,通過通信網(wǎng)絡(luò)提供了計算資源、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源和設(shè)備資源的全面共享。網(wǎng)格把同通信手段連接起來的資源無縫集成為一個有機(jī)整體。它給用戶提供一種基于國際互聯(lián)網(wǎng)的新型計算機(jī)平臺,即網(wǎng)格計算(Grid Computing)環(huán)境,在這個平臺上對來自客戶的請求和提供資源的能力進(jìn)行合理的匹配,為用戶的請求選擇合適的起源服務(wù),實現(xiàn)廣域范圍的資源共享。要想給用戶、資源提供暢通的渠道,提供安全、高效、高質(zhì)量的服務(wù),網(wǎng)格必須具備4個基本特點:虛擬性、共享性、集成性和協(xié)商性。
  網(wǎng)格計算利用分布式計算(Distributed Computing)機(jī)網(wǎng)絡(luò)處理大計算量任務(wù),最大限度地利用了現(xiàn)有網(wǎng)絡(luò)的計算能力,實現(xiàn)資源共享。網(wǎng)格為分布式虛擬現(xiàn)實提供了強(qiáng)有力的支持,順應(yīng)了當(dāng)前分布式虛擬現(xiàn)實的發(fā)展,使得分布式虛擬戰(zhàn)場擁有廣泛的應(yīng)用前景。
1  網(wǎng)格環(huán)境分析
  網(wǎng)格可以簡單地劃分為分布式資源、網(wǎng)格系統(tǒng)和網(wǎng)格應(yīng)用3個層次。網(wǎng)格應(yīng)用層處于網(wǎng)格的頂層,分布式資源為網(wǎng)格的物理層即為網(wǎng)格底層,網(wǎng)格系統(tǒng)處在分布式資源和應(yīng)用層之間,在應(yīng)用層和資源之間起到橋梁作用。完整的網(wǎng)格系統(tǒng)需要有如圖1所示的基本管理功能。

  (1)信息管理:為網(wǎng)格中的活動提供依據(jù)。
  (2)資源管理:負(fù)責(zé)管理網(wǎng)格中的所有資源。
  (3)數(shù)據(jù)管理:管理數(shù)據(jù)的存儲、數(shù)據(jù)的標(biāo)識和副本等。
  (4)通信與安全管理:保證網(wǎng)格上的活動合法,信息通達(dá)。
  (5)界面管理:負(fù)責(zé)用戶和網(wǎng)格之間信息的轉(zhuǎn)換和表現(xiàn)。 (6)作業(yè)管理:支持用戶在計算資源上運行自己的代碼。
  (7)公共管理:包括用戶的管理、網(wǎng)格的監(jiān)控、記賬等。
  網(wǎng)格用戶通過界面管理的支持將作業(yè)提交給網(wǎng)格,最后從網(wǎng)格得到計算結(jié)果。網(wǎng)格在提供服務(wù)之前,首先需要通過信息管理確認(rèn)網(wǎng)格中哪些資源目前可用。分配好可用資源后還需要進(jìn)行資源管理。在作業(yè)計算過程中,需要使用網(wǎng)格中的數(shù)據(jù),網(wǎng)格需要通過數(shù)據(jù)管理傳輸遠(yuǎn)程節(jié)點上的數(shù)據(jù)。整個過程需要通信和安全管理作保障以防泄漏關(guān)鍵數(shù)據(jù)等。
2  基于網(wǎng)格環(huán)境的虛擬現(xiàn)實戰(zhàn)場的具體分析
  虛擬現(xiàn)實戰(zhàn)場模型在本文中屬于網(wǎng)格的應(yīng)用,也是本文設(shè)計的重點。網(wǎng)格應(yīng)用區(qū)別于傳統(tǒng)應(yīng)用的特點在于其運行環(huán)境是網(wǎng)格,而且網(wǎng)格應(yīng)用可以調(diào)用整個網(wǎng)格上的各種遠(yuǎn)程服務(wù)??偟恼f來,網(wǎng)格應(yīng)用應(yīng)該具有如下一些特點:
  (1)黏合性。網(wǎng)格應(yīng)用可以通過把不同的網(wǎng)格構(gòu)件黏合在一起來實現(xiàn)。這些黏合在一起的構(gòu)件可以是不同程序設(shè)計語言開發(fā)出來的,可以運行在不同的操作系統(tǒng)和硬件設(shè)備上。
  (2)動態(tài)性。網(wǎng)格應(yīng)用的運行環(huán)境是動態(tài)的,即所用資源在網(wǎng)格上的來去是動態(tài)的,運行應(yīng)用的目標(biāo)機(jī)器的選擇也是動態(tài)的。構(gòu)成一個網(wǎng)格應(yīng)用的構(gòu)件隨著宿主設(shè)備的進(jìn)入和退出,網(wǎng)格呈現(xiàn)出的是可用和不可用的動態(tài)性。
  (3)平臺獨立性。網(wǎng)格應(yīng)用應(yīng)該與具體的平臺無關(guān)。盡管網(wǎng)格的思想中并不排斥某種特定的運行環(huán)境,但這只是從兼容的角度強(qiáng)調(diào)網(wǎng)格上可以運行所有的傳統(tǒng)應(yīng)用。網(wǎng)格應(yīng)用應(yīng)該脫離具體的平臺,可以在任何具體環(huán)境下運行。
  (4)網(wǎng)格應(yīng)用具有可伸縮性。在網(wǎng)格資源充裕的情況下,一個應(yīng)用可以利用多個資源實現(xiàn)自己的操作。如果網(wǎng)格資源比較緊張,同樣一個應(yīng)用在少數(shù)幾個資源上運行也可以完成要做的事情。即網(wǎng)格應(yīng)用對資源的需求也應(yīng)該有伸縮性。
  (5)自我管理性。網(wǎng)格應(yīng)用活動涉及網(wǎng)格中的多個資源,在很多情況下,應(yīng)用的啟動者也難以判斷活動在哪個具體的機(jī)器上執(zhí)行,一旦出現(xiàn)故障,就需要應(yīng)用能配合網(wǎng)格管理系統(tǒng)實現(xiàn)自我管理,做好故障恢復(fù)和處理,做到不會影響其他應(yīng)用的正常執(zhí)行。
2.1 虛擬現(xiàn)實戰(zhàn)場系統(tǒng)需求和問題域分析
  該模型在初始化階段需要有一定的安全性,支持注冊、登錄、注銷和退出系統(tǒng)等功能。登錄上系統(tǒng)的網(wǎng)格用戶可通過EAI(External Authoring Interface)外部編程接口和虛擬現(xiàn)實戰(zhàn)場中的本地虛擬化身交互通信。一方面隨著本地用戶的化身在虛擬戰(zhàn)場中不斷地運動變化,一些本地信息如用戶序列號、方位、旋轉(zhuǎn)角度等都在不斷地發(fā)生變化,這些信息對于該網(wǎng)格用戶而言僅僅是需要在網(wǎng)格客戶端本地處理而已;另一方面在網(wǎng)格客戶端隨著代表該網(wǎng)格用戶的虛擬化身的不斷運動變化以及與其他虛擬化身的交互,如炮擊對方、在線聊天等,虛擬場景也要做出相應(yīng)的變化。這些數(shù)據(jù)信息都需要通過虛擬組織網(wǎng)格服務(wù)接口將客戶端網(wǎng)格服務(wù)發(fā)布到網(wǎng)格服務(wù)端,由網(wǎng)格服務(wù)端來管理虛擬戰(zhàn)場應(yīng)用并將其相應(yīng)的各種原語交付給任務(wù)調(diào)度中心和資源管理中心來進(jìn)行統(tǒng)籌調(diào)度處理。
  圖2即為在網(wǎng)格環(huán)境下所要實現(xiàn)的應(yīng)用系統(tǒng)——虛擬現(xiàn)實戰(zhàn)場的UML用例圖。具體描述如下:

  普通用戶通過注冊成為網(wǎng)格用戶,網(wǎng)格用戶在登錄上系統(tǒng)之后,可以進(jìn)行注銷、退出系統(tǒng)或是與其他網(wǎng)格用戶進(jìn)行交互,如發(fā)射武器、更新其他網(wǎng)格用戶虛擬場景中化身的方位等。這些操作都可被視為網(wǎng)格客戶端信息的處理。虛擬戰(zhàn)場中的化身亦代表虛擬戰(zhàn)場用戶,它主要是處理無需通過網(wǎng)格環(huán)境的本地信息,如更新自身的方位、旋轉(zhuǎn)角度等。而網(wǎng)格客戶端信息則通過客戶端網(wǎng)格服務(wù)發(fā)布到虛擬組織,再由VR應(yīng)用管理進(jìn)行資源調(diào)度和任務(wù)調(diào)度等。
2.2 基于網(wǎng)格的虛擬戰(zhàn)場靜態(tài)模型結(jié)構(gòu)分析 
  虛擬現(xiàn)實戰(zhàn)場位于網(wǎng)格系統(tǒng)的應(yīng)用層,對該戰(zhàn)場的設(shè)計分為實現(xiàn)功能設(shè)計和模型界面設(shè)計。
  (1)實現(xiàn)功能設(shè)計:同一個局域網(wǎng)共享一個虛擬現(xiàn)實戰(zhàn)場,實現(xiàn)三方軍隊相互交戰(zhàn),其中所有同在一個局域網(wǎng)且通過身份驗證的用戶均可通過網(wǎng)格環(huán)境參與到該戰(zhàn)場場景中,此時該用戶即被稱為在線用戶。所有在線用戶均可利用某些儀器如鼠標(biāo)、鍵盤等對虛擬場景進(jìn)行操作,如代表在線用戶的化身在本地客戶場景中作轉(zhuǎn)身、移動等動作,與此同時其他在線用戶化身的客戶場景中同樣記錄著這些動作信息,并以此改變自身客戶場景中此化身的狀態(tài)變化。另一方面,基于虛擬戰(zhàn)場的特性,每個在線用戶勢必會與敵方交戰(zhàn),他們可以在自身的客戶場景中運用鼠標(biāo)和鍵盤熱鍵發(fā)射炮彈,攻擊對方等,這些作戰(zhàn)情況都會記載在本地客戶場景信息中。另外,各個在線用戶因是交互作戰(zhàn),彼此之間的語言交流必不可少。因此本地客戶場景中應(yīng)集成有在線聊天功能,便于在線用戶之間的交流。
  (2)模型界面設(shè)計:虛擬戰(zhàn)場系統(tǒng)共有6個界面子模塊:用戶登錄界面、武器選擇界面、本地化身信息界面、本地化身作戰(zhàn)情況界面、在線用戶界面和虛擬戰(zhàn)場場景圖。首先用戶在登錄界面中輸入身份驗證信息,通過驗證后方可進(jìn)入虛擬場景作戰(zhàn);同時在線用戶界面中會為該合法用戶提供此刻同在虛擬戰(zhàn)場中的各個在線用戶名。另外,客戶化身在鼠標(biāo)和鍵盤的控制下,可以在虛擬戰(zhàn)場場景中隨意暢游,本地化身信息界面中會實時地記錄下化身的方位數(shù)據(jù)信息,并提供彼此間聊天功能;而本地化身作戰(zhàn)情況界面也會在化身之間進(jìn)行交互作戰(zhàn)時,可視化地顯示出本地化身的作戰(zhàn)情況,如生命值、得失分情況、攻擊是否成功等信息。
  該虛擬戰(zhàn)場的UML類圖如圖3所示,其中網(wǎng)格客戶端體系結(jié)構(gòu)使用C/S模式構(gòu)造,在實現(xiàn)中分5個模塊組成:服務(wù)端監(jiān)控中心模塊、多線程發(fā)送器模塊、本地處理機(jī)模塊、多線程接收器模塊和后臺數(shù)據(jù)庫維護(hù)模塊。由于本地處理機(jī)模塊必須監(jiān)聽各種事件,并做出相應(yīng)的事件處理,所以需要實現(xiàn)事件監(jiān)聽接口。

2.3 基于網(wǎng)格的虛擬戰(zhàn)場動態(tài)行為模型分析
  需要指出的是,本系統(tǒng)使用EAI外部編程接口實現(xiàn)用戶界面的可視化,使虛擬現(xiàn)實場景更利于控制和管理,這就需要用到Java Applet。由于Applet存在安全性和sandbox(沙盒)機(jī)制問題,需要有個服務(wù)器容器作為HTTP SERVER來下載Applet,初始階段只需在客戶端輸入服務(wù)器的IP地址及文件存放位置,這樣就可以訪問到存放在HTTP SERVER如Tomcat中的HTML。至此可以在客戶端開始與服務(wù)端和其他客戶的交互。
以發(fā)射武器為例,由于采用EAI外部編程接口,武器完全可以在虛擬場景中通過EAI接口動態(tài)生成。網(wǎng)格用戶向VR場景發(fā)送某個消息表示需要發(fā)射武器,其整個過程如圖4所示。具體描述如下:

  (1)網(wǎng)格客戶端創(chuàng)建好線程MultiSender多用戶發(fā)送器,一個線程就代表一個網(wǎng)格用戶。
  (2)本地處理機(jī)客戶端獲得VRML瀏覽器對象,以便通過EAI接口控制VRML場景。
  (3)本地處理機(jī)客戶端獲得虛擬戰(zhàn)場用戶化身的節(jié)點,由此可以通過節(jié)點的入事件和出事件屬性來監(jiān)視和控制虛擬化身。
  (4)本地處理機(jī)客戶端創(chuàng)建線程MultiReceiver多用戶接收器,接收從其他網(wǎng)格用戶中發(fā)來的更新信息或是虛擬場景中的動態(tài)數(shù)據(jù),如由于化身不斷運動變化而帶來的虛擬場景的更新變化等。
  (5)通過對發(fā)射武器的屬性(如大小、形狀、顏色等)進(jìn)行描述而動態(tài)地在虛擬場景中生成它。
  (6)武器生成后需要在各個在線網(wǎng)格用戶的虛擬場景中發(fā)射,并沿著一定的軌跡運動。這些軌跡的位置和轉(zhuǎn)向數(shù)據(jù)的計算通過網(wǎng)格環(huán)境來解決。
  (7)多用戶發(fā)送器將計算武器發(fā)射軌跡數(shù)據(jù)的操作通過網(wǎng)格服務(wù)發(fā)布接口發(fā)布相應(yīng)的網(wǎng)格服務(wù)。
  (8)向網(wǎng)格服務(wù)器請求執(zhí)行完成網(wǎng)格服務(wù)。
  (9)網(wǎng)格服務(wù)完成,返回結(jié)果。
  (10)向網(wǎng)格客戶端返回計算結(jié)果。
  (11)線程MultiSender多用戶發(fā)送器向每個網(wǎng)格用戶的線程MultiReceiver多用戶接收器發(fā)送同步消息,將武器發(fā)射軌跡數(shù)據(jù)發(fā)送到接收器。
  (12)接收到武器發(fā)射軌跡數(shù)據(jù)后,通過EAI接口實時更新虛擬戰(zhàn)場中的武器發(fā)射軌跡。
3  結(jié)束語
  網(wǎng)格作為計算機(jī)發(fā)展的新興技術(shù),它著眼于高性能和分布式計算能力。本文簡單介紹了網(wǎng)格技術(shù),并著重分析了基于網(wǎng)格環(huán)境的虛擬現(xiàn)實戰(zhàn)場模型的UML建模。整個虛擬現(xiàn)實戰(zhàn)場模型建立在網(wǎng)格基礎(chǔ)上。網(wǎng)格應(yīng)用的安全要求并不高,只需簡單地進(jìn)行網(wǎng)格用戶身份檢驗核對,因為網(wǎng)格安全工作的核心應(yīng)放在網(wǎng)格基礎(chǔ)安全如CA認(rèn)證等方面。所以下一步的工作就是如何考慮整個網(wǎng)格的安全如CA認(rèn)證等。另外,由于虛擬現(xiàn)實戰(zhàn)場完全可以充分利用網(wǎng)格環(huán)境中強(qiáng)大的分布式計算能力,因此該模型的可擴(kuò)展性和實時性能都比較理想。
參考文獻(xiàn)
1   Ames A,Nadeau D R,Moreland J.VRML資源手冊.北京:電子工業(yè)出版社,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   趙小林.網(wǎng)頁制作技術(shù)教程——虛擬現(xiàn)實篇.北京:國防工業(yè)出版社,2002
6   徐志偉,馮百明,李偉.網(wǎng)格計算技術(shù).北京:電子工業(yè)出版社,2004
7   冀振燕.UML系統(tǒng)分析設(shè)計與應(yīng)用案例.北京:人民郵電出版社,2003
8   雷鳴,馮永浩,張軍.基于VRML技術(shù)的分布交互式虛擬戰(zhàn)場仿真.計算機(jī)仿真,2003;20(11)
9   胡少林,吳玲達(dá),張茂軍.3D虛擬戰(zhàn)場環(huán)境構(gòu)造技術(shù)研究.  小型微型計算機(jī)系統(tǒng),2002;23(12)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。