劉正 張新強(qiáng) 王鴻飛 喬可春
1.解放軍理工大學(xué)指揮信息系統(tǒng)學(xué)院江蘇南京210007 2.中國(guó)電子設(shè)備系統(tǒng)工程公司研究所北京100141 3.61516部隊(duì)北京100094
基于美國(guó)防部體系結(jié)構(gòu)框架(Department of Defense Architecture Framework,DoDAF)[1]建立的體系結(jié)構(gòu)是對(duì)系統(tǒng)的靜態(tài)描述,還不足以支撐系統(tǒng)動(dòng)態(tài)特性的分析.Levis和Wagenhals提出了可執(zhí)行模型的思想[2?3],即綜合體系結(jié)構(gòu)中相應(yīng)靜態(tài)視圖產(chǎn)品(OV5、OV6a、OV7以及OV6b)中的信息,以可追溯的方式映射到可執(zhí)行模型(Coloured Petri Nets,CPN)中,通過模型的執(zhí)行或數(shù)學(xué)分析,使得在頂層設(shè)計(jì)階段充分描述和理解系統(tǒng)的行為和性能成為了可能.后來的許多研究[4?10]都是在這一基礎(chǔ)上,進(jìn)一步探索了這4類產(chǎn)品向其他可執(zhí)行模型(如OPN[6]、HCPN[9]、Simulink[10]等)轉(zhuǎn)換的方法.但以上所選的體系結(jié)構(gòu)產(chǎn)品構(gòu)建的可執(zhí)行模型,對(duì)系統(tǒng)行為的分析只是局限于邏輯層面,無法支撐實(shí)際的動(dòng)態(tài)行為分析.本文以DoDAF1.0下的OV作為研究對(duì)象,通過改進(jìn)Levis和Wagenhals可執(zhí)行模型的構(gòu)建思路,擴(kuò)展了可執(zhí)行模型對(duì)系統(tǒng)動(dòng)態(tài)行為的驗(yàn)證范圍,最終結(jié)合具體案例,介紹改進(jìn)后的可執(zhí)行模型的構(gòu)建步驟與過程分析.
1)選擇參與構(gòu)建可執(zhí)行模型的基本視圖產(chǎn)品.Levis和Wagenhals認(rèn)為,在DoDAF下,OV5描述了通常情況下實(shí)現(xiàn)使命任務(wù)或業(yè)務(wù)目標(biāo)所進(jìn)行的活動(dòng),當(dāng)OV5按照OV6a描述的規(guī)則動(dòng)態(tài)地執(zhí)行、處理或消耗OV7中定義的數(shù)據(jù)時(shí),就會(huì)展現(xiàn)出系統(tǒng)業(yè)務(wù)層面的動(dòng)態(tài)行為.而OV6b定義了用戶期望的系統(tǒng)狀態(tài)轉(zhuǎn)換過程,它為系統(tǒng)動(dòng)態(tài)行為狀態(tài)轉(zhuǎn)換提供了一致性評(píng)價(jià)的標(biāo)準(zhǔn).
2)建立產(chǎn)品與可執(zhí)行模型之間的轉(zhuǎn)換規(guī)則.CPN[11]是Petri網(wǎng)的高級(jí)形式,它除了具有普通Petri網(wǎng)展現(xiàn)建模對(duì)象動(dòng)態(tài)特性、表征系統(tǒng)競(jìng)爭(zhēng)和沖突現(xiàn)象的能力外,還增加了以下優(yōu)勢(shì):一是為Petri網(wǎng)中的Token賦予了顏色,通過建立顏色集,能夠方便地描述復(fù)雜數(shù)據(jù)實(shí)體;二是通過弧表示、守衛(wèi)函數(shù)以及代碼片斷,提高了復(fù)雜點(diǎn)火規(guī)則的可讀性;三是CPN具有層次結(jié)構(gòu),能降低模型復(fù)雜度.
上述4類體系結(jié)構(gòu)產(chǎn)品向CPN模型轉(zhuǎn)換的映射規(guī)則如圖1所示.首先,將OV5(以IDEF0描述的模型為例)作為可執(zhí)行模型的基本結(jié)構(gòu),其中ICOM箭頭轉(zhuǎn)換為CPN模型中的庫(kù)所(P),活動(dòng)轉(zhuǎn)換為模型中的變遷(T),庫(kù)所與變遷之間的弧線方向與OV5中箭頭的方向一致,若OV5具有層次結(jié)構(gòu),則將其分解模型分配到CPN模型的子層上重復(fù)上述轉(zhuǎn)換;其次,將OV7的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為模型的全局聲明,將OV6a中的規(guī)則變?yōu)槟P偷氖匦l(wèi)函數(shù)、弧表示或代碼片斷;最后,將CPN的運(yùn)行初態(tài)設(shè)置為OV6b的初始狀態(tài).這樣構(gòu)建的CPN模型,其所有要素都可回溯到參與構(gòu)建的體系結(jié)構(gòu)產(chǎn)品,因此在描述系統(tǒng)動(dòng)態(tài)行為方面與體系結(jié)構(gòu)產(chǎn)品保持了一致.
3)可執(zhí)行模型的動(dòng)態(tài)分析.一種方法是直接運(yùn)行模型,這種方法既能向用戶直觀展示系統(tǒng)的動(dòng)態(tài)行為,也能即時(shí)發(fā)現(xiàn)運(yùn)行過程中死鎖、并發(fā)沖突等邏輯問題出現(xiàn)的位置,但仿真運(yùn)行可能無法遍歷模型的所有狀態(tài),難免會(huì)遺漏潛在的動(dòng)態(tài)邏輯問題;另一種方法是利用工具全面驗(yàn)證可執(zhí)行模型的狀態(tài)轉(zhuǎn)換.CPN Tools是由丹麥Aarhus大學(xué)計(jì)算機(jī)科學(xué)系和美國(guó)宇航局聯(lián)合推出的CPN建模、仿真與分析工具,它具有可視化仿真界面,并且包含模型狀態(tài)分析功能,能夠描述可執(zhí)行模型完整的狀態(tài)發(fā)生圖,便于進(jìn)行狀態(tài)的一致性分析.Levis和Wagenhals正是利用這一工具進(jìn)行了可執(zhí)行模型的建模與分析.
上述方法的局限性,主要在于參與構(gòu)建模型的體系結(jié)構(gòu)產(chǎn)品還不夠豐富,影響了模型的驗(yàn)證能力.正如DoDAF中指出,業(yè)務(wù)層面涉及的系統(tǒng)動(dòng)態(tài)行為是指業(yè)務(wù)過程的動(dòng)態(tài)行為引起的事件時(shí)序[1],它不僅包括OV5在OV6a、OV7以及OV6b支持下展現(xiàn)的邏輯層面的系統(tǒng)行為,同時(shí)還包括活動(dòng)部署到執(zhí)行節(jié)點(diǎn)后的實(shí)際動(dòng)態(tài)行為(如系統(tǒng)能否在正確的節(jié)點(diǎn)、按照正確的順序執(zhí)行正確的活動(dòng)、交付或使用正確的信息).由于系統(tǒng)實(shí)際動(dòng)態(tài)行為的評(píng)估既涉及到節(jié)點(diǎn)內(nèi)活動(dòng)的邏輯關(guān)系,又需要考慮到節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系,因此在構(gòu)建可執(zhí)行模型時(shí),需要OV2(節(jié)點(diǎn)連接描述)的參與.
OV2描述了特定活動(dòng)(或任務(wù))的執(zhí)行節(jié)點(diǎn),建立了節(jié)點(diǎn)間產(chǎn)生、使用和處理信息的關(guān)聯(lián)關(guān)系,這一關(guān)聯(lián)關(guān)系本質(zhì)上是節(jié)點(diǎn)間活動(dòng)的交互,因此OV2隱含了OV5中活動(dòng)的邏輯連接關(guān)系,但是OV2本身并沒有顯性地描述活動(dòng)間的邏輯連接,因此本文的基本思路是:以O(shè)V2為主體,通過推理或約定,將OV5中活動(dòng)的邏輯連接關(guān)系拓展到OV2,明確節(jié)點(diǎn)間/內(nèi)活動(dòng)的邏輯連接,形成OV2與OV5融合模型.
OV2與OV5融合處理包括兩個(gè)關(guān)鍵環(huán)節(jié):
1)確立節(jié)點(diǎn)間活動(dòng)的邏輯連接.因?yàn)楣?jié)點(diǎn)間活動(dòng)的邏輯連接隱含于節(jié)點(diǎn)間信息交換關(guān)系之中,因此可以通過推理來獲得.
推理1(節(jié)點(diǎn)間活動(dòng)的邏輯連接):在OV2中,如果從節(jié)點(diǎn)Ni到Nj存在信息交換,那么這條信息交換必定來源于OV5中的某兩個(gè)活動(dòng)(假設(shè)為Am和An)之間的信息交互,且節(jié)點(diǎn)Ni和Nj當(dāng)前分別部署了活動(dòng)Am和An,因此可以建立從節(jié)點(diǎn)Ni中活動(dòng)Am到Nj中活動(dòng)An之間的邏輯連接.(當(dāng)節(jié)點(diǎn)、活動(dòng)為外部節(jié)點(diǎn)、外部活動(dòng)時(shí),可能并未在體系結(jié)構(gòu)中描述,在推理節(jié)時(shí)假設(shè)其存在).
2)確立節(jié)點(diǎn)內(nèi)活動(dòng)的邏輯連接.由于OV2并沒有描述節(jié)點(diǎn)內(nèi)的信息交換關(guān)系,所以節(jié)點(diǎn)內(nèi)活動(dòng)的邏輯連接,無法利用推理1得出.在此作如下約定:
圖1 體系結(jié)構(gòu)產(chǎn)品向視圖級(jí)CPN轉(zhuǎn)換思路
約定1(節(jié)點(diǎn)內(nèi)活動(dòng)間的邏輯連接關(guān)系):如果節(jié)點(diǎn)內(nèi)的某些活動(dòng)之間在OV5中存在邏輯連接關(guān)系,那么在節(jié)點(diǎn)內(nèi)這些活動(dòng)之間也應(yīng)該建立相應(yīng)的邏輯連接.
約定2(節(jié)點(diǎn)內(nèi)活動(dòng)的無源控制與機(jī)制箭頭的邏輯連接):若節(jié)點(diǎn)內(nèi)的活動(dòng)在OV5中具有無源控制或機(jī)制箭頭,同時(shí)這些箭頭未構(gòu)成節(jié)點(diǎn)間的信息交換,則依據(jù)其在OV5中的邏輯位置添加至節(jié)點(diǎn)相應(yīng)的活動(dòng)上.
OV2與OV5融合模型增加了節(jié)點(diǎn)與信息交換的描述,因此需要增加節(jié)點(diǎn)、信息交換以及節(jié)點(diǎn)層次關(guān)系向CPN轉(zhuǎn)換的映射規(guī)則,如表1、表2所示.
表1 節(jié)點(diǎn)、信息交換、節(jié)點(diǎn)層次關(guān)系向CPN轉(zhuǎn)換映射
表2 節(jié)點(diǎn)層次關(guān)系向CPN轉(zhuǎn)換映射
下面以一個(gè)簡(jiǎn)化的執(zhí)行空中攔截使命任務(wù)的OV作為案例進(jìn)行分析,圖2為高級(jí)作戰(zhàn)概念圖OV1,基本想定為:
圖2 OV1高級(jí)作戰(zhàn)概念圖
1)設(shè)置1個(gè)空中指揮中心節(jié)點(diǎn),進(jìn)行決策和下達(dá)命令;
2)設(shè)置2個(gè)偵察節(jié)點(diǎn),其中1個(gè)偵察節(jié)點(diǎn)根據(jù)空中指揮中心的命令執(zhí)行常規(guī)偵察活動(dòng),另一偵察節(jié)點(diǎn)隨時(shí)待命,根據(jù)空中指揮中心命令擇機(jī)參與偵察活動(dòng);
3)設(shè)置1個(gè)行動(dòng)節(jié)點(diǎn),根據(jù)空中指揮中心命令派遣攔截機(jī)執(zhí)行攔截任務(wù).
其簡(jiǎn)化的作戰(zhàn)流程如下:
1)常規(guī)偵察節(jié)點(diǎn)執(zhí)行常規(guī)偵察任務(wù);
2)當(dāng)有不明飛行物體接近使命空域時(shí),常規(guī)偵察節(jié)點(diǎn)感知并向空中指揮中心報(bào)告;
3)空中指揮中心進(jìn)行不明飛行物的敵我識(shí)別;
4)空中指揮中心根據(jù)識(shí)別結(jié)果,進(jìn)行決策:
a)若不明物為我機(jī),則轉(zhuǎn)向1);
b)若不明物為敵機(jī),則向行動(dòng)節(jié)點(diǎn)下達(dá)攔截命令,轉(zhuǎn)向6);
c)若不明物未識(shí)別:
和平環(huán)境下,向待命偵察節(jié)點(diǎn)下達(dá)定向偵察命令,轉(zhuǎn)向5);
戰(zhàn)爭(zhēng)環(huán)境下,向行動(dòng)節(jié)點(diǎn)下達(dá)攔截命令,轉(zhuǎn)向6);
5)待命偵察節(jié)點(diǎn)進(jìn)行感知、識(shí)別判斷后,向空中指揮中心報(bào)告,返回4);
6)行動(dòng)節(jié)點(diǎn)接到命令后,出動(dòng)攔截機(jī),展開行動(dòng).
具體的運(yùn)營(yíng)規(guī)則(OV6a)如表3所示:
表3 規(guī)則模型OV6a(結(jié)構(gòu)化英語if..then)
續(xù)表3
續(xù)表3
圖3~圖6是根據(jù)想定案例生成的OV的其他體系結(jié)構(gòu)產(chǎn)品,分別為:OV2、OV5、OV7以及OV6b.
基于體系結(jié)構(gòu)產(chǎn)品構(gòu)建可執(zhí)行模型的必要前提是體系結(jié)構(gòu)產(chǎn)品完成了靜態(tài)一致性驗(yàn)證,由于本文重點(diǎn)研究的是可執(zhí)行模型的改進(jìn),所以關(guān)于產(chǎn)品靜態(tài)一致性驗(yàn)證過程在此省略.
圖3 OV2節(jié)點(diǎn)連接描述圖(層次化分解)
圖4 OV5活動(dòng)模型(IDEF0)
圖5 OV7數(shù)據(jù)模型
圖6 狀態(tài)轉(zhuǎn)換模型(OV6b)
依據(jù)1.2節(jié)的推理和約定,首先對(duì)OV2、OV5進(jìn)行融合處理,步驟如下:
Step1:選擇OV2中的葉節(jié)點(diǎn)作為初始點(diǎn).葉節(jié)點(diǎn)中分配的活動(dòng)可能有兩種:一種是可再分解的父活動(dòng),另一種是不可再分的葉活動(dòng).若葉活動(dòng)屬于父活動(dòng)的分解活動(dòng),則只保留父活動(dòng).
Step2:新建子層,在子層中建立葉節(jié)點(diǎn)間/內(nèi)活動(dòng)的邏輯連接.
Step3:若該層內(nèi)存在可再分的父活動(dòng),則繼續(xù)新建子層,插入該父活動(dòng)的分解模型,直至結(jié)束.
通過上述步驟可以得到OV2與OV5的融合模型.如圖7所示.
首先依據(jù)圖8建立CPN的基本結(jié)構(gòu),再結(jié)合OV7、OV6a以及OV6b完善CPN模型,步驟如下:
Step 1:從OV2與OV5的融合模型開始,自頂向下按照“節(jié)點(diǎn)-子節(jié)點(diǎn)-活動(dòng)-子活動(dòng)”的順序?qū)⑷诤夏P偷膶哟谓Y(jié)構(gòu)變?yōu)镃PN的層次結(jié)構(gòu),每個(gè)節(jié)點(diǎn)、活動(dòng)變成CPN對(duì)應(yīng)層次的變遷,信息交換、ICOM箭頭變成庫(kù)所,建立庫(kù)所與變遷的連接弧;
Step 2:根據(jù)OV7建立CPN模型全局聲明;
Step 3:根據(jù)OV6a建立CPN中的弧表達(dá)、守衛(wèi)函數(shù)或代碼片斷;
Step 4:按照OV6b的初始狀態(tài)設(shè)置CPN的運(yùn)行初態(tài).
由于篇幅所限,在此只顯示整個(gè)CPN的3個(gè)模型:頂層節(jié)點(diǎn)連接模型、N1節(jié)點(diǎn)分解模型、以及N1.2節(jié)點(diǎn)中Sense活動(dòng)分解模型.如圖8所示.
圖7 明確活動(dòng)邏輯連接關(guān)系的OV2與OV5融合模型
圖8 CPN可執(zhí)行模型(節(jié)選)
圖9 CPN模型狀態(tài)發(fā)生圖
在1.1節(jié)中已經(jīng)概述了CPN模型的兩種動(dòng)態(tài)分析方法,本文著重介紹后一種方法,圖9所示即本文構(gòu)建的CPN模型的狀態(tài)發(fā)生圖,它是帶有狀態(tài)節(jié)點(diǎn)與弧的有向圖,每個(gè)狀態(tài)節(jié)點(diǎn)上包含3個(gè)數(shù)字,最上面的數(shù)字為狀態(tài)節(jié)點(diǎn)的標(biāo)識(shí),下方兩個(gè)數(shù)字,例如1:2,前者代表該狀態(tài)節(jié)點(diǎn)有1個(gè)前狀態(tài)節(jié)點(diǎn),后者代表其有2個(gè)后狀態(tài)節(jié)點(diǎn).每個(gè)狀態(tài)節(jié)點(diǎn)定義了CPN模型的一個(gè)狀態(tài),狀態(tài)節(jié)點(diǎn)可以展開,展開后能夠顯示當(dāng)前狀態(tài)節(jié)點(diǎn)下整個(gè)CPN模型所有庫(kù)所中包含的Token集合,如圖中狀態(tài)節(jié)點(diǎn)11下方方框所示,而每條弧線的方向代表了狀態(tài)轉(zhuǎn)換發(fā)生的方向,弧線展開后,可以顯示引起狀態(tài)變化的變遷名字、激活該變遷的條件等,如圖中狀態(tài)節(jié)點(diǎn)8->11的弧所示.
通過狀態(tài)發(fā)生圖,可以對(duì)案例體系結(jié)構(gòu)的動(dòng)態(tài)行為進(jìn)行以下幾方面分析:
1)體系結(jié)構(gòu)的狀態(tài)轉(zhuǎn)換是否與用戶渴望的狀態(tài)(OV6b)一致.以狀態(tài)節(jié)點(diǎn)8->11的弧為例,它表示N3節(jié)點(diǎn)中的活動(dòng)Act在收到需攔截的威脅標(biāo)識(shí)(tid=1)并存在可用攔截機(jī)(iid=1)的條件下能夠滿足變遷的點(diǎn)火規(guī)則,從狀態(tài)8轉(zhuǎn)到狀態(tài)11.這與OV6b 中從 “N2deciding act”到 “N3act intercept”的狀態(tài)變化條件是一致的.
2)部署在不同節(jié)點(diǎn)的相同活動(dòng)的執(zhí)行時(shí)機(jī).圖中標(biāo)注了節(jié)點(diǎn)N11中的活動(dòng)Detect執(zhí)行可能導(dǎo)致的狀態(tài)轉(zhuǎn)換:1->1、1->2,節(jié)點(diǎn)N12中Detect活動(dòng)執(zhí)行可能導(dǎo)致的狀態(tài)轉(zhuǎn)換:7->9、7->10、18->9、18->20.通過分析可以發(fā)現(xiàn),對(duì)于設(shè)定的單一威脅來說,節(jié)點(diǎn)N11中的Detect活動(dòng)僅在初始時(shí)參與了執(zhí)行,引起狀態(tài)轉(zhuǎn)換(1->1未偵察到威脅、1->2偵察到威脅),后續(xù)與Detect活動(dòng)相關(guān)的狀態(tài)轉(zhuǎn)換均由N12節(jié)點(diǎn)引起的,這與OV6b中描述的是一致的.
3)通過動(dòng)態(tài)分析發(fā)現(xiàn)狀態(tài)轉(zhuǎn)換過程中存在的循環(huán)過程.針對(duì)循環(huán)過程,可以詳細(xì)分析體系結(jié)構(gòu)的動(dòng)態(tài)行為是否存在死循環(huán)的可能.我們?cè)趫D中用自然語言描述了狀態(tài)5->7->10->14->5這一循環(huán)過程的狀態(tài)變化條件,從中可以發(fā)現(xiàn),當(dāng)待命偵察節(jié)點(diǎn)收到定向偵察命令后,若探測(cè)概率低將一直無法偵察到威脅,繼而無論其識(shí)別威脅的概率有多高,在邏輯上待命偵察節(jié)點(diǎn)都不會(huì)識(shí)別威脅,那么在和平環(huán)境下,就會(huì)導(dǎo)致空中指揮中心不斷命令其執(zhí)行定向偵察活動(dòng),從而使整個(gè)運(yùn)營(yíng)流程進(jìn)入一個(gè)不斷循環(huán)的狀態(tài).
本文在OV5、OV6、OV7等產(chǎn)品的基礎(chǔ)上將OV2納入構(gòu)建可執(zhí)行模型的體系結(jié)構(gòu)產(chǎn)品序列中,能夠更深入地分析系統(tǒng)業(yè)務(wù)層面的動(dòng)態(tài)行為,通過評(píng)估活動(dòng)部署后實(shí)際運(yùn)行的動(dòng)態(tài)特性,使體系結(jié)構(gòu)的動(dòng)態(tài)特性得到了更充分的驗(yàn)證.
對(duì)于當(dāng)前As-Is體系結(jié)構(gòu),在上述可執(zhí)行模型中可以進(jìn)一步考慮節(jié)點(diǎn)的人員/設(shè)備資源、活動(dòng)的執(zhí)行成本、時(shí)間等因素,通過收集可執(zhí)行模型的運(yùn)行數(shù)據(jù),統(tǒng)計(jì)分析體系結(jié)構(gòu)節(jié)點(diǎn)資源占用率、運(yùn)行成本、時(shí)間效率等關(guān)鍵指標(biāo),查找體系結(jié)構(gòu)中可能存在的短板,可為將來的To-Be體系結(jié)構(gòu)的改進(jìn)完善打下基礎(chǔ).