于 雷
(中國艦船研究院,北京 100192)
除了現有的“戴高樂”號航母外,法國海軍計劃建造第2艘航母。為此,法國海軍列出了新航母的功能需求并委托法國DCNS集團設計這艘航母。新航母設計的主要困難在于航母上航空管理設計。航空管理用于規劃航母上不同飛機、車輛和人員等執行飛機彈射起飛或著艦、加油等作業時的移動過程。法國海軍提出的有關新航母航空管理方面的需求限制了一定時間內飛機的出動架次及其可執行任務的數量。航母航空管理設計問題就變成了如何在考慮航母拓撲結構的前提下最優化地安排航母上任務執行流程。要最優化地安排任務執行流程,可以使用時序限制問題求解工具軟件,但還需要考慮任務執行所處的物理環境的限制。將航母設計得更大固然能減少任務執行過程中的時序限制,但也加大了實際的建造成本;反過來,將航母設計得更小就能減少建造成本,卻帶來了更多的時序限制。航母設計就是要解決這樣的空間和時序限制問題,而使用三維仿真軟件和時序安排工具軟件就可以更方便地解決這些問題。
為了解決以上空間時間規劃問題,法國海軍使用了一種名為GASPAR的虛擬現實工具[1]。該工具能夠模擬虛擬航母環境中自主作業程序的執行,并隨時評估設計改變對航母性能的影響。
AR'EVI庫1為GASPAR提供虛擬現實應用所需的功能。這些功能的主旨就是在交互式三維環境(仿生、道路交通環境和訓練工具等)中激活多個自主行動的互動實體。
AR'EVI庫的特性如下:
1)實體調度:通過異步和混沌迭代管理自主行動實體活動的調度。
2)消息通信:AR'EVI庫提供異步消息服務。
3)三維服務:包含一個高層次的三維庫。這個三維庫掩蓋了繪制過程的技術細節,允許用戶在一個接近于描述真實場景層面的抽象層面上表示模型。
4)分布式仿真:不論在初始開發階段是否具有分布性設計,使用AR'EVI庫的仿真應用程序可方便地分布在多臺機器上執行。
5)仿人機器人:AR'EVI庫的hLib庫(“仿人機器人庫”)提供人物的可視化和控制工具。
AR'EVI庫解決了GASPAR仿真應用中的虛擬現實問題,但還不能分析實時發生的事件,因此還需要更高層次的庫來實現仿真。
借助AR'EVI庫實現了環境和飛機流的現實和交互式實時仿真,GASPAR仿真應用還需要對這些事件流進行推理和分析。推理和分析應在信息化虛擬環境[2]中完成,這需要借助環境模型VEHA和飛機流模型MASCARET。
1.2.1 環境建模
這里所說的環境,是指仿真中的對象全體。例如,航母由甲板和艙室構成。這2個層次之間的轉移是通過2臺升降機實現。“陣風”戰斗機停在航母甲板上,而“陣風”又是由機頭、機翼等部件組成。使用UML語言描述上述這些概念,等同于創建了一組類,以及類的屬性和鏈接,而虛擬環境的對象就是這些類的實例。
環境模型VEHA模型的作用是在環境中添加必要的代理程序行為信息 (例如智能對象)[3],并推動行為分析。因此,如同智能對象一樣,對象表達了如下概念:①幾何形狀;②活動 (在VEHA模型中稱為“作業”);③用于活動的信息化點;④表示屬性和鏈接的變量;⑤利用狀態機表示的行為。
VEHA模型將類的概念具體化。1個類由屬性、操作和狀態機構成。VEHA模型也將類間的鏈接(繼承和聯系)具體化。1個類也有鏈接。首先,1個類可由1個或許多個類繼承而來,這使得它也獲得父類的所有特性 (屬性、操作、狀態機和聯系)。此外,這個類可能和其他類有聯系。這些聯系可是組成關系,或者是簡單的知識關聯。例如,在GASPAR應用程序中,飛機由許多輪子、2個機翼和駕駛員座艙構成,還包括飛機所在高度 (甲板或艙室)以及區域 (如停機區)。仿真環境中被具體化的信息,可用于現象解釋和操作實現。
1個類也有操作。通常,1個操作由原型、前置條件和后置條件描述。這種表現方式足夠代理程序處理操作。不過,VEHA模型可以用UML活動圖表示1個操作,這使得對1個操作工作方式的推理變得更為精細,即更好地理解操作的功用。
VEHA模型不僅能夠表示系統的靜態結構,還能分析環境的動力學。每1類由1個或多個狀態機構成。這意味著以某種方式描述1個實體 (對象)的全部狀態以及這些狀態之間的轉換條件是可能的。狀態機在仿真中將被自動解釋。在VEHA模型中,1個狀態機由狀態和轉換構成。1個狀態指的是當狀態變為激活或不活躍時應當執行的操作。1次狀態轉換擁有1個警戒條件,可對1個事件作出反應。警戒條件是1個將在仿真期間受到檢測的布爾表達式。VEHA模型,提出用1個對象約束語言 (OCL)約束解釋器描述警戒條件。具體地說,這意味著計算機專家和領域專家使用UML語言的狀態機描述實體行為,而不需要代碼實現這個行為。實體一旦被解釋,將在事件觸發的同時自動改變自身狀態。狀態和轉換在仿真中得到明確地表示,這使得代理程序可能對處理對象的方式進行推理。代理程序可能理解改變對象狀態的條件以實現操作。代理程序要改變環境以使得條件變為TRUE。
1.2.2 作業過程組織建模
VEHA模型使用UML元模型[4]表示作業過程執行的環境,而MASCARET模型通過解釋UML元模型語義描述表示組織和作業過程的概念。組織被看作有組織的結構。按照自動代理程序在組織中扮演的角色,這種結構確定了自動代理程序活動的實現框架。MASCARET組織性模型指定并執行了類似于Ferber提出的AGR4模型[5]的模式。該模型有4個重要概念:代理程序、組織、角色和活動。代理程序是具備通信能力和行為整體的一個環境實體 (和對象一樣)。為了令代理程序對結構進行推理,需要對組織進行表達。代理程序扮演的角色是所要執行的活動整體。最后,活動是一個虛擬環境的框架內部對于代理程序自身或者對于環境對象的操作實現,它可以是一個動畫和聲音實現,或者是聲音的實現,也可以僅僅是時間的消耗。
組 (即繼承自組織的類)由它的組織性結構(構成組的不同角色)和它可實現的過程 (例如為“陣風”戰斗機加油)整體描述。使用活動圖可以對一個過程進行描述和解釋。MASCARET模型[6]提出了一種基于UML活動圖的過程模型。這種圖表的表現力足夠描述調度實例整體,也能足夠清楚地用于計算機專家和領域專家之間的對話。一個過程按角色(對應組織中的角色)排列,每個角色可由一個特定類型的代理程序扮演。外部資源被引入到過程中 (待加油的飛機、待使用的阻攔設備等)。人們用環境對象表示這些資源,也從對活動圖的解釋中推斷它們。一個過程組織了一個角色的活動,即它描述了活動的邏輯和時間順序。通過這種方式,幾種運算符被用于活動圖,如平行運算符、同步運算符和條件運算符。所有這些運算符都由MASCARET模型操作。
一旦過程得到描述,代理程序必須按特定行為執行被選中的過程。在過程的開始,每個代理程序復制這個過程。接下來,代理程序執行過程并實現應當進行的活動。通過在每個活動執行的開頭和結尾發送消息,代理程序使得彼此能同步執行。過程行為算法使得用戶能動態控制一個代理程序。代理程序仍將繼續推動過程發展,但會令用戶執行應進行的活動。這樣,當用戶停止控制時,代理程序將在用戶停止處繼續執行這個過程。
GASPAR應用程序用于仿真航母上的活動。該應用程序使用類屬模型,即應用程序中環境的結構、對象或組織及過程都由一個UML模型描述。GASPAR應用程序的UML模型被劃分為3個包:組織包 (organizations package)、環境包 (environment package)和代理程序包 (agent package)。其中,環境包描述構成環境的所有種類的對象 (類)。環境包由VEHA模型解釋。代理程序包表示一個代理程序將扮演的不同類型的角色。這些角色對應于諸如彈射起飛或著艦這樣的真實過程中定義的角色。一個角色由幾種表示代理程序可執行操作的方法構成。代理程序不能執行另一個代理程序應執行的活動(能力概念)。組織包描述航母上不同的組、構成組的角色和這些組可執行的過程。參與這些過程的角色對應于代理程序包定義的代理程序類型。
GASPAR應用程序最初的開發目的是仿真航母上作業過程以驗證飛機事件流。該仿真必須證明一定數量的“陣風”戰斗機能在一定時間內 (該時間由法國海軍確定)在航母上完成彈射起飛。
1)建立應用程序的模型即環境組成要素、人員角色和過程中活動的安排等;
2)仿真每個過程,以判斷航母的幾何外形是否容許每個實體移動。仿真的過程如下:①飛機著艦;②飛機彈射起飛 (見圖1);③后方的飛機調運 (見圖2);
仿真也能控制人員是否遵守安全區域限制規定(見圖3);
3)仿真還能驗證過程的時序是否正確。若每個車輛或飛行器的速度真實,活動的實現時間也真實,就能精確知道一個過程的持續時間;
4)該應用程序使得用戶能分享一個代理程序的觀察點。以這種方式,用戶能夠確保每個代理程序能“看到”用戶應當觀察到的東西 (見圖4,沒有觀察盲點);

圖1 艦載機彈射起飛Fig.1 Catapult-launching

圖2 航母上后方飛機調運Fig.2 Rear spotting

圖3 “陣風”戰斗機的安全區域Fig.3 Security areas of the Rafale

圖4 代理程序在航母控制塔中的觀察點Fig.7 Point of view of an agent in the control tower
5)在仿真期間,每個代理程序的各個活動均記錄在一個文件中。這使得對人員活動的事后分析成為可能。GASPAR應用程序有一個分析工具。該工具可以用條狀圖和餅圖表示代理程序的活動或資源的活動。憑借這個工具,用戶能驗證是否存在代理程序或資源可用性方面的“瓶頸”。
6)為了測試不同的配置,仿真是交互式的。例如,改變一個對象的狀態或觸發一個代理程序的活動是可能的。這使得不使用過程而對活動進行測試成為可能。當引入異常時,也能對突發過程的觸發進行測試。例如,若仿真中偏流板不能在彈射起飛過程中打開,飛機停止彈射。如果在這種情況下有一個突發過程發生,用戶可動態地對它進行測試。
使用GASPAR應用程序,用戶能驗證幾個要點。首先,虛擬環境中過程的仿真使得航母設計幾何方面的驗證成為可能,分為以下2點:
1)航母的整體尺寸。該尺寸可通過飛機和甲板上設備位置及其移動的不同配置給出。
2)甲板上建筑形狀和艦島 (控制塔)位置。例如,若航母需要雙艦島,且原設計中導航艦橋和飛機控制艦橋均在前部艦島上,在仿真中進行了相應設置后,代理程序觀察點仿真結果顯示飛機進近期間后部艦島對前部艦島上的艦橋有干擾,此時就需要改變原設計,將飛機控制艦橋移到后部艦島上。
GASPAR應用程序也可以用于驗證如下過程:
1)每個過程的有效持續時間。
2)人員移動。例如,在一個過程中確保無人闖入安全區域。
3)甲板上人員、航母上的艙室和艦橋的可見性。
本文介紹了GASPAR應用程序。該應用程序基于AR'E VI庫和MASCARET庫。AR'E VI庫使得自主代理程序在交互式虛擬環境中成為一體。而MASCARET庫可對復雜代理程序組進行分配和管理。使用MASCARET庫的優點是應用程序執行時無需使用代碼以在環境中添加對象、新的過程和新的場景等。
法國新航母的設計單位DCNS集團無需計算機專家,就能用GASPAR應用程序設計航母。由于GASPAR應用程序已經被測試并驗證了幾個關鍵點,DCNS集團能使用GASPAR驗證航母的最終外形及航母上發生的所有過程。此外,GASPAR應用程序還被用于設計法國“西北風”級兩棲攻擊艦。
[1]BUCHE C,BOSSARD C,QUERREC R,CHEVAILLIER P.GASPAR:Aviation management on aircraft carrier using virtual reality[Z].Actes de la conférence Cyberworlds 2007.
[2]BUCHE C,QUERREC R,DE LOOR P,CHEVAILLIER P.MASCARET:A pedagogical multi-agent system for virtual environment for training[J].International Journal of Distance Education Technologies(JDET),2004,2(4):41-61.
[3]KALLMANN M.Interaction with 3-d objects.In N.Magnenat-Thalmann and D[M].Thalmann,editors,Handbook of Virtual Humans,JohnWiley & Sons,first edition,2004.
[4]BOOCH G,RRMBAUGH J,JACOBSON I.The unified modelinglanguage userguide[M].Addison-Wesley Reading Mass,1999.
[5]FERBER J,GUTKNECHT O.A meta-model for the analysis and design of organizations in multi-agent systems[M].In ICMAS’98.IEEE Press,1998.
[6]QUERREC R,BUCHE C,MAFFRE E,CHEVAILLIER P.Multiagents systems for virtual environment for training.application to fire-fighting[J].International Journal of Computers and Applications(IJCA),2004,1(1):25 -34.