摘 要:由于目前常用的概念建模方法對于虛擬環(huán)境中物體方位、行為和交互模型等信息缺乏足夠的描述方法,在吸取現(xiàn)有概念模型建模概念和技術的基礎上,提出了虛擬環(huán)境概念模型建模框架,給出了虛擬場景靜態(tài)結構和動態(tài)行為的概念建模方法,并通過虛擬化學實驗平臺的設計和實現(xiàn)驗證了方法的可行性。通過在虛擬環(huán)境設計階段引入概念建模階段,使不具備專業(yè)編程知識的普通人員通過使用圖形化的建模語言也能夠進行虛擬環(huán)境的開發(fā),為虛擬環(huán)境的頂層設計提供了一個科學、有效的手段。
關鍵詞:虛擬環(huán)境; 概念模型; 圖形化語言
中圖分類號:TP391.9 文獻標志碼:A
文章編號:1001-3695(2010)03-0995-04
doi:10.3969/j.issn.1001-3695.2010.03.051
Research of conceptual modeling of virtual environments
ZHAO Xin-can
(College of Information Engineering, Zhengzhou University, Zhengzhou 450001, China)
Abstract:Existing conceptual modeling techniques are too limited for modeling a VR application in an appropriate way. Based on absorbing the concept and technology of existing methods,introduced the framework and methods of virtual environments conceptual modeling. The design and realization of virtual chemistry experiment platform indicated that the proposed conceptual modeling was effective. By introducing a conceptual modeling phase into the development process of VR applications, the intention of this research was that people having no background in VR would find easier to specify and build virtual reality application using graphical modeling language themselves and offered a scientific and effective method in virtual environment system simulation in top level.
Key words:virtual environment; conceptual modeling; graphical language
0 引言
虛擬現(xiàn)實技術與多媒體技術、網絡技術是21世紀三大最具發(fā)展?jié)摿Φ挠嬎銠C應用技術。作為利用計算機生成的虛擬環(huán)境進行交互仿真的一種手段,人們將虛擬現(xiàn)實看做是僅次于互聯(lián)網的改變世界未來的重要技術[1]。VR技術研究是一項投資大、難度高的科技領域,虛擬環(huán)境的構建(包括靜態(tài)場景、行為描述和交互表達)需要多方面人員的共同參與來完成,主要包含三類人員,即領域專家、軟件開發(fā)人員和最終用戶。領域專家是指對所建虛擬環(huán)境領域模型有著深入了解的專業(yè)研究人員;軟件開發(fā)人員是指熟練掌握計算機編程的人員;最終用戶是虛擬環(huán)境的最終使用者。
目前,有相當多的開發(fā)工具支持虛擬環(huán)境的構建,但這些工具一般是為VR專家或者至少對計算機圖形學和虛擬現(xiàn)實有一定了解的軟件開發(fā)人員設計的。虛擬環(huán)境的構建主要是通過一些專業(yè)人員在同時具備對所建領域模型有著專業(yè)性的知識和對計算機編程相當熟練的基礎上完成的,而實際情況下并非如此。一些對所建領域模型有著深入了解的專業(yè)研究人員對計算機編程并不熟練,而熟練掌握計算機編程的人員對所建領域模型本身的工作機理并不了解。由于缺少概念設計階段,軟件開發(fā)人員在與領域專家、用戶進行需求討論形成了一些草圖和場景描述后,就直接進入到虛擬物體的紋理、形狀、行為等編碼實現(xiàn)階段,造成領域專家、用戶和軟件開發(fā)人員無法交流,嚴重阻礙著虛擬環(huán)境構建技術的普及。在虛擬環(huán)境建模過程中提供一套建立在一定的理論基礎之上完備的概念模型描述體系可以有效增加領域專家、軟件開發(fā)人員和最終用戶合作的可能性。通過使用更加接近自然語言的模型表述方法來描述虛擬模型,使不具備專業(yè)編程知識的普通人員也能夠進行虛擬環(huán)境的開發(fā),提高建模的科學性和可用性。
1 概念模型建模方法現(xiàn)狀分析
概念模型是對真實世界的第一次抽象,是連接真實世界與仿真世界的橋梁。從被仿真模型的行為本質看,可將概念模型分為靜態(tài)模型和動態(tài)模型。
1.1 靜態(tài)模型概念建模方法
1)實體—關系(ER)方法
ER模型采用圖形的描述方式,由實體、屬性和關系構成。這種建模方式最初是作為數(shù)據(jù)庫模型設計工具而提出的,受到傳統(tǒng)數(shù)據(jù)模型的局限,分析復雜問題時會帶來不必要的、更大的復雜性。
2)對象—角色(object-role modeling,ORM)建模
ORM依照自然語言來表示模型,用角色來描述對象與對象之間的關系,可以在概念層和邏輯層之間進行映射,把事物的屬性分離出來作為建模研究的對象,強調表述的規(guī)范化,所建的模型具有惟一約束性,穩(wěn)定性強。
1.2 動態(tài)模型概念建模方法
由于被仿真系統(tǒng)通常具有行為特征,靜態(tài)模型概念建模方法就存在了局限性,進而出現(xiàn)了動態(tài)模型概念建模方法。
1)面向功能的概念模型建模
在20 世紀90 年代以前的相當長的一段時間內,建模方法主要由基于功能的建模方法所主導。以結構化分析與設計方法(SADT)和IDEF方法為代表的功能分解法成為業(yè)務建模的主要方法,功能模型是概念建模所要建立的核心模型。
2)面向過程的概念模型建模
面向過程的建模方法偏重于對系統(tǒng)動態(tài)特征如活動、狀態(tài)等的描述,而對系統(tǒng)的靜態(tài)特征如結構、功能方面描述能力較差,不能全面描述系統(tǒng)的特征。面向過程的業(yè)務建模方法主要有IDEF3、Petri 網、GANTT圖、工作流等。
3)面向對象的概念模型建模
面向對象的建模采用構造模型的觀點,在模型的構建過程中,各個步驟的共同目標是構造一個問題域的模型。在分析階段把業(yè)務系統(tǒng)分解成實體及其關系;建模階段則是解決這些實體和關系如何實現(xiàn)的問題。已經提出了不少面向對象的概念模型建模方法,其中Coad/Yourdon、OMT、Booch 和UML建模的方法得到了廣泛的認可[2]。
4)基于本體的概念模型建模
本體是實體概念模型的形式化描述,是對某領域應用本體的方法分析、建模的結果,即把現(xiàn)實世界中某個領域抽象為一組概念(如實體、屬性、進程等)及概念間的關系。本體模型在于知識表達,往往需要囊括一個領域中所有的知識,強調知識的完備性。由于知識總在發(fā)展變化,本體建模是個不斷完善的過程,這要求本體的開發(fā)工具能支持本體的持續(xù)更新和相互引用。
1.3 現(xiàn)有建模方法在虛擬環(huán)境概念建模中的局限性
目前最常用的概念建模方法是ER、ORM和UML。經過一定的擴展,ER和ORM方法能夠很好地支持虛擬環(huán)境中的靜態(tài)場景建模,但是對于虛擬環(huán)境中常見的物體方位、行為和交互模型等信息缺乏足夠的描述方法。UML 是一種定義良好、易于表達、功能強大且普遍適用的建模語言,從軟件工程的觀點看,UML完全可以滿足虛擬環(huán)境概念建模的要求。但是,UML畢竟不是為構建虛擬環(huán)境而設計的,若想滿足虛擬環(huán)境的建模要求必須經過大量的功能擴展,這些擴展對于傾向于使用符合直覺的概念建模方式的非虛擬現(xiàn)實領域專家勢必增加建模的難度。
本文通過引入一個全新的虛擬環(huán)境概念模型建模框架VR-WISE(virtual reality with intuitive specifications enabled),使普通用戶只需具有虛擬環(huán)境建模相關的領域知識,無須懂得計算機語言,通過圖形化、可視化的建模方式,通過拖放鼠標、連線就可以完成復雜的虛擬環(huán)境構建工作,系統(tǒng)自動生成代碼并能夠編譯執(zhí)行。
2 虛擬環(huán)境概念模型建模框架
虛擬環(huán)境概念模型吸收了基于本體的概念模型建模和面向對象的概念模型建模的優(yōu)點,整個建模框架包括元級、領域級和實例級三層,如圖1所示,每層包括三個階段,即描述、映射和代碼生成[3]。
元級在虛擬環(huán)境概念建模中屬于抽象級別(高層),是一個包括許多虛擬環(huán)境建模本體的知識庫,包含了虛擬環(huán)境建模的各個方面:物體的屬性和行為、物體之間的交互、用戶之間交互等。對于以上的每一個方面,都有一個本體被定義。在這個層次,本體是獨立于特定的應用領域。元級包括概念建模本體、元級映射和虛擬現(xiàn)實本體三個模塊。概念建模本體是元級的概念描述階段(其中,基本概念本體為虛擬環(huán)境建模提供共性的概念;組合本體定義了物體之間如何組合和連接形成復雜物體;交互和行為建模本體為物體、用戶之間的交互和行為定義基本描述方法);元級映射本體是高層概念建模本體描述和底層虛擬現(xiàn)實本體代碼實現(xiàn)的橋梁,能夠保證兩者之間的正確解析。這種映射的目的是描述一個領域概念(高層問題域)如何被表達到虛擬環(huán)境(低層目標域);虛擬現(xiàn)實本體定義了所有高層概念描述能夠被映射的所有底層虛擬環(huán)境構建模塊,是元級代碼產生實現(xiàn)階段。
領域級的概念模型建模過程提供特定應用領域虛擬環(huán)境構建過程,包括領域描述、領域映射和領域虛擬環(huán)境代碼生成。領域描述通過對特定應用領域對象的屬性和它們之間關系的描述,建立適合本領域的概念模型,可以認為是概念建模本體在特定應用領域的實例化;領域映射重新定義了概念建模本體到虛擬現(xiàn)實本體的元級映射,被認為是元級映射在特定應用領域的實例化,允許設計者使用領域映射覆蓋元級映射中的默認映射關系;領域虛擬環(huán)境代碼生成可以認為是元級虛擬現(xiàn)實本體的子集,從面向對象的觀點可認為是虛擬現(xiàn)實本體語言的重新封裝。
實例級概念模型建模過程提供針對特定應用領域的特定應用實例的虛擬環(huán)境構建過程,包括實例描述、實例映射和實例虛擬環(huán)境代碼生成。實例描述是領域描述中的概念實例化,針對特定實例領域描述中的概念需要不同的表達;實例映射是領域映射的實例化,可以覆蓋領域映射中的默認映射關系;實例虛擬環(huán)境代碼是領域虛擬現(xiàn)實代碼的重新封裝。
3 虛擬環(huán)境概念模型建模方法
3.1 靜態(tài)結構建模
靜態(tài)結構建模主要完成靜態(tài)虛擬環(huán)境的構建,包括兩方面的內容,即虛擬對象的構建和虛擬環(huán)境的構建。虛擬對象的構建描述對象的形狀和外表,質量、重量、慣性、表面光滑或粗糙度、軟硬度和形狀變形模式等靜態(tài)特性。虛擬環(huán)境的構建研究多個虛擬對象如何組合成復雜的虛擬環(huán)境,主要描述對象之間的空間關系、方位關系和復雜關系等[4,5]。
1)空間關系建模
空間關系通過相對于虛擬場景中的一個對象的方向和距離來描述另一個對象的位置和方向。可用的方向有:left、right、front、back、top、bottom,以及這些方向的可能組合。這種描述方式相對于使用坐標描述的方式更加直觀,如圖2所示,椅子在桌子前面0.5 m。
2)方位關系建模
物體有兩種類型的方位,即內部方位和外部方位。內部方位由局部坐標系定義,確定物體自身的前、后、左和右。外部方位由參照坐標系定義,確定物體相對于其他物體的朝向和旋轉等關系,如圖3所示,椅子的左前面對著桌子的前面。
3)復雜關系建模
物體之間通過復雜關系建模可以構成各種復雜連接關系。如圖4所示,常用的復雜關系包括點連接、軸連接和面連接。門上的把手與門之間是點連接,門和門軸之間是軸連接,船和水面是面連接關系。
4)鐵架臺靜態(tài)結構建模
化學實驗用鐵架臺主要包括底座、立桿和鐵夾三部分。圖5表示立桿在底座上方和底座的上部相連,固定在底座左方6.5 cm,插入底座1 cm;鐵夾通過面連接和立桿相連構成鐵架臺靜態(tài)結構。
3.2 行為建模
行為建模就是在創(chuàng)建模型的同時,不僅賦予模型外形、質感等表觀特征,并且在服從客觀規(guī)律的前提下賦予模型物理屬性和與生俱來的行為與反應能力。換言之,就是要使死的模型變成活的角色。
3.2.1 行為定義圖
行為定義圖是虛擬環(huán)境中物體行為的概念層描述,定義了行為和角色。一個行為可以包含許多動作也可以有許多小的行為(簡單或者組合行為)通過算子組合而成,動作是物體針對一些外部事件的反應;角色是具體物體的抽象,可以為角色定義靜態(tài)屬性也可以通過連接線把角色和行為連接起來,角色就擁有了這個行為作為它的動態(tài)屬性。一個角色可以擁有多種行為,一個行為也可以被指派給多個角色。通過行為定義圖使行為的定義既與激發(fā)它們的事件相分離,也與采取這個行為的實際物體相分離,增強了行為定義的靈活性和可重用性。行為定義分基本行為和組合行為兩種[6]。
1)基本行為
基本行為定義分為以下兩類:
a)行為發(fā)生對場景圖的結構沒有影響(圖6),包括移動、旋轉、滾動、縮放、定位、定向和自定義七類。在圖形化描述中,基本行為通過包含兩個區(qū)域的長方形表示。上方區(qū)域由描述基本行為類型的圖標以及一些重要屬性組成,下方區(qū)域是行為描述信息。
b)行為發(fā)生對場景圖的結構有影響(圖7),包括構建/去除,分組/取消分組,組合/拆分。構建/去除行為是指新物體加入虛擬場景或存在物體從虛擬場景中移除。拆分與取消分組行為的區(qū)別是前者的輸出對象是新產生的,后者的輸出對象是已經存在的。組合與分組行為的區(qū)別是原來的輸入對象在組合行為發(fā)生后就消失了,而對于分組輸入對象依然存在。
2)組合行為
組合行為是由兩個或兩個以上行為通過組合算子組合而成的行為,參與組合的行為既可以是基本行為也可以是組合行為。通過組合行為設計者可以描述更加復雜的行為。常用的組合行為算子(圖8),包括時間算子、壽命算子、條件算子和影響算子[7]。
時間算子描述行為之間執(zhí)行的時間關系,支持的關系有:before、meets、overlaps、during、starts、ends和equals等。
壽命算子描述A行為對B行為狀態(tài)的影響關系,支持的關系有:enable、disable、suspend和resume。
條件算子描述行為之間控制所需滿足的條件關系,支持關系運算(<,>,≤,≥,=),算術運算和邏輯運算(and,or,not)。
影響算子描述對象行為之間的互相影響關系。
3)實驗裝置連接行為定義
制氧氣實驗裝置連接行為(圖9)是一個組合行為,首先完成試管內放入藥品的子行為,然后放入棉花,最后完成用帶導管的橡皮塞封住試管口的行為。這個組合行為完成后,反應裝置將作為一個整體和鐵架臺進行連接。
3.2.2 行為激發(fā)圖
1)行為激發(fā)的事件定義
行為的激發(fā)是由事件控制的,主要的事件類型有:上下文事件、時間事件、用戶事件和對象事件,如圖10所示。上下文事件指對象行為被激發(fā)所需滿足的環(huán)境條件;時間事件指對象行為被激發(fā)所需滿足的時間條件;用戶事件指對象行為是被用戶所發(fā)出的操作激發(fā)的,常見的用戶操作有:onSelect(選擇)、onTouch(接觸)、onVisible(可見)、onProxy(接近范圍)、onKeyPress(鍵按下)等;對象事件指對象行為是被對象之間的交互激發(fā)的,如沖突事件、約束事件等。在圖形化描述中,事件是通過平行六邊形來表示的。上方是描述事件類型的圖標,下面是描述事件發(fā)生的附加信息[8]。
行為激發(fā)圖中行為之間的執(zhí)行關系由use和call來描述。Use關系描述組合行為和子行為之間的關系;call關系指行為在執(zhí)行過程中調用另外的行為。
2)實驗中行為激發(fā)過程
制氧氣實驗過程通過用戶按下鍵盤啟動,鍵盤按下動作激發(fā)反應裝置連接行為;反應裝置連接好的同時,酒精燈點燃,激發(fā)反應裝置反應行為,完成氧氣產生過程;反應時間到,酒精燈熄滅實驗結束。行為激發(fā)過程如圖11所示。
3.3 虛擬實驗平臺程序實現(xiàn)
通過虛擬環(huán)境概念建模階段完成虛擬實驗平臺的概念建模后,將概念建模過程映射為具體的代碼實現(xiàn)。在虛擬實驗平臺上,可以動態(tài)添加儀器和藥品,只要它符合實驗列表中化學反應的藥品和條件,就可以智能地反應。圖12為用高錳酸鉀制氧氣的藥品添加和智能反應的過程。
4 結束語
虛擬環(huán)境的概念建模是一個嶄新的研究方向,本文以虛擬實驗平臺的構建為例,通過在虛擬環(huán)境構建過程中引入概念模型建模過程,研究了虛擬環(huán)境中靜態(tài)結構建模、行為建模技術的圖形化表達,使不具備專業(yè)編程知識的普通人員通過使用圖形化的建模語言也能夠進行虛擬環(huán)境的開發(fā),為虛擬環(huán)境的頂層設計提供了一個科學、有效的手段。
參考文獻:
[1]胡斌,常青.軍事概念模型建模實踐分析與研究[J].系統(tǒng)仿真學報, 2008,20(12):3085-3088.
[2]劉潔,柏彥奇,孫海濤.概念模型建模方法研究[J].長春理工大學學報:自然科學版,2007,30(3): 126-130.
[3]PELLENS B,BILLE W.VR-WISE: a conceptual modeling approach for virtual environments[C]//Proc of Methods and Tools for Virtual Reality(MeTo-VR’05) Workshop.2005:62-72.
[4]BILLE W. Conceptual modeling of complex objects for virtual environments[D].Brussels: Vrije Universiteit Brussel,2007.
[5]PELLENS B.A conceptual modelling approach for behaviour in virtual environments using a graphical notation and generative design patterns[D].Brussels: Vrije Universiteit Brussel, 2007.
[6]BILLE W, De TROYER, PELLENS O.Conceptual modeling of arti-culated bodies in virtual environments[C]//Proc of the 11th International Conference on Virtual Systems and Multimedia.2005: 17-26.
[7]KALLMANN M, THALMNN D.Modeling behavior of interactive objects for virtual reality application[J].Journal of Visual Languages and Computing,2002,13:177-195.
[8]BRAM P,OLGA de T. Conceptual modelling of behaviour in a virtual environment[J].Behavior Research Methods,2007,4(6):626-645.