傅妤華,李京紅
(1.復雜系統仿真國家重點實驗室,北京100101;2.總參第61研究所,北京100141)
美軍對于VV&A的研究起源于20世紀60年代,并在70年代到80年代之間得到快速發(fā)展,建立了VV&A概念體系及技術框架,發(fā)展到目前,VV&A仍然處于一個不斷發(fā)展、完善的過程中,VV&A的思想理念不僅在建模與仿真領域牢固樹立,并逐漸滲透到其他相關工程領域,VV&A工作已經成為減少風險、節(jié)約開發(fā)成本、提高產品可信度和可用性的重要手段。與此同時,隨著VV&A受重視程度提高和應用范圍擴大,VV&A管理與技術體系日趨完善,形成了相對較為完善的政策、程序、方法、技術和工具體系,并向標準化邁進。
美國國防部針對建模與仿真領域VV&A過程制定的技術文件主要包括:90年代初,頒布了第5000.61號國防部指令《國防部建模與仿真校核、驗證與確認》,提出了建模與仿真VV&A的概念;1996年,修正該指令,并推出指導性文件《國防部建模與仿真校核、驗證與確認實踐指南》(RPG,DOD VV&A Recommended Practices Guide),定義了國防部進行校核、驗證與確認工作時采用的原理、方法、推薦的使用流程等。該指南發(fā)布后得到了廣泛的接受,成為美軍VV&A政策的基礎,并應用在了許多大型仿真系統的開發(fā)與應用中,如JADS、JWARS、JSIMS等,同時這些大型仿真系統的開發(fā)應用反過來促進指南的進一步修改完善;2000年5月,根據用戶使用第一版指南后的反饋情況,針對指南中多樣性、普適性、可操作性不強等存在的問題,完成了該指南的第2個版本即VV&A RPG Build 1.0的修訂工作,該版本相比第一版?zhèn)戎赜诶碚摱愿鼈戎赜趯嵺`;2001年1月,在增加了一些特殊主題如仿真逼真度、存在的風險對VV&A的影響、校核驗證技術、校核驗證工具等內容,以及對主要的功能進行更新之后,形成了該指南的第3個版本即VV&A RPG Build 1.5;2001年4月,修訂了VV&A RPG Build 2.0,增加遺留仿真系統的VV&A、遺留仿真系統數據的VV&A、人的行為表示驗證方法等內容;2006年9月,增加了戰(zhàn)場環(huán)境建模仿真的VV&A、聯邦及其盟員的VV&A等內容,并對驗證技術進行詳細描述,完成了VV&A RPG Build 3.0的修訂工作;2008年1月,國防部頒布了建模仿真VV&A模板《Templates for the VV&A of Models and Simulations》,并在此基礎上形成了國防部VV&A實踐標準,即MIL—STD—3022,該標準分為四個報告,分別為校核驗證計劃報告、校核驗證報告、確認計劃、確認報告。
JWARS是美國國防部從1995年開始,歷時十余年開發(fā)的一個一體化的、聯合的、基于感知的戰(zhàn)區(qū)作戰(zhàn)仿真分析系統,也是其《國防部建模與仿真校核、驗證與確認實踐指南》修訂過程中的探路者與在新建仿真系統中應用該指南進行VV&A的實踐者。JWARS開發(fā)過程中VV&A工作貫徹始終,并形成了大量的過程文檔,包括多個不同版本的JWARS校核驗證計劃文檔、JWARS校核驗證過程文檔、JWARS校核驗證報告文檔等,為國防部VV&A指南的修訂、VV&A文檔標準的頒布都奠定了堅實的基礎。
JWARS系統VV&A過程始終從用戶角度出發(fā),對整個開發(fā)過程進行廣泛的需求跟蹤,以確保所有的需求得到驗證,同時對仿真的可信度是否滿足預定應用進行分析并給出結果。因此,在整個項目開發(fā)過程中用戶的參與程度都是空前的。JWARS系統中VV&A的工作過程包括九個階段,每個階段分類為校核或驗證,若將產品與設計進行比較則該活動歸類為校核,若將產品與真實世界進行比較則歸類為驗證。這九個階段分別為:聯合應用設計(Joint Application Design,JAD)校核與驗證,任務空間概念模型(Conceptual Model of the Mission Space,CMMS)驗證,模型驗證可接受準則(Model Validation Criteria,MVC)開發(fā)與批準,概要設計校核,詳細設計校核,算法驗證,代碼校核,實現校核,結果驗證。
值得注意的是,VV&A的工作過程并不是JWARS系統開發(fā)生命周期中的一個獨立的階段或步驟,而是與項目同步進行并貫穿始終的,如圖1所示為JWARS集成的軟件開發(fā)與VV&A過程。在系統開發(fā)生命周期的每個階段,都有相應的VV&A的工作,以確定在該階段存在的不足之處,以便及時修正和改善。同時有力加強了產品供需雙方之間的協調和溝通,通過VV&A,開發(fā)過程各個階段各種必要的信息在開發(fā)商和需求方之間流動,使產品更滿足實際需求,工作結果具有可預測性。
VV&A既是個技術過程,同時又是個管理過程。在JWARS系統開發(fā)VV&A的管理體系中包括三個主要的群體,分別為驗證代理、校核代理,和V&V代理。他們在VV&A工作中應當各負其責,既有分工,又有合作。表1給出了JWARSVV&A活動中不同角色的任務。
表1 不同角色在VV&A活動中的任務
(1)驗證代理。JWARS用戶在軟件開發(fā)過程中扮演著重要的角色,JWARS的成功主要依賴于極大程度上增強了模型的用戶可接受性。JWARS辦公室在項目研發(fā)之初就明確了與用戶的緊耦合,該用戶群主要由分析人員組成,其最主要的功能在于正式形成并批準關鍵問題分析、效能評估指標,這些是形成模型驗證可接受準則(MVC)的基礎。用戶群在軟件系統的開發(fā)過程中參與V&V代理組織的回顧和分析的討論會,為V&V工作提供所需的作戰(zhàn)數據和專家意見。
(2)校核代理。校核代理是由項目發(fā)起人指定的,完成模型、仿真或聯邦的校核任務的組織。校核代理的活動通常需要與軟件開發(fā)者進行大量交互。JWARS項目中由V&V代理兼作為校核代理。
(3)V&V代理。JWARS項目中由具有V&V資質的BMH—IMC公司擔任V&V代理,具體負責組織并勘漏所有的V&V活動,向校核代理和驗證代理提供技術支持,在V&V過程的各個階段追蹤并確保領域專家和分析用戶的每一條建議和意見被考慮并得到了妥善的解決,同時負責在每個V&V活動結束后形成相應的V&V結果報告。
在JWARS系統校核與驗證過程中的每一步都必需要使用各種V&V方法和技術作為具體操作手段,依據國防部VV&A實踐指南,按照復雜程度不同,V&V技術分為非形式化V&V技術、形式化V&V技術、靜態(tài)V&V技術和動態(tài)V&V技術等四大類。以下從V&V活動的類型、該階段軟件開發(fā)與V&V活動的流程、責任方、所應用的V&V技術以及該階段V&V活動產品五個方面對JWARS系統中VV&A的技術過程進行分析。
聯合應用設計是JWARS需求和JWARS系統開發(fā)合同承包商之間的“接口”文檔,聯合應用設計中的每個條目對應確定某項需求的內容和約束所需的信息。
聯合應用設計的校核的目標是確保從應用需求文檔派生出來的需求及其解釋正確反映了原始的需求,每一條設計可以追溯到原始需求,以及每個原始需求都在聯合應用設計中進行了明確的闡述,同時確保聯合應用設計中包含了所有所需的信息類型,格式正確。在該活動中所用的技術手段包括可追溯性評估、檢查,以及應用CMMS工具集中的自動化工具。
聯合應用設計的驗證過程開始于由用戶代表和主題專家發(fā)起的聯合應用設計討論,V&V代理將參加每個會議并記錄用戶代表和主題專家提出的問題,這些問題清單將在會后提交給JWARS辦公室,說明問題,關于問題的討論,以及處理該問題的建議。
聯合應用設計的校核與驗證活動的產品是一份文檔報告,包括對聯合應用設計進行V&V活動的內容、活動的結果,以及未進行V&V活動部分內容(如果存在)的建議意見。該報告被提交給聯合分析建模改進項目執(zhí)導委員會,只有被認可的聯合應用設計才能在隨后的系統開發(fā)與V&V活動過程中被應用。
任務空間概念模型(CMMS)是對真實世界的第一步抽象,在JWARS,CMMS是對JWARS所要仿真的對象的實體、過程和交互的描述。
CMMS驗證的目的即確保CMMS開發(fā)過程中確實應用了權威信息,文檔格式符合標準,所表示內容是對實體、過程和交互的正確描述。驗證內容包括對物理元素(系統、實體、單元、兵力等)的驗證,以及對與物理元素相關的行為過程(任務)的驗證。
CMMS驗證活動中采用的技術手段主要是由代表用戶方的主題專家進行檢查。CMMS驗證活動的產品是CMMS驗證報告,提交給聯合分析建模改進項目執(zhí)導委員會。
MVC是進行結果驗證和算法驗證的基礎,用于表達為了使仿真能夠在預期的應用中具備可用性,則仿真必須具備與真實世界多“小”的差別。可接受準則從仿真的分辨率、逼真度和正確度等方面進行定義,其本身由兩部分組成:驗證準則項,每項準則的度量方法。其中,準則定義了需要對仿真世界與真實世界進行比對的特征(包括功能、過程和實體),準則的度量方法則從仿真預期應用的角度建立、量化這些特征應該與真實世界的接近程度。
最初的MVC開發(fā)由V&V代理完成,并根據JWARS辦公室、系統開發(fā)人員、系統用戶的需要進行修改,MVC最后由用戶進行批準。
MVC批準采用的技術手段包括審核,批準后的可接受準則用于后續(xù)系統開發(fā)和V&V過程。
概要設計開發(fā)是設計階段解決“問題”的第一步,是軟件的頂層設計,對于系統或部件分析各種設計方案和定義體系結構、部件、接口。一個有效的概要設計是模型開發(fā)的結構性基礎,是將需求轉化為詳細設計框架的中間環(huán)節(jié)。
概要設計校核的目的是為了確保軟件、模型規(guī)劃的功能能夠滿足需求。
概要設計校核所采用的方法包括V&V組織的用戶審核、領域主題專家檢查和對專家意見的追蹤評估。概要設計校核活動的產品是一份校核結果報告。
概念模型是仿真開發(fā)人員將建模需求轉化為詳細設計框架的方法,從該概念模型可以建立仿真軟件。建模需求包括從CMMS產品中得出的軍事領域需求,從MVC產品中得出的使用需求,以及源于概要設計的系統設計需求。概念模型應該包括用于滿足需求的公式和算法的描述,以及公式、算法或解決方法中的假設和限制的描述,概念模型要對這些假設和限制對仿真最終滿足JWARS需求的能力進行確認。
概念模型驗證在JWARS中不專門進行,但在軟件開發(fā)產品組件的校核驗證過程中實現。
詳細設計提供軟件工程師編寫代碼需要的信息,包括排序信息、算法、假設(數學,結構和因果關系)、接口協議、數據等。算法是仿真中必須表達的過程的數學和邏輯公式。
詳細設計校核與算法驗證的目的是:確保詳細設計的內容是完整的;確保詳細設計的每一個組件可以追溯到概要設計;根據其預定的目的,評估詳細設計中的算法所采取的數學近似相對于現實世界具備足夠的精確度;確定這些近似和算法所需的數據是否能夠獲得并經過驗證。
詳細設計校核主要采用靜態(tài)和非形式化技術,其方法包括:可追溯性評估,數據分析,接口分析,算法分析,檢查,審核。算法驗證在國防部VV&A實踐指南中沒有作為一項技術進行具體討論,主要采取由數學家和建模專家對滿足特定目的的算法的準確性和充分性進行評估。
代碼是實際的應用軟件。由于軟件很少沒有錯誤,軟件組件或模塊需要測試,以確保它們的功能正確。代碼校核是對軟件進行測試的最低層次,是由軟件開發(fā)人員根據測試計劃進行的,跟蹤代碼功能追溯到詳細設計。
代碼校核可能采用的方法包括:功能測試、接口測試、回歸測試、可追溯性評估。具體方法將由JWARS開發(fā)人員選定并由開發(fā)商執(zhí)行。V&V代理將審查代碼校核報告并在實現校核中使用該結果。
實現校核是V&V代理校核開發(fā)人員正確地實現了詳細設計的一系列活動,實施校核的目的是要確保組成仿真系統的軟件組件和模塊根據詳細設計實現。
實現校核主要采用靜態(tài)技術和動態(tài)技術,具體方法包括:敏感性測試、一致性測試、用戶界面測試、alpha測試、beta測試、回歸測試、統計分析、可視化、可追溯性評估。
在該過程中,V&V代理將與開發(fā)人員一起,確保有足夠的測試促進校核的實施。實現校核的產品是一份校核結果報告。
結果驗證是在通過以上校核活動確保執(zhí)行了正確的系統開發(fā)過程的基礎上,評估建立的系統是否正確。其目的是通過對結果的可信度比對,確保系統對真實物理現象再現的逼真度。結果驗證既包括仿真系統的整體驗證,也包括選擇模型的驗證。一般先對模型組件進行單獨驗證,然后合成相關組件進行綜合驗證,最后對整個系統進行完整驗證。
結果驗證實施過程需要驗證工具和驗證數據的支持,過程中包括仿真結果輸出與作戰(zhàn)、演習結果的比對,與以往收集的試驗數據的比對,敏感度分析,或與專家意見的比較。
V&V代理對結果驗證負有主要的責任。結果驗證的產品是一份結果報告,基于MVC評估模型相對現實世界的功能、分辨率、逼真度和準確度評估。
研究美軍VV&A的情況,對于我軍重點武器裝備體系研究模型、數據、仿真系統VV&A的開展,具有重要的參考意義。JWARS系統在系統研發(fā)之始即遵從國防部VV&A實踐指南建立了規(guī)范的管理與技術體系,從而確保全系統、全過程、第三方、采用科學的方法手段為大型仿真系統的開發(fā)保駕護航。對比JWARS系統VV&A實施過程和國防部VV&A實踐指南,在實踐過程中并不是簡單照搬指南的管理模式和工作程序,針對具體項目的VV&A任務,管理機制可以精簡,工作項目和工作內容可以裁減,而且在每一個步驟中并不是一個簡單的選擇和運用V&V技術的過程,它要求工作人員不僅要對仿真的預期應用具有深入透徹的了解,而且還要具備M&S開發(fā)應用的專門知識以及豐富的M&S開發(fā)經驗。除此之外,創(chuàng)造性的運用各種技術能力以及對問題準確分析、把握的洞察力也同樣重要。