何紅悅,蔣 猛,李瑞陽
(陸軍工程大學(xué)指揮控制工程學(xué)院,南京 210007)
在體系對抗時(shí)代,指揮信息系統(tǒng)需要各個(gè)子系統(tǒng)在相應(yīng)條令條例的指導(dǎo)下相互協(xié)作,最大限度地發(fā)揮整體作戰(zhàn)效能,完成體系作戰(zhàn)任務(wù)。各個(gè)子系統(tǒng)之間的相互協(xié)作會在體系層面產(chǎn)生涌現(xiàn)行為,涌現(xiàn)行為會影響作戰(zhàn)任務(wù)的完成情況[1]。通過對指揮信息系統(tǒng)的涌現(xiàn)行為進(jìn)行研究,可以進(jìn)一步認(rèn)識指揮信息系統(tǒng)涌現(xiàn)行為產(chǎn)生的機(jī)理,從而更加有效地促使涌現(xiàn)行為朝著有利于作戰(zhàn)任務(wù)的方向發(fā)展,最終更好地指導(dǎo)指揮信息系統(tǒng)的建設(shè),實(shí)現(xiàn)體系作戰(zhàn)。
目前對指揮信息系統(tǒng)的涌現(xiàn)行為進(jìn)行分析,主要應(yīng)用DoDAF 的相關(guān)產(chǎn)品模型。但這些產(chǎn)品模型是以數(shù)據(jù)為中心構(gòu)建的,各個(gè)產(chǎn)品模型之間強(qiáng)調(diào)數(shù)據(jù)的一致性,而忽略了行為模型的仿真能力。如果要對這些模型進(jìn)行動(dòng)態(tài)仿真,需要將它們轉(zhuǎn)換為相應(yīng)的仿真模型(例如Petri 網(wǎng)模型),在行為模型到仿真模型的轉(zhuǎn)換過程中會造成語義丟失,影響仿真效果。
基于Petri 網(wǎng)和各種擴(kuò)展Petri 網(wǎng)的仿真方法,是廣泛應(yīng)用的行為模型分析方法。如果行為模型是采用面向?qū)ο笳Z言構(gòu)建的,例如:UML、SysML 等,則要定義UML 或SysML 模型元素到Petri 網(wǎng)模型元素的映射規(guī)則,然后再將相應(yīng)的模型(例如:類圖、活動(dòng)圖等)形式化為Petri 網(wǎng)模型,但目前還沒有一個(gè)通用的自動(dòng)分析系統(tǒng)行為模型的方法及工具[2]。美國George Mason 大學(xué)C3I 研究中心將面向?qū)ο蠹夹g(shù)和Petri 網(wǎng)相結(jié)合,使面向離散事件的建模方法能夠支持自底向上或由頂而下的建模,又增強(qiáng)了模型的可重用性[3]。文獻(xiàn)[4]使用元胞自動(dòng)機(jī)來研究武器裝備體系的涌現(xiàn)模型。文獻(xiàn)[5]則利用本體技術(shù)和對象Petri 網(wǎng)來研究C4ISR 體系結(jié)構(gòu)可執(zhí)行模型的構(gòu)建與驗(yàn)證方法。但基于Petri 網(wǎng)的模型仿真方法存在狀態(tài)空間爆炸、模型轉(zhuǎn)換過程中丟失語義等問題。
進(jìn)程代數(shù)是關(guān)于通信并發(fā)系統(tǒng)的代數(shù)的統(tǒng)稱,是用代數(shù)方法研究系統(tǒng)行為的一門學(xué)科。近年來,各種改進(jìn)的進(jìn)程代數(shù)模型不斷推出,進(jìn)程代數(shù)理論正在被越來越多地應(yīng)用于各種復(fù)雜并發(fā)系統(tǒng)的仿真分析中。代飛等[6]以ACP(Algebra of Communicating Process)為基礎(chǔ),設(shè)計(jì)了軟件演化模型代數(shù),來研究分析軟件的演化行為。郭峰等[7]融合了進(jìn)程代數(shù)與Petri 網(wǎng)模型,設(shè)計(jì)了一種新的融合進(jìn)程代數(shù)特征的Petri 網(wǎng)模型——進(jìn)程網(wǎng)模型。趙峰等[8]使用性能評價(jià)進(jìn)程代數(shù)來對防空指揮系統(tǒng)進(jìn)行建模仿真。進(jìn)程代數(shù)的并發(fā)機(jī)制可以很好地描述系統(tǒng)的并發(fā)行為和交互行為。
本文研究了指揮信息系統(tǒng)涌現(xiàn)行為的產(chǎn)生機(jī)理,將其總結(jié)為以下規(guī)律:
1)作戰(zhàn)活動(dòng)根據(jù)事件(或信息)作出反應(yīng),對輸入進(jìn)行處理并產(chǎn)生最終的輸出(或信息),復(fù)雜的作戰(zhàn)活動(dòng)可能會有多個(gè)輸入,并產(chǎn)生若干個(gè)不同的輸出。
2)指揮信息系統(tǒng)涉及到不止一種作戰(zhàn)活動(dòng),多種作戰(zhàn)活動(dòng)相互交互構(gòu)成網(wǎng)絡(luò),作戰(zhàn)活動(dòng)會在網(wǎng)絡(luò)中臨近的作戰(zhàn)活動(dòng)中產(chǎn)生影響。
3)多種作戰(zhàn)活動(dòng)連接起來,會產(chǎn)生一些存在相互作用作戰(zhàn)活動(dòng)的所有可能性的集合。
4)基本作戰(zhàn)活動(dòng)可以建立更復(fù)雜作戰(zhàn)活動(dòng)。
根據(jù)以上規(guī)律,抽象出作戰(zhàn)活動(dòng)、狀態(tài)、作戰(zhàn)活動(dòng)交互和體系行為4 個(gè)關(guān)鍵概念。針對這4 個(gè)概念,應(yīng)用分層描述思想,在系統(tǒng)交互層和體系展現(xiàn)層分別對涌現(xiàn)行為進(jìn)行描述。在系統(tǒng)交互層采用擴(kuò)展的UML 作為建模語言,在體系展現(xiàn)層,定義了業(yè)務(wù)進(jìn)程代數(shù),使用進(jìn)程代數(shù)的跡來描述涌現(xiàn)行為。以此為基礎(chǔ),本文采用本體技術(shù)和進(jìn)程代數(shù)仿真,從靜態(tài)和動(dòng)態(tài)兩方面對指揮信息系統(tǒng)的涌現(xiàn)行為進(jìn)行分析,靜態(tài)分析檢查涌現(xiàn)行為的概念一致性,動(dòng)態(tài)分析則通過進(jìn)程項(xiàng)的跡的仿真,實(shí)現(xiàn)涌現(xiàn)行為的可執(zhí)行仿真。
為了驗(yàn)證涌現(xiàn)行為在系統(tǒng)交互層的概念一致性,需要將涌現(xiàn)行為在系統(tǒng)交互層的模型形式化為OWL DL 本體。參考DoDAF2.0 中國防部體系結(jié)構(gòu)框架元模型(DoDAF Meta-Model,DM2)與相關(guān)視圖元素的描述關(guān)系[9]。將構(gòu)建的涌現(xiàn)行為在系統(tǒng)交互層概念模型中的概念及其關(guān)系映射到OWL DL 本體中的類定義和關(guān)系定義,將構(gòu)建的涌現(xiàn)行為在系統(tǒng)交互層模型中的具體對象及其關(guān)系映射到OWL DL本體中的個(gè)體聲明和關(guān)系聲明,同時(shí)將涌現(xiàn)行為在系統(tǒng)交互層的一些規(guī)則信息用語義網(wǎng)規(guī)則語言描述成OWL DL 本體中的DL-Safe 規(guī)則(如圖1 所示),由此得到涌現(xiàn)行為系統(tǒng)交互層的OWL DL 本體。
在對概念模型中的概念和關(guān)系進(jìn)行轉(zhuǎn)換時(shí),定義了如下轉(zhuǎn)換算法:
將涌現(xiàn)行為在系統(tǒng)交互層的概念一致性定義為不同產(chǎn)品模型中同一種數(shù)據(jù)元素的描述必須一致。如果同一數(shù)據(jù)在不同模型中的描述有差別,則在構(gòu)建OWL DL 本體時(shí),該數(shù)據(jù)元素會被聲明為兩個(gè)不同類概念的個(gè)體,會造成OWL DL 本體的不一致,OWL DL 本體的不一致可以通過本體推理工具如Pellet[10]等檢查出來。
圖2 進(jìn)程變遷樹
在BAPA 語義中,進(jìn)程項(xiàng)的變遷是由活動(dòng)或條件來驅(qū)動(dòng)的,每個(gè)進(jìn)程項(xiàng)都有自己的響應(yīng)活動(dòng)或響應(yīng)條件,進(jìn)程項(xiàng)只有在自己的響應(yīng)活動(dòng)或響應(yīng)條件發(fā)生時(shí),才會發(fā)生變遷。進(jìn)程項(xiàng)p 的響應(yīng)活動(dòng)或響應(yīng)條件集合定義如下。
定義1 進(jìn)程項(xiàng)p 的響應(yīng)活動(dòng)或響應(yīng)條件集合Resp(p)定義為:
進(jìn)程項(xiàng)在自己的響應(yīng)活動(dòng)或響應(yīng)條件發(fā)生時(shí),依據(jù)進(jìn)程變遷規(guī)則發(fā)生變遷,根據(jù)這些進(jìn)程變遷規(guī)則來構(gòu)建進(jìn)程項(xiàng)的進(jìn)程變遷樹。
通過對初始進(jìn)程項(xiàng)的進(jìn)程變遷樹進(jìn)行遍歷,得到涌現(xiàn)行為的可執(zhí)行仿真過程。為了實(shí)現(xiàn)最終的涌現(xiàn)行為可執(zhí)行仿真,需要將執(zhí)行過程中的作戰(zhàn)活動(dòng)依次調(diào)用相關(guān)的動(dòng)作語義代碼進(jìn)行執(zhí)行。將涌現(xiàn)行為的可執(zhí)行仿真劃分成3 個(gè)階段:準(zhǔn)備階段、執(zhí)行階段和反饋階段,如圖3 所示。
圖3 涌現(xiàn)行為可執(zhí)行仿真
執(zhí)行階段除了需要準(zhǔn)備階段提供的初始進(jìn)程項(xiàng)的進(jìn)程變遷樹以外,還需要?jiǎng)幼髡Z義代碼庫、執(zhí)行對象集合和信息棧。本文研究的擴(kuò)展UML 建模語言定義了相關(guān)的動(dòng)作語義,為每個(gè)動(dòng)作語義編寫程序代碼,構(gòu)成動(dòng)作語義代碼庫。模型執(zhí)行時(shí)的相關(guān)對象則存放在執(zhí)行對象集合中,信息棧則存放模型執(zhí)行時(shí)產(chǎn)生的相關(guān)信息。在模型執(zhí)行階段,首先遍歷初始進(jìn)程項(xiàng)的進(jìn)程變遷樹來獲取活動(dòng)執(zhí)行序列,然后從活動(dòng)執(zhí)行序列中依次取出一個(gè)活動(dòng),從動(dòng)作語義代碼庫中找到該活動(dòng)執(zhí)行時(shí)所需動(dòng)作語義的相關(guān)代碼。如果該活動(dòng)的執(zhí)行對象不在執(zhí)行對象集合中,調(diào)用對象動(dòng)作語義代碼產(chǎn)生執(zhí)行對象并添加到執(zhí)行對象集合中,然后調(diào)用執(zhí)行對象來執(zhí)行相關(guān)代碼。如果該活動(dòng)是發(fā)送信息活動(dòng),則調(diào)用相關(guān)動(dòng)作語義代碼產(chǎn)生信息對象并添加到信息棧中,如果該活動(dòng)是接收信息活動(dòng),則調(diào)用相關(guān)動(dòng)作語義代碼從信息棧中找到相關(guān)信息對象并讀取它。當(dāng)活動(dòng)執(zhí)行序列的活動(dòng)全部執(zhí)行結(jié)束后,調(diào)用相關(guān)動(dòng)作語義代碼刪除所有的執(zhí)行對象和信息對象。
這一階段的工作主要是將活動(dòng)執(zhí)行序列中每個(gè)活動(dòng)的執(zhí)行情況和模型的最終執(zhí)行結(jié)果反饋給用戶。
指揮信息系統(tǒng)作為一個(gè)復(fù)雜體系,由于其行為的涌現(xiàn)特性,使得行為分析一直是需求分析中的難點(diǎn)。本文研究了指揮信息系統(tǒng)涌現(xiàn)行為的分層描述方法,從系統(tǒng)交互層和體系展現(xiàn)層對涌現(xiàn)行為進(jìn)行描述。在此基礎(chǔ)上,根據(jù)涌現(xiàn)行為在兩個(gè)層次上的不同表示,采用不同方法分別進(jìn)行有針對性的分析。在系統(tǒng)交互層,應(yīng)用本體技術(shù)分析其概念一致性;在體系展現(xiàn)層,利用進(jìn)程代數(shù)仿真實(shí)現(xiàn)涌現(xiàn)行為的可執(zhí)行仿真。該方法從靜態(tài)概念和動(dòng)態(tài)行為兩方面對涌現(xiàn)行為進(jìn)行分析,探索了一個(gè)涌現(xiàn)行為分析的新方法。后續(xù)將針對涌現(xiàn)行為分析的內(nèi)容進(jìn)行擴(kuò)展和細(xì)化,實(shí)現(xiàn)更細(xì)致的分析檢查。