黃紅兵 李賢玉 王學寧
1.第二炮兵裝備研究院北京100094
指揮控制系統(tǒng)之間的互聯(lián)、互通、互操作,與實際傳感器和武器系統(tǒng)的無縫鉸鏈,與仿真模擬系統(tǒng)的一體化操作,乃至無歧義地指揮控制機器人裝備,不僅要求作戰(zhàn)系統(tǒng)中各元素連接成網絡,更需要它們以一種相互理解的方式協(xié)同工作.這就需要在不同要素、各軍兵種乃至多國力量的信息系統(tǒng)之間,清晰無異地表達、傳遞軍事計劃和命令.
C-BML(Coalition Battle Management Language)是作為一種互操作使能技術倡議提出的,其目的是為指揮控制系統(tǒng)、仿真系統(tǒng)和自主無人系統(tǒng)(Autonomous Systems,或機器人系統(tǒng)(Robotic Systems))之間的標準化信息交換提供支持,提高聯(lián)合作戰(zhàn)中各項行動的效率,包括訓練、計劃和任務執(zhí)行[1?2].C-BML所表達和交換的信息有:計劃(Plans)、命令(Orders)、請示(Requests)、報告(Reports)等[1].
在2004年9月,仿真互操作標準組織(SISO,Simulation Interoperability Standard Organization)成立了C-BML研究工作組(Study Group,SG),旨在全面地考察與C-BML相關的研究,并于2006年7月形成了最終報告[3].稍早時候,2006年春,SISO的C-BML產品開發(fā)工作組(Product Development Group,PDG)成立,旨在將C-BML發(fā)展成為一個公開的標準,并計劃到2010年完成3個階段的開發(fā)任務,但直到2013年10月才制定出C-BML第1階段的標準[1],并于2014年4月投票通過,而第2階段和第3階段標準的制定還在進行當中.
雖然C-BML標準的制定還沒最終完成,但它的理念和初步成果的應用已經很多[4],如信息融合[5]、仿真互操作[6?7]、多機器人系統(tǒng)[8]等.
在國內,這方面的工作也已經展開[9?12],但是距離建立BML標準還有很長的路要走.借鑒C-BML研究開發(fā)的方法和技術成果,對于加速發(fā)展我軍的BML,推進軍事信息系統(tǒng)互操作,提升指揮自動化水平,具有非常重要的意義.
C-BML由BML(Battle Management Language)發(fā)展而來,而BML緣起于軍事仿真領域表達仿真系統(tǒng)與指揮控制系統(tǒng)信息交互的需要,旨在滿足實戰(zhàn)化訓練(Train-as-You-Fight)、行動過程分析(Course of Action Analysis,COAA)和作戰(zhàn)任務演練(Mission Rehearsal)的需求.而隨著自主機器系統(tǒng)的出現和網絡中心戰(zhàn)的發(fā)展,新的機遇和需求賦予C-BML更高的要求.C-BML成為一種在參與聯(lián)合作戰(zhàn)的指揮控制系統(tǒng)、建模仿真系統(tǒng)、自主機器系統(tǒng)之間表達和交換作戰(zhàn)計劃、命令、請示、報告等的標準化語言[1].
按照最初設想C-BML標準主要由3部分組成:一個數據模型(Data Model)、一個信息交換結構與內容規(guī)范(Information Exchange structure and content specification)、一個信息交換機制規(guī)范(Information Exchange Mechanism specification)[1,3],它們之間的關系和在信息傳遞中的作用如圖1所示[1].
圖1 C-BML標準的應用概念圖
為了更有序地發(fā)展、更清晰地描述和更有效地應用C-BML,研究人員采用體系結構框架(Architecture Framework)中的多視圖方法,通過不同視圖來捕捉C-BML本質的不同方面,這些視圖包括:條令視圖(Doctrine View)、表達視圖(Representation View)和協(xié)議視圖(Protocol View),如圖2所示[1?3].
圖2 C-BML的三視圖結構
C-BML條令視圖以文檔的形式無歧義地定義了C-BML中的各種術語,同時還可能包含這些術語使用的上下文環(huán)境以及使用規(guī)則等.條令視圖所有內容根植于軍事條令、作戰(zhàn)手冊等相關規(guī)范,使C-BML契合于各軍事組織的業(yè)務規(guī)則.
C-BML表達視圖以一種有效的方式組織和關聯(lián)條令中定義的術語,使得任務、命令、請示、報告等信息能夠得到清晰描述和表達.表達視圖通常是以數據模型為核心,可以包括概念的、邏輯的或物理的數據模型乃至完全形式化的本體.目前,許多原型和實驗系統(tǒng)都使用JC3IEDM(Joint Consultation,Command,and Control Information Exchange Data Model)[13]作為C-BML的基礎數據模型[4].但是隨著研究的深入和相關領域的發(fā)展,更為抽象的模型也正被C-BML吸收和采用[14?15].
C-BML協(xié)議視圖標準化了系統(tǒng)之間信息傳遞規(guī)則.在網絡中心戰(zhàn)環(huán)境中,基于Web的標準和網格標準都是C-BML可以采用的協(xié)議.早期研究中協(xié)議視圖主要關注底層通信、交互格式等協(xié)議問題,目前的研究越來越關注業(yè)務層面的交互協(xié)議.
雖然研究人員對C-BML的基本組成和體系結構已經達成共識,但是其具體內容和構成細節(jié)仍在探索之中.同時由于C-BML諸多方面相互交織,其發(fā)展路徑和開發(fā)框架也并不是清晰的,而是在曲折中前行,在修正中發(fā)展,沒有完全規(guī)劃好.C-BML的第1階段標準開發(fā)歷時7年才完成,就是一個很好的證明.實踐表明規(guī)范化模型的缺乏、需求管理不充分以及結構化方法和過程的缺失,是C-BML開發(fā)的最主要障礙[16].
雖然BML最初的目的是為指揮控制系統(tǒng)和仿真系統(tǒng)之間的互操作性問題提供解決方法.但C-BML的發(fā)展并不僅限于此,而是希望為指揮控制系統(tǒng)、仿真系統(tǒng)和自主無人系統(tǒng)等機器到機器(Machine-to-Machine,M2M)之間的無縫連接以及無歧義的互操作提供支持.
基于C-BML最根本的目的—–互操作性,為更好地對C-BML的內容和組成進行清晰地描述,Tolk等人[17]從概念互操作等級模型(The Levels of Conceptual Interoperability Model,LCIM)[18]的角度審視了C-BML,擴展了C-BML的三視圖模型.
LICM模型認為系統(tǒng)之間的互操作性從不同程度上看,可以分為6個層次,即技術互操作性、語法互操作性、語義互操作性、語用互操作性、動態(tài)互操作性和概念互操作性,如圖3(a)所示.將C-BML的條令視圖、表達視圖和協(xié)議視圖與之對照,Tolk等人發(fā)現缺少兩個層次或環(huán)節(jié),即“條令”與“表達”之間的聯(lián)系部分和“表達”與“協(xié)議”之間的聯(lián)系部分,他們將之界定為“本體”(Ontology)和“語法”(Grammar),并給出了層次化的C-BML,如圖3(b)所示[17].
圖3 LICM模型(a)和層次化C-BML(b)
基于這一分析,Tolk等認為C-BML應該包括5個方面,即條令、表達、協(xié)議、本體和語法[17],如圖4.這一結論已被業(yè)界廣泛接受.
不過將C-BML與LICM模型的這種類比多少有些牽強,如果嚴格按照LICM模型來發(fā)展C-BML會存在一些障礙,這也或許是為什么在2014年4月投票通過的C-BML第1階段標準的文檔中,仍是以三視圖模型描述C-BML,而未在三視圖結構中將“語法”和“本體”單獨列出.但是在第1階段標準文檔中吸收了這一研究成果,已經擴展了“表達視圖”的含義,將C-BML的語法和本體包含進了C-BML表達視圖.總之,Tolk等人的C-BML模型—–1個三角5個側面—–把握了C-BML的關鍵,對C-BML的發(fā)展具有很強的啟發(fā)意義,C-BML的三階段發(fā)展規(guī)劃就是基于這一研究成果提出來的.
圖4 C-BML三角的5個側面
以自然語言為隱喻,發(fā)展一種形式語言都要涉及3個方面的問題:詞匯、語法和語義,有些還需要涉及語用問題.C-BML作為一種形式化語言,其最終成果形式最核心的也是3個:詞匯、語法和本體.
早在2006年,C-BML研究小組在其研究報告中,就將C-BML的發(fā)展分為3個階段版本:1)版本1.0(2006年4月~2007年),發(fā)展出能夠無歧義地定義作戰(zhàn)命令的數據模型(Data Model);2)版本2.0(2006年4月~2008年),引入語法,包括句法(Syntax)、語義(Semantics)和詞匯(Vocabulary);3)版本3.0(2006年4月~2010年)發(fā)展出C-BML的本體,以支持系統(tǒng)間的概念互操作(Conceptual Interoperability)[5].
但是,C-BML研究小組的這一發(fā)展計劃過于樂觀,沒有預料到其中存在的障礙和復雜性,實際上直到2012年4月才完成第1階段標準的初稿(2013年10月定稿),而第2階段和第3階段仍在艱難行進當中.
不過,C-BML的發(fā)展一直是按照這種三階段劃分來進行的,雖然其中也有交疊,提法也有些細微差別.關于這3個階段的表述主要有兩種:1)數據模型、形式結構、形式語義[1];2)詞匯、語法、本體[19?20],含義基本一樣.
不過最近的發(fā)展?jié)u漸模糊了第2階段和第3階段,本體已然成為第2階段研究的一個重心.因而,研究者們正在考慮重新定義第3階段,或者將第2階段和第3階段合并[19?20].
鑒于在C-BML標準發(fā)展過程中碰到的困難,以及為了使C-BML標準的開發(fā)變得更加有序和有效,研究人員提出了一個C-BML標準開發(fā)框架(Standards Development Framework,SDF)[19?20],期望通過這個框架能夠方便交流,解決需求或理解上的分歧,為恰當地界定和組織C-BML標準制定活動提供幫助.這一開發(fā)框架雖然是總結C-BML第1階段的開發(fā)活動,并針對第2階段提出的,但是具有很強的適應性和通用性,可以作為C-BML開發(fā)的一個通用框架.
C-BML標準開發(fā)框架如圖5所示,由5個組件層來界定,包括需求(Requirement)、參考體系結構(Reference Architecture)、標準化規(guī)范(Normative Specification)、規(guī)范指導(Specification Guidance)、參考實現(Reference Implementation),這5個組件層區(qū)分了C-BML目標產品中概念和規(guī)范的不同層級.
圖5 C-BML的標準開發(fā)框架
1)需求層
C-BML標準開發(fā)框架的需求層,通過創(chuàng)建和選擇作戰(zhàn)用例來推動C-BML的發(fā)展.理想情況下,作戰(zhàn)用例可以一致地從任務清單、作戰(zhàn)活動和必要信息流的角度來定義,如圖6所示.
由于在設計開發(fā)C4ISR及其他軍事信息系統(tǒng)時,普遍采用體系結構方法,遵循一定的體系結構框架(Architecture Framework,AF,包括NAF、DoDAF、MoDAF),而C-BML服務于軍事信息系統(tǒng)的互操作,因此,SDF的需求方法也需要與這些體系結構框架相一致.
2)參考體系結構層
C-BML標準開發(fā)框架的參考體系結構層界定了C-BML的概念性抽象構成,這些構成組件定義了C-BML是什么以及它如何工作的.C-BML參考體系結構的核心模型如圖7所示.
圖6 SDF中的C-BML需求模型
圖7 SDF中的參考體系結構
除了核心模型,C-BML參考體系結構還應該規(guī)定如何對核心模型進行細化和擴展.通過定義CBML組件的模式或元模型(Meta Model),參考體系結構能進一步讓具體應用和實現在使用C-BML的過程中,遵循其規(guī)范又不拘泥于其具體細節(jié).
3)標準化規(guī)范層
參考體系結構只是提供了一個組織C-BML各種關注點的綜合框架,而最終,C-BML規(guī)范必須定義一個有形的可實現的產品.SDF的標準化規(guī)范層,將參考體系結構中的元素有機合成為一個形式化規(guī)范,利用它可以定義一個具體的C-BML實現標準.SDF中的標準化規(guī)范主要有3個子規(guī)范:信息交換結構與內容規(guī)范、信息交換機制規(guī)范、服務規(guī)范,如圖8所示.
信息交換結構與內容規(guī)范主要定義C-BML的內容模型(包括詞匯和語義)、信息框架(包括語法和消息結構)以及內容模型與消息框架與XML Schema的關聯(lián)方式.信息交換機制規(guī)范和服務規(guī)范主要描述交互協(xié)議和服務組件的實現規(guī)則和模板.
4)規(guī)范指導層
C-BML標準開發(fā)框架的規(guī)范指導層主要包含一些樣例,包括樣例服務、消息格式、樣例數據,通過這些樣例說明如何構造一個正確的表達和創(chuàng)建一個有效的消息,以及如何利用C-BML進行消息交互.規(guī)范指導與標準規(guī)范的關系如圖9所示.
圖8 SDF中的標準化規(guī)范
圖9 從標準規(guī)范進行C-BML領域擴展的規(guī)范指導
5)參考實現層
參考實現層通過定義C-BML標準的結構給出它的一種實現.這種實現為C-BML的概念構想提供驗證,也為C-BML開發(fā)者提供適應性測試工具.
系統(tǒng)工程方法被用于構建各種系統(tǒng).在軍事信息系統(tǒng)領域,許多國家和軍事組織普遍采用的系統(tǒng)工程方法是體系結構方法,如北約的NAF、美國的DoDAF、英國的MoDAF等.體系結構框架連接、貫通了作戰(zhàn)需求和技術要求,同時通過定義形式化模型為系統(tǒng)方案提供了可追溯性.
鑒于C-BML需求的多變性和體系結構方法的靈活性,體系結構框架也正被應用于軍事標準的開發(fā)過程,以便于標準化需求演進、促進模型和標準成果的發(fā)展.文獻[21]就研究了如何將體系結構方法應用于C-BML標準的開發(fā).
C-BML標準的開發(fā)框架本質上也是一種系統(tǒng)工程方法,遵循一定的體系結構開發(fā)框架.開發(fā)框架的各組成部分與DoDAF/MoDAF視圖的對應關系如表1所示.
為了實現指控系統(tǒng)、仿真系統(tǒng)以及自主無人系統(tǒng)等系統(tǒng)之間的互操作,基于C-BML交互的信息需要能夠無歧義地進行自動處理,落實到技術上要解決幾個問題:1)作戰(zhàn)計劃、命令、請示、報告等涉及的實體和其他信息所必需的詞匯及其數據表示;2)計劃、命令、請示、報告等的形式化描述及其生成與解譯規(guī)則,即形式化語法;3)有利于自動推理的關于實體和行動等軍事知識,以便于形成對態(tài)勢、任務等的統(tǒng)一理解,即本體問題;4)系統(tǒng)結點之間或系統(tǒng)之間會話時應該遵循的規(guī)則,即協(xié)議問題;5)便于C-BML的使用而提供的業(yè)務例程,即支撐服務.另外一個問題是:為解決上述問題而進行的C-BML開發(fā)所需要的支撐手段和工具.
詞匯工作的首要問題是詞匯的整理.從條令視圖來看,在概念上,對作戰(zhàn)計劃、命令、請示、報告等進行描述所需要的詞匯一般可以按照5W來進行分類[22],即Who、What、When、Where和Why.其中,Who描述的是戰(zhàn)場中的實體,包括分配任務的作戰(zhàn)單位、執(zhí)行任務的單元、作戰(zhàn)支持的單元、被支持的單元、目標、報告單元、被報告的實體,等等;What描述的是需要執(zhí)行的作戰(zhàn)行動或需要達成的作戰(zhàn)效果,以及(觀察到的)已經發(fā)生的作戰(zhàn)行動或已經產生的作戰(zhàn)效果,等等;When描述的是作戰(zhàn)行動或作戰(zhàn)效果將要(或計劃)產生的時間段,以及行動、效果或事件發(fā)生的時間,等等;Where描述戰(zhàn)場中實體的位置,行動或效果將要(或計劃)產生的位置,以及行動、效果或事件發(fā)生的位置,等等,位置可以是一個復雜的實體,如一個區(qū)域或一個位置序列;Why描述作戰(zhàn)行動或達成效果的理由、目的、動機、期望等.
表1 C-BML開發(fā)框架組成與DoDAF/MoDAF視圖的對應關系
詞匯工作的另一基本問題是將詞匯數據化,使機器能夠進行處理,這涉及如何對詞匯及詞匯之間的關系進行模型化、如何進行數據表示以及如何組織數據,這也就是數據模型問題.
詞匯或術語的整理、建模和數據化方面的工作人們很早就一直在做,以形成信息交換數據模型(Information Exchange Data Models,IEDM).這一工作最為突出的是“多邊互操作計劃(Multilateral Interoperability Programme,MIP)”[23],它給出的數據模型JC3IEDM,已被C-BML第一階段標準所采納[1],在許多實際的原型系統(tǒng)中也是采用JC3IEDM[4].圖10是JC3IEDM的頂層結構[4].
圖10 JC3IEDM的實體詞匯頂層結構
但是,JC3IEDM是采用IDEF1X(Integration Definition for Information Modeling)標記法來建模的[13],隨著模型的增長其基本概念結構漸漸不復可見,這為它的使用帶來很多困難.C-BML第一階段標準在采納JC3IEDM 作為其數據模型的同時,又在其基礎上進行了擴展和重新組織,給出了包含所需詞匯的結構模型(Structure Model),并以XML模式的形式來表達,這些XML模式及它們之間關系如圖11所示[1].
C-BML第一階段標準主要工作就在數據模型和結構模型上,并且耗時7年才完成.即使如此,仍存在一些問題:1)給出的數據模型和XML模式缺乏相應的邏輯數據模型(Logical Data Model)或概念模型(Conceptual Model),這使得它們的演進、變更或擴展變得非常困難;2)沒有一個可維護的形式化需求,這使得人們難以判斷何種需求已被實現,難以弄清使用特定建模策略后面的原因;3)雖然JC3IEDM也給出了實體及其屬性以及實體之間的關系,但是它的語義并不豐富,并且作為一個區(qū)域性(主要是北約)的數據標準,JC3IEDM并不能夠表示作戰(zhàn)領域內的所有術語以及涵蓋它們之間的全部關系.
圖11 C-BML第一階段標準包含所需詞匯的XML模式
對于這些問題,研究者們期望通過MIP信息模型(MIP Information Model,MIM)[25]和本體技術[12,26?27]來解決.
MIM 克服了JC3IEDM 的一些設計限制,它采用統(tǒng)一建模語言(Unified Modeling Language,UML)來對作戰(zhàn)概念進行建模,而不是IDEF1X標記法,這使得MIM 有如下特征:1)平臺無關.利用UML,MIM 支持模型驅動的體系結構(Model-Driven Architecture,MDA)[28],能夠建立起高層的平臺無關模型(PIM,Platform Independent Model),像 “主鍵”、“全局唯一標識”等概念不會在模型中出現,只有在生成平臺相關的模型(Platform Specific Model,PSM)時才引入;2)清晰化的語義.UML提供的平臺無關模型更能清晰地表達意義,同時也更有利于模型的變更和演進;3)形式化的一致性規(guī)則.利用與UML配套的OCL語言(Object Constraint Language)[29],可以將JC3IEDM 中需要通過文字、圖表描述的需要遵循的一致性規(guī)則形式化,這更有利于機器自動化處理.
MIM正在研究開發(fā)之中,也涉及語義問題,其實在JC3IEDM中就有詞匯的語義,這些語義通過實體的屬性及實體間的關系來表達.更豐富的語義問題,涉及“本體”.關于本體技術,在3.3節(jié)討論.
概念上,5W既是信息內容組分,也是信息結構組分,也就是說,C-BML的所要描述的計劃、命令、請示、報告等基本上可以通過5W來表達.C-BML第一階段標準中結構模型的XML模式(圖11)就是按照5W 方式來組織的.正因如此,C-BML發(fā)展之初有人認為C-BML不需要形式化語法,只需要數據模型提供的詞匯就可以表達命令、報告等,從而實現系統(tǒng)間的互操作.但是隨著研究的深入,人們漸漸認識到,這種表達需要借助人的理解和參與,而不能由機器自動完成,進而不能發(fā)揮日益發(fā)展的智能推理技術的作用.另外,Schade和Hieb在分析了美軍和德軍的部分條令之后,認為:單純基于C2IEDM(Command and Control Information Exchange Data Model,JC3IEDM的前身)的、無生成規(guī)則的5W結構,既不能滿足所有的表達需求,也不能保證所有根據5W生成的句子都是符合我們關于“正確”的直覺[30].這是因為:一些詞組、短語、從句等在數據模型中不存在,需要數據模型中的詞匯生成,在缺乏生成規(guī)則的情況下無法表達;同時,簡單地按照5W 組合構造出來的太多“句子”沒有意義.
按照語言學家喬姆斯基的分類[31],語法有4種:自由文法(Unrestricted Grammars)、上下文有關文法(Context-Sensitive Grammars)、與上下文無關的文法(Context-Free Grammars)和正則文法(Regular Grammars).為方便機器處理,形式語法一般采用上下文無關的文法.計算機語言(如C、Java等)的大部分語法都是上下文無關的文法,C-BML也不例外.
一個形式語法是可以被用來生成和解析語言表達的一組數學規(guī)則,一般地可以由下面的四元組來定義:
其中,T為終結符;N為非終結符;σ為開始符號,它是N的一個子集;P為產生規(guī)則.實際上,形式語法可以通過“樹”來表示,樹的葉結點就是終結符,枝結點就是非終結符,這樣的樹通過變換后,非常便于語法分析.
在C-BML的形式語法中,可以認為T是由CBML的詞匯構成的,包括關鍵字、標識符、數據模型中的數據類型值等;N中是一些有意義的表達,如用于描述作戰(zhàn)單位、任務、時間或位置屬性的詞組、短語、從句等;σ中是句子或有效完整表達的根符號,如Report,Order、Request、Acknowledgement等.
目前,被廣泛引用的兩種BML 語法是C2LG(CommandandControlLexical Grammar)[32?33]和 OIEG(Operations Intent and Ef f ects Grammar)[34?35].在國內也有一些嘗試,如羅晨等人基于改進的BNF給出了一種BML語法形式化方法[11].C2LG和OIEG根植于語言學中的LFG(Lexical Function Grammar) 框架[33?34],這一框架非常適用于分析和生成自然語言;而羅晨等人的工作則直接來源于形式化方法.
從C-BML語法表達的需求看,存在兩個層面的問題:1)功能性的,即需要描述的作戰(zhàn)信息,如命令、請示、報告,等等;2)語法自身的完備性和一致性問題.
從C-BML語法的功能性看,一種是按作戰(zhàn)信息內容分,如命令、請示、報告等;還有一種是按指揮員意圖來分.在語用學上,言語行為(Speech Act)理論研究了意圖與表達之間的關系,言語行為就是蘊含意圖的表達.言語行為理論在通信理論中的應用即通信行為(Communicative Act),它通過消息表達一定的通信意圖,如請示(Request)、拒絕 (Refuse)、同意 (Agree)、告知 (Inform)、提議(Propose)、接受(Accept)、詢問(Query)、簽署(Subscribe),等等,從通信行為角度給出C-BML語法,需要對各種通信行為給出相應的語法,文獻[36]就將言語行為引入了仿真系統(tǒng)中的指揮控制語言.
C2LG[32?33]既按作戰(zhàn)信息內容構建語法,也引人了表達意圖的言語行為,在句子層面給出了命令(Order)、請示(Request)、報告(Report)、意圖(Intent)等的生成規(guī)則,進而基于JC3IEDM 給出了句子成分(即5W)的生成規(guī)則,從而形成一套完整的語法,可以用JC3IEDM 的詞匯來表達作戰(zhàn)命令、報告等.在C2LG的設計過程中也考慮了語法的完備性和一致性.
由于JC3IEDM更適合于表達實事,類似于自然語言,C2LG是以謂詞(即What)為中心.而OIEG[34?35]則是以“意圖”為中心提出來的,它基于這樣的認識:軍事系統(tǒng)是目標導向的,指揮控制的關鍵是傳遞、貫徹指揮員的意圖.OIEG圍繞“意圖”表達展開,5W作為表達的語法成分給出.因為OIEG并不依賴于特定的詞匯或數據模型,OIEG比C2LG更具一般性.OIEG也克服了C2LG在表達“意圖”和“效果”(Ef f ect)上的不一致問題.
因為力圖表達“意義”,C2LG和OIEG不僅局限于詞法(Syntax),還涉及語義(Semantic)和語用(Pragmatic)問題,也因此而使得它們相對比較復雜.在實際應用中人們期望更為簡單的語法,對于語法表達的意義闡釋,如有必要,期望通過查閱“本體”來實現.
這就是C-BML語法設計需要考慮的另外一個問題:權衡語法復雜度,在語法復雜度、本體復雜度和業(yè)務規(guī)則上取得平衡.如果語法考慮太多意義和業(yè)務問題,其生成規(guī)則就非常復雜,語法解釋器就非常笨重,難于構造;如果太簡單又不利于有效表達,不利于自動處理.
對于C-BML的形式語法,目前更傾向于它僅能夠給出在詞法和結構上完全和正確表達,至于句子的意義則一般不由語法表達或蘊含,而由本體來確定.
本體是一種能在語義和知識層次上描述對象世界(通常是某一領域或系統(tǒng))的概念模型,它通過形式化方法來描述具體領域的知識,使得這些領域知識和概念能夠被機器“理解”和處理.
從廣義本體的譜系看[37?38],詞匯也是一種廣義上的本體,如圖12所示,這也是在C-BML SDF中將詞匯與本體一起放到內容模型的原因,同時也是C-BML工作組建議從詞匯過渡到本體的依據.
圖12 廣義本體的譜系
在C-BML中引入“本體”的基本目的是:1)提供DB Schema、XML Schema等不能描述的信息,豐富C-BML的語義[27];2)給出更一般的和模塊化的形式化概念模型,便于不同數據源進行交換和整合[39?40];3)通過共享的詞匯和意義增強互操作性,提高互操作層次[27,41];4)基于本體提供的作戰(zhàn)語義進行有效的知識推理,獲得隱含的知識[27,41].
在C-BML中使用本體對作戰(zhàn)領域知識進行建模,1)確定需求,回答如下問題:需要對作戰(zhàn)領域哪些方面進行建模?需要何種粒度的描述?需要使用本體完成哪些任務(瀏覽知識、搜索信息、查詢、驗證、推理,等等)?如果是推理,希望得到那種類型的推理?使用哪種本體建模方式?2)創(chuàng)建本體,需要確定從哪里獲得本體所需要的知識(專家頭腦中、非結構化的文本、半結構化文件、結構化數據)?如何從不同的源得到形式化知識?3)保證本體質量,需要確定以什么標準來評價本體?如何改進本體?
目前,本體形式化建模方法的研究主要集中在語義Web領域,給出的形式化語言主要有:RDF(Resource Description Framework)、RDFS(RDF Schema)、OWL(Web Ontology Language)、OWL 2等[42].這些語言有不同的表達能力,適用于不同的應用.OWL和OWL 2是基于集合論(Set Theory)和描述邏輯(Description Logic)的,具有更強的描述能力.OWL本身也根據描述能力的不同提供了3種選擇:OWL Full、OWL DL、OWL Lite.由于人們期望C-BML能夠形式化地表達軍事規(guī)則、約束等,甚至做知識推理,因此,在本體語言選擇上更傾向于OWL或OWL 2.
一般來說,C-BML本體所需的知識來源于相關軍事條令和作戰(zhàn)手冊,也就是C-BML體系結構中的條令視圖.由于信息交互數據模型(如JC3IEDM等)在術語分類和知識獲取上做了很多工作,在實際中,作戰(zhàn)領域本體的構建常?;跀祿P?例如,Eric等人基于OWL將C2IEDM的核心部分進行本體建模,實現了與OTH-T GOLD(Over-The-Horizon Targeting GOLD)的語義互操作[43],文獻[44]也基于OWL-DL創(chuàng)建了JC3IEDM 的本體.基于數據模型構建軍事領域的本體的另一個原因是,在工具支持下結構化數據能夠很方便地映射到相應的本體語言描述[45?50],文獻[15]就詳細介紹了如何從ER模型(Entity-Relationship Model)獲取JC3IEDM的OWL本體.基于數據模型構建本體稍微復雜的是對業(yè)務規(guī)則(Business Rules)處理,因為它們許多是用自然語言和表格描述的,但如果業(yè)務規(guī)則是形式化描述的(如OCL,就像MIM所做的一樣),這種處理也相對簡單.基于JC3IEDM構建的C-BML本體頂層視圖如圖13所示,包括實體(Entities)、事件(Events)、特性(Properties)等.
基于JC3IEDM等構建軍事領域的本體最大的問題是:由于模型和表達形式的限制,這些數據模型所描述的知識并不一定滿足C-BML的軍事應用,特別是要進行知識推理的應用.因此,一些研究者給出直接從條令視圖創(chuàng)建本體的方法[51,12].
C-BML本體創(chuàng)建的另一重要方法是利用本體語言提供的模塊化特征(如OWL的模塊化、可組合、分布等特性),通過關注點分離將C-BML本體松耦合、模塊化.這會帶來如下好處:1)由于可擴展,利于開發(fā),使本體設計可協(xié)作、可持續(xù);2)由于可組裝,利于維護,許多維護任務可以通過更換發(fā)生問題的模塊來完成;3)由于可重用,方便使用,每個獨立模塊都可以更容易地在其他語境中使用;4)有效推理,因為可能只有模塊的一小部分與推理問題有關或這個推理可以分配到獨立模塊進行處理,使得對一些推理變得更有效率;5)由于更開放,便于標準更方便、自然地演進.例如,文獻[40]給出了利用模塊化本體實現不同標準(CBML、GFMIEDM、MSDL和OBS)之間互操作的方法.而文獻[52]則單獨將OWL時間本體模塊引入形式化作戰(zhàn)行動方案(Course of Action,COA)的時間表達,以便進行方案驗證與推理.這些工作雖然不是針對C-BML本體創(chuàng)建的,但是展現了作戰(zhàn)本體模塊化的優(yōu)點.
從C-BML本體內容上看,不僅需要表達軍事事實的本體,如軍事實體、事件、時間、地理位置,等等,還需要有表達指揮員意圖的本體.正如3.2介紹的,對意圖的表達通常使用言語行為或通信行為,因此,表達意圖的本體就基于這些工作來創(chuàng)建.目前,這方面最值得利用和借鑒的是IEEE的FIPA(Foundation for Intelligent Physical Agents)通信行為庫規(guī)范[53]和Berm′udez等人的Agent通信本體方面的研究[54].FIPA通信行為庫規(guī)范基于言語行為理論對Agent使用的基本通信行為進行了詳細描述,給出了形式化模型.通信本體的工作致力于為Agent提供共同知識,使Agent通信語義一致化.
在本體評價方面,C-BML需要遵循的最基本的兩種準則是:邏輯準則和準確性準則.邏輯準則包括邏輯一致性和邏輯完備性,邏輯一致性要求由本體推出的結論沒有矛盾,邏輯完備性要求本體包含盡可能多的領域信息.準確性標準指的是一個本體是否準確地表述了C-BML軍事相關領域的每一個方面,特別地,本體包含的或能夠被我們推理得到的邏輯聲明應該與軍事領域中的實際情況相符.
C-BML交互協(xié)議規(guī)定了系統(tǒng)之間信息傳遞規(guī)則.在研究初期對協(xié)議的關注主要還在LICM模型的技術互操作層次,如傳輸協(xié)議、數據交換協(xié)議等,隨著研究的進展,這一關注集中到了語用互操作和動態(tài)互操作層次.
按照作戰(zhàn)需求,作戰(zhàn)信息的交換很少能由單個獨立的消息完成,更多地是通過多個相互依賴的消息按照一定的交互關系來完成,比如在一個“報告”或“請示”消息之后,一般會有一個“應答”消息返回來,圖14給出的就是一個“火力召喚”的交互協(xié)議實例[19?20].實例中,消息交互發(fā)生在“前出偵察員(Forward Observer)”和“火力檢定中心(Fire Detection Center)”之間,消息交互通過表達通信行為(見3.2和3.3)的一系列消息來完成.
圖13 基于JC3IEDM構建的C-BML本體頂層視圖
圖14 “火力召喚”的交互協(xié)議實例
C-BML語用互操作和動態(tài)互操作層次上的協(xié)議,更多地與具體應用的狀態(tài)與過程相關,要想在一個相對通用的語言里做出規(guī)定,需要將眾多的交互過程分解,抽取出若干共性的、可組合的獨立過程,再將它們協(xié)議化.目前,這方面的工作還不是很多.
和所有協(xié)議一樣,為保證C-BML協(xié)議的可靠性,特別是無人自主系統(tǒng)使用它們時的可靠性(如死鎖問題),協(xié)議驗證也是C-BML協(xié)議工作的一項重要工作.與通信協(xié)議或其他協(xié)議一樣,C-BML協(xié)議的驗證也可以通過形式化方法進行,如有限狀態(tài)機(Finite Automata)[55]、Petri網[56]、概率模型檢驗(Probabilistic Model Checking)[57]等.例如圖15就是“火力召喚”實例協(xié)議的有限狀態(tài)機模型.
圖15 “火力召喚”實例協(xié)議的有限狀態(tài)機模型
為充分發(fā)揮C-BML的能力,更好地使用CBML,應用系統(tǒng)期望有一套業(yè)務例程來支撐CBML消息的生成、傳輸、驗證、解析、管理等.按照目前軍事信息系統(tǒng)的發(fā)展趨勢,面向服務的體系結構(Service-Oriented Architecture,SOA)成為系統(tǒng)構建的主要方法,許多軍事信息系統(tǒng)體系結構框架(如NAF、DoDAF、MoDAF)也明確地支持SOA,服務成為系統(tǒng)的基本組件.因此,以服務的形式提供C-BML業(yè)務例程,成為C-BML標準開發(fā)框架的選擇[19?20].
由于業(yè)務與具體應用緊密關聯(lián),C-BML標準中只能規(guī)定一些核心服務,這些核心服務可以與其他服務進行服務組合形成特定領域或特定應用的服務.C-BML標準開發(fā)框架(SDF)中提出的C-BML核心服務主要包括[19?20]:注冊(Register)、交付(Deliver)、留存(Persist)、初始化(Initialize)、發(fā)布和訂閱(Publish&Subscribe)、搜索(Search),如圖16所示.
與交互協(xié)議類似,如何通過關注點分離將應用C-BML的軍事業(yè)務邏輯進行分解,抽取出若干共性的相對獨立業(yè)務過程,在C-BML標準中給出其服務規(guī)范,是開發(fā)C-BML標準的問題之一.
圖16 SDF中的C-BML核心服務
從C-BML第一階段標準的制定過程看,CBML標準的開發(fā)是一個非常復雜的工程,需要有效的工具手段提供支持.C-BML開發(fā)支撐工具和手段涉及兩種:開發(fā)C-BML自身的手段工具和開發(fā)C-BML應用的工具.
從支持C-BML制定的開發(fā)方法上看,提供給C-BML的手段工具有:支持體系結構框架(NAF、DoDAF、MoDAF、TOGAF等)的手段和工具、支持SINEX過程的手段和工具[58]、支持敏捷開發(fā)的手段和工具[59]、MIP所使用的手段和工具[14],等等.
目前,研究人員普遍認識到,從XML、關系數據庫等層次建立系統(tǒng)互操作標準,很難維持概念模型的完整性,對于C-BML標準來說也是如此.因此,以UML為建模工具、以MDA為模型自動轉化手段的建模方法正在日益成為主流,支持UML、MDA的手段和工具也正漸漸成為C-BML標準開發(fā)的支撐[14,25,59].
在本體獲取上,繼承已有成果,從遺留系統(tǒng)或現有數據模型抽取本體是一種常用的方法.因此,將ER模型、XML模式等自動映射到本體的手段和工具,也可用于支撐這樣的C-BML本體獲取,如文獻[45]所做的工作.在本體驗證上,語義Web領域給出了豐富的檢查和推理工具[60],如FaCT++和HermiT.
另外,計算機高級語言的語法檢查和詞法分析等工作,可以為C-BML的語法構建和解析提供手段和工具;Web服務領域的工作,可以為C-BML的服務規(guī)范和底層協(xié)議提供手段和工具.
當然,在C-BML開發(fā)的過程中,也出現了一些特殊的工具,如BMLC2GUI[61],它是為BML用戶或開發(fā)者提供的一種開源的圖形化工具,用于編輯、驗證BML以及與SBML(Scripted BML)的Web服務進行交互.
C-BML從起初的指揮控制與作戰(zhàn)仿真互操作解決方案,已經發(fā)展成一種通用、有效的指揮控制、作戰(zhàn)仿真及自主無人系統(tǒng)之間互操作的方法.目前北約及其他軍事組織正在大力發(fā)展和推廣C-BML,以推進軍事信息系統(tǒng)互聯(lián)、互通、互操作,提高其自動化、智能化水平.
從C-BML第1階段標準制定的過程看,CBML的開發(fā)是一項非常復雜的工作,不僅涉及關鍵技術問題還涉及開發(fā)方法問題.到目前為止,涉及C-BML開發(fā)方法的問題主要有:互操作視角下的C-BML、C-BML三階段發(fā)展規(guī)劃、C-BML標準的開發(fā)框架、C-BML的系統(tǒng)工程開發(fā)方法等.CBML的關鍵技術問題主要包括:提供詞匯的數據模型問題、信息表達的語法規(guī)則問題、知識推理的軍事本體問題、信息傳遞的交互協(xié)議問題及方便應用的服務例程問題,等等.
C-BML的發(fā)展是與其他技術和相關方法相聯(lián)系的,包括:MIP的信息模型、MSDL、MDA、語義Web、本體建模、體系結構框架乃至軍事理論,C-BML第二、三階段的發(fā)展必將與這些技術、方法分不開,還有可能引入新的技術和方法.
從其應用與發(fā)展看,C-BML的作用將不僅僅限于系統(tǒng)之間的有效交互和互操作,它將深刻地改變各種軍事信息系統(tǒng)和武器裝備的建設,將深刻改變軍事行動過程、指揮控制流程、演習訓練方式.深入研究C-BML的基本思想和關鍵問題,結合我軍的實際,建立起我們自己的作戰(zhàn)管理語言,對于推進我軍信息系統(tǒng)互操作,提高其自動化、智能化水平,提升打贏信息化戰(zhàn)爭的能力,具有重要意義.