王小玉 范晶晶
(中國電子科技集團公司第二十八研究所 江蘇 210007)
近年來,基于模型的輔助決策技術得到了越來越廣泛的重視和發(fā)展,作戰(zhàn)模型在作戰(zhàn)輔助決策系統(tǒng)中發(fā)揮了重要作用,是作戰(zhàn)輔助決策系統(tǒng)的核心。作戰(zhàn)模型的豐富程度和準確程度、適用程度直接反映了作戰(zhàn)輔助決策能力的強弱[1]。作戰(zhàn)模型在極大豐富的同時,也為作戰(zhàn)模型的管理和使用帶來了前所未有的挑戰(zhàn):作戰(zhàn)模型由不同的研制單位開發(fā),開發(fā)的方式方法和使用模式存在差異,缺乏統(tǒng)一的開發(fā)與使用約束,導致模型資源在物理上是分布的,在技術上是異構的;部分作戰(zhàn)模型缺乏透明度,作戰(zhàn)模型缺少權威部門的認證,造成使用中的可信度不足;作戰(zhàn)模型存在重復開發(fā)且大多數(shù)模型是執(zhí)行流程控制中的一個固定環(huán)節(jié)或過程,導致模型的可重用性差,難以對外提供模型服務[1]。為了有效管理作戰(zhàn)模型的開發(fā)和使用,提高作戰(zhàn)模型的可用度、可信度、可擴充性和可重用性,提高作戰(zhàn)模型對作戰(zhàn)輔助決策系統(tǒng)的支持能力,應對作戰(zhàn)模型的開發(fā)流程、開發(fā)準則、參數(shù)傳遞,作戰(zhàn)模型的測試與驗收,作戰(zhàn)模型調用流程、調用方式和參數(shù)傳遞規(guī)則等進行規(guī)范化。
作戰(zhàn)模型的開發(fā)與調用與作戰(zhàn)模型的組織、存儲、管理、組合和集成是密切相關的。作戰(zhàn)模型的組織形式有模型程序包和模型庫兩種形式[1]。由于模型程序包只適合各模型獨立使用,不適合多模型的組合[1],因此,本文所討論的作戰(zhàn)模型的開發(fā)與調用都是基于模型庫開展的。模型以程序形式存儲在模型庫中,通過模型管理系統(tǒng)對模型進行管理和組織使用。模型庫中包括模型描述信息、模型引用情況、參數(shù)描述文件、模型實現(xiàn)文件、模型成果描述等信息。模型庫管理系統(tǒng)提供對模型的導入、導出、修改、刪除、組合等功能。
作戰(zhàn)模型開發(fā)是指對作戰(zhàn)模型進行計算機程序實現(xiàn),形成能被作戰(zhàn)輔助決策系統(tǒng)調用的模型程序。作戰(zhàn)模型開發(fā)主要有三種方式:一種是開發(fā)成動態(tài)鏈接庫,提供相關接口供上層應用調用;一種是開發(fā)成可直接運行的執(zhí)行程序,可通過菜單調用;一種是直接在作戰(zhàn)輔助決策系統(tǒng)中根據(jù)作戰(zhàn)數(shù)學模型編制代碼。第二種方式實際上可以基于第一種實現(xiàn),最后一種方式不利于模型的重復使用,是應該避免的,因此,本文針對第一種開發(fā)方式提出規(guī)范性建議。
圖1描述了一個作戰(zhàn)模型開發(fā)流程,它明確了開發(fā)步驟、開發(fā)過程中應考慮的因素、實施的內容、判斷的依據(jù)等,建議研制單位據(jù)此進行作戰(zhàn)模型開發(fā),驗收機構據(jù)此進行作戰(zhàn)模型驗收。
圖1 作戰(zhàn)模型開發(fā)流程
(1)作戰(zhàn)模型認證:由模型提供者向模型認證機構提交作戰(zhàn)模型數(shù)學公式及其相關說明,模型認證機構根據(jù)模型名稱、模型功能、模型關鍵字等信息在模型庫中檢索該模型是否已存在,如果不存在,則對其進行認證,如果通過認證,則執(zhí)行(2),如果沒有通過認證,則不開展后續(xù)工作;
(2)分析模型是否能分解:由模型認證機構分析模型是否能分解,應考慮的因素有:
①該模型是否可以拆分成幾個組成部分,被拆分部分是否具有共性,可被其它模型廣泛使用;
②該模型是否已包含由其它模型實現(xiàn)的部分;
如果模型可以分解,則進行模型分解,執(zhí)行(3)。如果不可以分解,則執(zhí)行(6);
(3)判斷子模型是否已存在:由模型認證機構從模型庫中檢索分解出來的子模型,如果存在,則執(zhí)行(4),如果不存在,則執(zhí)行(5)。
(4)獲取分解的子模型:從模型庫中獲取子模型,執(zhí)行(6)。
(5)子模型實現(xiàn):模型開發(fā)方對子作戰(zhàn)模型進行程序實現(xiàn);
(6)本模型實現(xiàn):模型開發(fā)方對本作戰(zhàn)模型進行代碼實現(xiàn),根據(jù)需要調用子模型;
(7)作戰(zhàn)模型測試:模型開發(fā)方對開發(fā)的作戰(zhàn)模型進行測試;
(8)作戰(zhàn)模型驗收:作戰(zhàn)模型提交至模型認證機構,由模型認證機構對作戰(zhàn)模型進行驗收和入庫管理。
作戰(zhàn)模型開發(fā)建議遵循如下準則:
(1)作戰(zhàn)模型編碼應規(guī)范化。對每一個作戰(zhàn)模型進行編碼,作戰(zhàn)模型編碼是作戰(zhàn)模型的唯一標識符,應遵循一定的編碼規(guī)則。作戰(zhàn)模型編碼可考慮模型分類、模型性質、模型用途等;
(2)新建或組合模型時,應考慮已有模型的重用;
(3)作戰(zhàn)模型應與數(shù)據(jù)分離,作戰(zhàn)模型所需參數(shù)數(shù)據(jù)由作戰(zhàn)輔助決策系統(tǒng)從數(shù)據(jù)庫、數(shù)據(jù)文件、或者應用上下文環(huán)境中提取,或者由界面輸入,或者由另一個模型的輸出結果提供。即模型只負責根據(jù)輸入參數(shù)進行計算并返回計算結果,不負責對數(shù)據(jù)進行存取操作。
(4)作戰(zhàn)模型應具有異常處理和排錯功能,對非法的參數(shù)、參數(shù)越界等異常或錯誤應有返回值(錯誤號)。對每個模型、每種錯誤的錯誤號分配應規(guī)范化,錯誤號由模型編碼和錯誤標識號組成,全局唯一,每個錯誤號均對應一個錯誤信息,通過拋出錯誤號將錯誤信息反饋至上層調用者。
對每個作戰(zhàn)模型均提供XML格式的規(guī)范化參數(shù)描述文件,描述該作戰(zhàn)模型輸入輸出參數(shù)情況,包括每個參數(shù)的名稱、標識、涵義、類型、量綱、精度、取值范圍、輸入輸出性質、輸入來源、缺省值等等。
為每個作戰(zhàn)模型提供調用接口,作戰(zhàn)模型之間,以及作戰(zhàn)輔助決策系統(tǒng)與作戰(zhàn)模型之間的參數(shù)傳遞依據(jù)參數(shù)描述文件通過調用接口成員函數(shù)實現(xiàn)。
模型開發(fā)方依據(jù)需求規(guī)格和設計說明文檔,編制測試計劃和測試說明對作戰(zhàn)模型進行邊界測試、接口測試、功能測試和性能測試等,形成相應的測試報告。在作戰(zhàn)模型驗收時,測試報告應提交給模型認證機構,作為驗收依據(jù)之一。
作戰(zhàn)模型開發(fā)、測試完畢后,應向模型認證機構提交以下產品用于驗收入庫:(1)模型描述信息;(2)模型引用情況;(3)參數(shù)描述文件;(4)模型實現(xiàn)文件;(5)模型成果描述。
1.5.1 模型描述信息
模型描述信息包括模型的名稱、編碼、類型、功能、適用范圍、數(shù)學公式等關于模型的說明[1]。
模型描述信息要素要求:
(1)模型名稱,應簡練并明確表示出模型的主題,使之與其它模型相區(qū)分;
(2)模型編碼,應對作戰(zhàn)模型給出唯一編碼,遵循作戰(zhàn)模型編碼規(guī)范;
(3)模型類型,應遵循一定的分類原則對作戰(zhàn)模型進行分類,可以有多個分類原則,和多個分類描述,如按作戰(zhàn)模型的級別
可分為戰(zhàn)略、戰(zhàn)役、戰(zhàn)術、平臺、武器等5類;
(4)模型功能,應簡練并明確表示出模型的功能;
(5)模型適用范圍,應簡練并明確表示出模型的適用范圍;
(6)模型版本,描述模型的當前版本信息,用4位數(shù)字字符表示為“X.X.X.X”形式;
(7)模型數(shù)學公式,應遵循GB/T 1.1 2009規(guī)定的數(shù)學公式規(guī)則進行表述,應說明公式中每個參數(shù)的名稱、含義、類型、量綱、精度、取值范圍等等。
1.5.2 模型引用情況
模型引用情況描述作戰(zhàn)模型對其他模型的引用情況,要素包括本模型名稱、本模型編碼、引用模型名稱、引用模型編碼。
模型引用情況要素要求:
(1)本模型名稱,應與模型描述信息中的模型名稱保持一致;
(2)本模型編碼,應與模型描述信息中的模型編碼保持一致;
(3)引用模型名稱,應與模型庫中的描述保持一致;
(4)引用模型編碼,應與模型庫中的描述保持一致。
1.5.3 參數(shù)描述文件
對每個作戰(zhàn)模型均提供XML格式的規(guī)范化參數(shù)描述文件,在參數(shù)描述文件中,描述該作戰(zhàn)模型接口包含輸入輸出參數(shù)情況,包括每個參數(shù)的名稱、標識、類型、量綱、精度、取值范圍、涵義、輸入輸出標識、輸入來源、缺省值等等[1]。
參數(shù)描述文件要素要求:
(1)參數(shù)名稱,應簡練并明確表示出參數(shù)的含義,使之與模型中其它參數(shù)相區(qū)分;
(2)參數(shù)標識,對參數(shù)進行唯一編碼;
(3)參數(shù)涵義,給出該參數(shù)所包含的意義;
(4)參數(shù)類型,取值范圍為整形、字符型、浮點型、日期型;
(5)參數(shù)量綱,應使用GB3101、GB3102各部分給出的量綱;
(6)參數(shù)精度,對于浮點數(shù),應明確精確到小數(shù)點后多少位;
(7)參數(shù)取值范圍,對于數(shù)值類型(整形或浮點型),且有取值范圍,應給出其最大值和最小值;對于字符類型,應給出字符最大長度;
(8)輸入輸出性質,標識出該參數(shù)是輸入參數(shù)還是輸出參數(shù);
(9)輸入來源,描述輸入參數(shù)的可能來源;
(10)參數(shù)缺省值,參數(shù)如果有缺省值,應給出其缺省值。
1.5.4 模型實現(xiàn)文件
應提供模型源程序文件、模型目標文件、模型幫助文件等模型實現(xiàn)文件[1][2]:
(1)模型源程序文件:包括源代碼相關的內容;
(2)模型目標文件:作戰(zhàn)模型以動態(tài)庫(DLL)形式封裝,以動態(tài)庫(DLL)形式提供模型目標文件;
(3)模型幫助文件:以PDF格式/WORD格式提供如何調用模型的說明。
1.5.5 模型成果描述
模型成果描述包括模型研制情況、模型審核情況、模型批準情況等[1]。
模型成果描述要素要求:
(1)模型研制情況:提供模型研制情況的相關說明,包括研制單位、研制人員、研制開始時間、研制結束時間、版本信息等。
(2)模型審核情況:提供模型審核情況的相關說明,包括審核單位、審核人員、審核時間、審核信息等。此信息由模型認證機構填寫。
(3)模型批準情況:提供模型批準情況的相關說明,包括批準單位、批準人員、批準時間、批準信息等。
1.5.6 作戰(zhàn)模型驗收入庫
模型認證機構根據(jù)作戰(zhàn)模型驗收準則、測試用例、測試規(guī)程和測試數(shù)據(jù),對模型開發(fā)方提供的作戰(zhàn)模型進行驗收,對模型開發(fā)方提供的文檔齊套性進行檢查。通過模型管理系統(tǒng),將驗收合格的作戰(zhàn)模型入庫。包括模型描述信息、模型引用情況、參數(shù)描述文件、模型實現(xiàn)文件、模型成果描述等。
作戰(zhàn)模型調用是指作戰(zhàn)輔助決策系統(tǒng)通過作戰(zhàn)模型提供給外部的接口對作戰(zhàn)模型進行調用。
作戰(zhàn)模型可以被其它作戰(zhàn)模型或上層作戰(zhàn)輔助決策系統(tǒng)調用。對作戰(zhàn)模型的調用通過調用作戰(zhàn)模型提供的接口實現(xiàn)。
圖3描述了一個作戰(zhàn)模型的調用流程,它明確了作戰(zhàn)輔助決策系統(tǒng)以及其它作戰(zhàn)模型等應用對作戰(zhàn)模型進行調用的步驟、調用過程中應考慮的因素、實施的內容等。建議研制單位據(jù)此進行作戰(zhàn)模型的調用。
圖3 作戰(zhàn)模型調用流程
(1)分析所需作戰(zhàn)模型:根據(jù)作戰(zhàn)輔助決策的內容和過程分析各個階段需要用到的作戰(zhàn)模型;
(2)獲取所需作戰(zhàn)模型:通過模型認證機構從模型庫中導出相關作戰(zhàn)模型;
(3)安裝作戰(zhàn)模型至開發(fā)環(huán)境中;
(4)對于每一個作戰(zhàn)模型的調用,則:
(5)獲取作戰(zhàn)模型所需參數(shù):如果是作戰(zhàn)輔助決策系統(tǒng)調用,則根據(jù)需要從人機交互界面或數(shù)據(jù)庫中獲取作戰(zhàn)模型所需的數(shù)據(jù)進行傳遞,如果是其它作戰(zhàn)模型調用,則直接從程序中傳遞參數(shù);
(6)調用作戰(zhàn)模型:按照模型接口調用方式對作戰(zhàn)模型進行調用;
(7)接收作戰(zhàn)模型計算結果。
作戰(zhàn)模型之間、作戰(zhàn)輔助決策系統(tǒng)與作戰(zhàn)模型之間的輸入輸出參數(shù)傳遞通過調用接口類的成員函數(shù)實現(xiàn)。
對作戰(zhàn)模型開發(fā)與調用進行規(guī)范化不僅能提高作戰(zhàn)模型開發(fā)效率,保證作戰(zhàn)模型的有效性,還能提高作戰(zhàn)模型的可用性和可信度,保證作戰(zhàn)模型的使用效果。具體項目可根據(jù)實際情況參照此規(guī)范化建議進行相應調整后實施。
作戰(zhàn)模型是作戰(zhàn)輔助決策系統(tǒng)中用到的專用模型庫,除此之外還有基礎模型庫、通用模型庫等,也可以參照此規(guī)范化建議進行開發(fā)和調用。
[1]鄧蘇,張維明,黃宏斌等.決策支持系統(tǒng)[M].北京:電子工業(yè)出版社.2009.
[2]劉永.IDSS中面向對象模型庫與知識庫的協(xié)同研究[D].西北工業(yè)大學碩士學位論文.2005.