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