鄭世明,徐新偉,朱 江
(陸軍指揮學院作戰實驗室,江蘇 南京 210045)
世界各國武器裝備體系研究實踐表明,仿真分析是支撐武器裝備體系規劃論證、效能評估、編配優化、在役考核等應用研究的有效手段。現階段,我軍瞄準世界領先技術水平,成體系、成建制發展陸、海、空、天、電等多維空間武器裝備體系的需求對于仿真系統支撐手段提出了更高要求,迫切需要能夠滿足不同武器裝備在聯合戰場環境背景下成體系運用的仿真支撐平臺和應用環境,而仿真應用的核心是模型與平臺。經過多年來裝備體系仿真與建模的積累,在各軍兵種院校、科研院所已經相繼開展了各種類型的裝備建模仿真與應用研究,但是較多建模仿真應用僅僅是滿足自身的仿真需求,不同的仿真系統在模型、數據等方面是相對獨立的,仿真資源無法充分共享,系統之間的交互能力較弱,形成了若干仿真應用的煙囪和壁壘,難以成體系展開運用[1]。針對各軍兵種對武器裝備體系仿真應用的現實需要,探索能夠綜合利用和分類管理的開放式平臺框架,對于綜合集成、整合各類仿真資源,使其成體系化、規范化、模塊化,并具有可重用、可集成、可互聯、可組合、可定制的應用特點,便于不同仿真資源在統一的仿真框架控制下,實現動態重構和靈活組合,以滿足不同類別的仿真應用。因此,面向武器裝備體系開展基于構件的敏捷仿真框架研究對于武器裝備作戰需求分析、應用理論創新、裝備發展與論證、武器裝備概念細化與技術開發、武器裝備運用演示驗證等研究具有重要的現實意義和指導作用。
基于構件技術構建敏捷仿真框架的目的是實現仿真業務的松耦合,通過組件化的功能組裝,實現系統的快速重構,并達成仿真應用系統內部高度匹配,系統間適度耦合,且系統之間交互時主要是通過相應的標準接口完成數據、模型交互,避免繁瑣的通信和協議交互,具備快速響應仿真需求的能力。
敏捷仿真框架應在總體框架的支撐下,建立技術體系框架、仿真功能框架、數據組織框架和應用體系框架,如圖1所示。其設計的主要內容包括:1)構件化、服務化的總體框架;2)可擴展的分布式并行仿真引擎;3)構件化模型建模方法及工具;4)完備的仿真功能框架及應用二次開發SDK。需要解決的問題主要是三個:一是解決武器裝備體系敏捷仿真框架的開放性、可擴展性和靈活性等問題;二是解決服務裝備體系建模仿真的可重用性、靈活性和通用性問題;三是解決基于敏捷仿真框架的應用系統快速重構問題。

圖1 敏捷仿真框架總體描述
自20世紀末,從企業制造到組織管理,從軟件工程到軍事力量建設,理論界與實業界都提出了對組織實體“敏捷性”的強烈需求,并相繼展開了一系列的理論探索和工程實踐。以1991年美軍Iacocca研究所提出“敏捷制造”(Agile Manufacturing,AM)為起點,領域專家和相關學者對企業敏捷性及其相關內容進行了深入的研究,相繼提出了柔性制造(Flexible Manufacturing,FM)、智能制造(Intelligent Manufacturing,IM)、虛擬制造(Virtual Manufacturing,VM),以及敏捷制造(Agile Manufacturing,AM)等理論。同時,外軍首先將敏捷方法和思想用于指揮控制系統的建設中,以美國為首的北約軍事領域專家相繼組建了SAS-050、SAS-065、SAS-080、SAS-085等研究小組[2]。
外軍雖然尚未提出敏捷仿真框架的概念,但是從現有的仿真框架來看,也有一些與之十分相似的描述和目標,主要有FLAMES、OneSAF和XMSF 等。FLAMES(Flexible Analysis Modeling and Exercise System)是一個具有柔性特征的仿真框架,主要是針對作戰行動開展仿真系統的開發與應用,滿足不同仿真應用對模型構建的需要。采用面向對象和面向過程的多種建模方法,具有易使用、開放體系和高度定制化的特點。美國陸軍下一代一體化的CGF仿真系統OneSAF(ONE Semi-Automated Force)系統及其模型框架按照組合—產品—組件的體系模式定義其模型體系結構,按照組件化的設計思想,支持多層次、多分辨率模型的組合,整個體系具有靈活性、可擴展性、集成性等特點。XMSF(eXtensible Modeling &Simulation Framework)可擴展建模仿真體系框架是美國海軍研究生院與SAIC公司等機構提出并啟動的一個建模框架,XMSF定義為一組基于Web的建模與仿真的標準、描述以及推薦準則的集合,其核心是采用通用的技術、標準和開放的體系結構促進建模與仿真應用在更大范圍的互操作性和重用性[3]。
我國學者對于構件化和敏捷方法也進行了跟蹤研究,對于敏捷性的理解和拓展也較為豐富,先后提出了分散化網絡制造、精益-敏捷-柔性生產系統(Lean-Agile-Flexible,LAF)等理論。綜合國內外相關研究成果,可以認為仿真領域的“敏捷性”是指在多種仿真應用需求和不可預見的環境中,仿真組織具有應對需求快速變化的柔性和響應能力,從而可以快速、靈敏、積極、有效地響應復雜裝備體系仿真應用變化,滿足不同用戶的仿真需求。實際上構件技術與敏捷方法在建模仿真領域已經得到高度關注,只是有的學者并沒有明確提出“敏捷”的概念,實際上在內涵和外延上與其有共識。仿真技術的發展推動了仿真框架技術的進步和完善,CISE(Component-based Integrated Modelingand Simulation Environment)是北京仿真中心開發的基于組件的集中/分布/并行一體化建模仿真環境。該平臺有效改善了現有仿真互操作和可重用性受限、可擴展性不強等缺點,同時融合并行仿真、可擴展的建模與仿真框架(XMSF)、基于模型驅動的體系結構(MDA)等技術,已在國內主要的復雜系統仿真中得到成功應用,成為復雜系統設計、驗證的主要平臺工具[4]。李文杰等提出了基于構件的多粒度森林仿真系統開發方法,從系統框架描述、設計方法以及實踐應用等方面闡述了敏捷仿真系統的軟件開發方法[5]。華中科技大學朱衛鋒等開展了敏捷后勤仿真系統設計研究,提出了基于時間步進的事件調度仿真策略,給出了敏捷后勤的分布式仿真體系結構,并闡述了敏捷后勤系統仿真程序設計與實現過程[6]。中國電子科技集團29所臧維明等提出了一種跨平臺敏捷式動態可重構系統框架研究,分析了該框架的工作原理和關鍵技術,并在ARM和DSP等多種嵌入式處理平臺上進行了工程應用驗證,具備了硬件感知和組件動態重構能力,以及模塊化圖形化的系統配置能力[7]。
2.1.1 概念內涵
構件這一專業術語來自于建筑業,借鑒建筑業的構件理念,也有專家學者稱為“組件”,構件化方式是實現軟件重用的重要方法和途徑,是一種以專業化、標準化、模塊化方式快速進行軟件研發的批量化生產方式[8]。在仿真領域,構件的內涵主要包括:一是從功能結構上看,構件是一個具有獨立功能的模塊,這種功能模塊粒度可以根據需要自行定義和生成,既可以是最小的功能單元,也可以是初步組合后的較大粒度的功能實體;二是從描述方式上看,遵循通用的描述方法和規范,每一個構件都有獨立、明確的功能,構件之間能夠相互識別和兼容,在統一的規范下提供交互訪問的接口,將對功能的具體開發轉化為對接口的識別與管理;三是從構件分類上看,可以是模型構件、算法構件、數據構件和軟件構件,根據應用對象和功能的差別,按需構建與使用,模型構件主要用于仿真模型的快速拓展,算法構件主要用于對各類算法的組合以滿足更為復雜的應用,數據構件主要用于對數據庫的快速生成、數據組織管理和集成應用,軟件構件則是應用系統層的快速重組以滿足更高級別的應用。
2.1.2 主要特征
在建模仿真領域,構件應具有以下特征:一是自描述性,構件必須能夠對其所具有的屬性、對外提供的功能以及運行所依賴的條件進行說明,以使構件使用者可以準確理解構件的行為和執行環境;二是封裝性,構件的實現是嚴格封裝的,強調與環境和其他構件的分離,外界無須理解構件內部的實現細節;三是獨立性,構件是可獨立配置的單元,可在不同的環境下進行裝配,并能夠運行在不同的平臺上;四是可替換性,在無需對系統其他部分進行改造的情況下,符合特定標準的構件能夠互相替換,并且不會對系統造成任何不良影響;五是組合性,通過一定的連接機制,構件(模型、算法、功能)可以在集成環境下,按照一定的語法或語義信息組合成更大的構件,提供更完整、更豐富的功能。
2.2.1 概念內涵
通常意義上來說,敏捷性是應對外界環境變化的一種能力,敏捷性表現為適應性、柔性、魯棒性、響應性等。在仿真領域,敏捷性是一種能夠針對復雜裝備體系仿真系統的建設和應用需求開展不同類型仿真應用的能力。敏捷性與不確定性、可變性、可適應性、柔性等概念密不可分,仿真框架的敏捷性是指在仿真框架的支撐下能夠通過構件化的功能單元快速組合、按需裝配和體系管理,以對不斷變化和難以預測的仿真應用需求做出快速、高效的響應[9]。概括起來,主要表現為五個敏捷:重構敏捷、擴展敏捷、響應敏捷、組合敏捷、管理敏捷。其主要目標就是要解決好仿真應用的不確定性、仿真應用系統功能的可變性、多分辨率仿真模型的可適應性以及仿真框架支撐構建仿真應用系統的柔性、可擴展性、易維護性等問題。
2.2.2 主要特征
針對武器裝備體系仿真框架的敏捷性而言,主要表現為:響應性、多能性、重構性、適應性、靈活性和可擴展性等。響應性是指在最短的時間和最少的成本代價下滿足應用需求。多能性是指能夠根據武器裝備體系規劃論證、作戰運用效能評估、裝備編配優化、作戰概念演示與驗證等仿真需求展現出不同的應用能力。重構性是指對模型、算法、數據和功能模塊的快速重構,而無須重新開發的一種設計能力。適應性是指隨著仿真需求的不斷變化,能夠快速有效進行結構調整以維持良好的系統性能。靈活性是指應對新的仿真應用時,在模型構建、數據表示、功能定制和流程再造等方面相比于其他的方法更易于實現,更好地滿足需求;可擴展性是指在建模過程中的一種適應變化的能力,從建模方法上看,是一種設計方法上的可擴展。
2.3.1 概念內涵
框架是進行軟件復用的基礎,仿真框架是一種開發仿真應用軟件的支撐工具,主要完成對軟件系統的總體設計與擴展集成,對于系統的組成元素、功能布局、接口關系以及運行機制等進行全局組織和整體控制。敏捷仿真框架則是一種能夠快速滿足仿真需求、靈活重構仿真系統、迅捷拓展仿真系統功能的重要開發工具,基于構件的敏捷仿真框架,則通過構件替代框架內部相互協作的類,通過不同類型構件的接口調用和組裝實現框架擴展機制,以形成構件大型復雜應用系統的一整套解決方案[10]。
基于構件思想和敏捷方法搭建仿真框架,目的是將仿真系統中仿真模型、業務功能模塊、數據組織和仿真工具構件化,按照面向大型武器裝備體系仿真系統的需求,并行設計開發各種仿真構件,通過構件的有效組合快速重構仿真應用系統,從而提高仿真系統的開發效率。此外,基于框架的仿真構件組裝支持仿真模型、仿真算法、仿真功能的重用和快速替換,以實現仿真功能、應用流程的可定制,從而提高復用性、降低開發成本并提升仿真系統的可維護能力。
2.3.2 主要特征
敏捷仿真框架必須具備以下特征:1)領域專業性,能夠提供全流程規范化的組織與管理,具備標準化的設計能力,滿足仿真專業性的需求;2)體系柔性,能夠采用標準化接口,基于統一仿真框架,構建具有底層一致性的系列仿真應用軟件,且具有不同的底層功能模塊組合,并以配置文件的形式組合各應用模塊;3)高度重用性,基于復用思想,采用構件化的設計模式和實現方法,在模型重用、功能重用和數據重用的基礎上實現敏捷性系統的重構和可擴充;4)流程再造性,能夠依據不同的仿真需求對模型、算法、數據或功能模塊進行組合、集成與協同應用,具備功能定制和流程定制的能力;5)具有快速重構性, 能夠根據用戶需求,在仿真框架的支持下快速定制與構建新的仿真應用系統。
對于仿真框架的評估需要從可靠性、可用性、擴展性等多個屬性進行綜合評定,因此對敏捷仿真框架的評估可以看作是一種多屬性決策分析問題。
考慮到復雜武器裝備體系仿真應用的多種需求,仿真框架需要采用一種靈活、易擴展、開放性的柔性框架,既要體現軟件設計上的可重用性,也要考慮系統升級時的可擴展性。一方面,武器裝備的仿真應用涉及的領域較多、應用的范圍較廣,不斷增長的建模需求需要采用一種靈活的模型建模與組裝方式,支持面向武器裝備仿真的模型體系擴展。另一方面,敏捷仿真框架需要提供更多的應用支撐,這就對仿真框架本身提出了更高的要求[11]。因此,在框架設計上應體現重構上的靈活性,在功能拓展上體現便捷性和快速性,在系統部署配置上體現模塊化和松耦合性。基于柔性設計理念,采用“引擎+構件”的方式對敏捷仿真框架進行設計,框架對應仿真應用軟件系統的主框架,主要是負責提供公共服務及相應功能,是整個體系框架的內核,為整個體系提供應用框架。引擎主要是提供仿真處理的內核功能和構件處理功能,構件按照統一的規范提供各種功能接口,構件具有相對獨立性,是對專用功能的擴展設計,單個構件的加入或退出對仿真應用系統本身不產生影響,隨著功能需求的增加,按照構件的形式對平臺功能進行快速擴展,“平臺+構件”體系框架原理如圖2所示。
其中,引擎是仿真應用體系的基礎和核心,在引擎中按照內核功能、構件處理功能進行區分和構成,內核功能是整個仿真引擎的底層支撐,構件處理功能主要完成平臺功能的擴展,以及實現對構件的管理,包括構件定義、注冊、管理和協調等功能。構件定義主要是按照統一的規范對新的構件進行描述,構件注冊主要是將新加入的構件統一在平臺上注冊,并為其他構件提供調用功能。構件管理主要是平臺內注冊的所有構件按照統一的機制進行管理和協調,使得各構件之間能夠有序運行。
在這種仿真框架下,分別設計平臺擴展接口、構件接口兩種類型,接口的作用就是實現平臺與構件之間的信息交互,依托上述接口,構件獲取平臺中的各類資源和數據,平臺則可以調用若干構件的專用功能,實現資源、功能和機制等方面的優勢互補。這種設計方法能夠將擴展功能從框架中剝離出來,降低框架的整體復雜度,使框架能夠在一種松散耦合的狀態下實現對應用系統功能的不斷擴展,既保持構件的獨立性,也體現引擎的標準性,從而提升整個體系框架的擴展能力。
敏捷仿真平臺的邏輯結構必須具有適應仿真對象復雜多變、建模需求不斷擴展以及模型實現不斷更新完善的能力,仿真框架應是一種柔性、易擴展的結構,便于各個組成系統之間能夠以一種信息關聯緊密、組織結構松散的方式進行聯合運行。針對上述需求,在對仿真框架的邏輯結構進行設計時,采用敏捷方法對其結構進行組織與管理,如圖3所示。
其中,引擎采用微內核的方式進行設計,框架主要完成接口的描述和構件管理。從類型上看,主要有模型管理、數據管理、服務管理、事件管理等構件,這些構件均按照規范的接口進行統一描述,構件之間具有信息交互的能力。服務管理構件主要是提供一種服務管理器,所有的服務按照統一的方式進行描述、注冊和發布,以服務接口的形式對外提供服務功能,并以功能服務實例的方式進行封裝后發布與運行。時間管理構件主要是提供一種時間管理器,負責對仿真運行的各類時間管理,以統一的形式協調各功能構件之間的時間同步,所有與時間處理相關的功能由時間接口統一處理。事件管理構件主要是提供一種事件管理器,仿真過程實際上是對各類事件離散化處理的過程,而各類事件是按照一定的規則抽象形成,通過對事件的處理驅動仿真狀態不斷變化,根據事件的優先級以及發生的先后時間形成事件隊列。模型管理構件主要是以組件化方式完成對模型的組織、管理與交互,具體通過方案管理器、單元管理器、實體管理器以及組件管理器等完成。

圖3 敏捷仿真框架的邏輯結構

圖4 基于構件的裝備體系敏捷仿真框架總體結構
本文以流程驅動和功能定制的方式,采用模塊化“插槽式”設計方法,為仿真應用提供公共運行環境,依據仿真應用流程和業務邏輯的定制和組裝構件,將裝備體系仿真所需的模型構件、算法構件、數據構件等有機載入,根據不同的仿真需求采用復用方式快速生成仿真應用系統[12]。采用組件化技術實現對模型的重構、裝配,并以服務的方式實現模型封裝、組合和調用等,使不同類型、不同層次和不同粒度的裝備仿真模型以一種通用、統一的方式進行交互和共享。參照面向服務的體系結構,采用分層描述的方法,設計一種基于構件的敏捷化裝備體系仿真框架ASFESC(Agile Simulation Framework of Equipment System based on Component),將仿真框架分為四層:資源層、構件層、服務層和應用層,具體結構如圖4所示。
資源層主要解決資源的描述、組織和管理等問題,該層是仿真框架的基礎,包括數據、規則、模型、計算機以及存儲設備等各類基礎資源,其中,數據資源包括裝備性能數據、作戰編組數據、戰場環境數據、想定數據等,模型資源包括裝備模型和模型體系等,規則資源包括各類作戰行動規則、模型決策規則以及各類人機交互規則等,滿足裝備體系仿真應用對不同類型基礎資源的需求。
構件層是將不同層次、不同類別、不同粒度的模型、功能、數據等以構件(組件)的形式進行封裝,使得各類資源或工具在組織形式上表現為可重用的功能單元,構件層主要包括構件描述、構件定義、構件管理、構件驗證、構件配置、構件組合和組件封裝等,其主要任務是完成資源或功能的組合、裝配和重構。每個構件都會提供一個定義好的接口,可以與其他組件進行交互。
服務層主要是按照統一的訪問接口為仿真應用系統提供集成運行和仿真運行提供服務支撐,區分為通用服務和專用服務,服務使得仿真功能更加透明,用戶無須知道仿真實現的具體細節,通用服務是一種通用的服務形式,主要完成服務描述、注冊、發布、查詢、組合、傳輸和管理等。專用服務包括系統集成運行服務、構件化仿真模型服務和仿真引擎服務。
應用層是敏捷仿真框架根據裝備體系仿真業務需求的變化進行應用拓展和實現的核心,目的是實現應用系統模塊“高內聚、低耦合”,以模型管理、仿真推演、運行控制和分析評估為主體,通過模型集成、構件組裝、功能組合和系統重構等方式對構件式子功能按需組合、靈活配置、快速生成滿足不同需要的仿真應用系統,以支持武器裝備發展論證、裝備作戰概念演示驗證、裝備體系編配與優化、裝備作戰效能評估等應用。
敏捷仿真框架的關鍵技術主要包括:一是 “平臺+插件”的柔性仿真架構技術;二是面向服務的分層設計技術;三是可擴展仿真引擎設計方法。其主要解決面向復雜應用的仿真框架的開放性、可擴展性以及武器裝備建模仿真的可重用性、可組合性等問題。前面給出了“平臺+插件”的架構設計方法,并分析了面向服務的分層設計技術思路,這里重點介紹一種可擴展仿真引擎設計技術。
為實現仿真引擎的可擴展性和可組合性,仿真引擎采用組件化設計思想,仿真引擎以功能組件的方式進行模塊化設計,基于仿真引擎框架集成和組合應用不同的功能組件。仿真引擎由仿真引擎框架、各類管理器接口和服務接口,管理器實現和服務組成。管理器接口可以插件的方式進行拓展,相應的管理器和服務可以靈活定制與組合應用。在引擎框架的支持下能夠進行管理器與仿真服務的快速創建,實現對其有效管理,并為仿真模型提供管理器和服務的功能調用接口,驅動仿真模型運行,如圖5所示。

圖5 仿真引擎模塊組成結構設計
針對不同的武器裝備仿真應用需求,仿真引擎可以動態加載和配置不同的管理器和服務,為裝備體系仿真實驗提供必要的仿真運行環境。仿真引擎啟動時,讀取配置文件,獲取管理器和服務的配置信息,從而加載相應的管理器和服務的動態庫,并對其進行初始化操作。為實現仿真引擎功能模塊的可替換性、可擴展性,管理器和服務采用動態鏈接庫的設計方式來開發和實現,便于多個不同仿真應用對管理器與服務的訪問,特別有利于對仿真功能更新的應用。同時,采用互聯接口技術,設計統一的功能訪問接口,將管理器和服務的功能接口與功能實現相互分離。
仿真框架的實用性表現在以下方面:一是能夠滿足多種仿真應用需求,可以在此框架下按需擴展和靈活定制面向不同領域的仿真功能;二是基于此仿真框架已經能夠支撐裝備體系的需求論證、編配優化、效能評估等功能不同的仿真系統的構建,且以此框架為基礎構建的仿真系統之間能夠交互訪問;三是基于此仿真框架能夠解決建模仿真的快速性、可重用性和拓展性等問題,實現仿真模型的靈活復用和按需配置。
從發展趨勢上看,隨著對復雜武器裝備體系仿真的需求日益深入,構件化和敏捷化的仿真框架作為一種理想的軟件開發理念,必將成為復雜武器裝備體系仿真系統建設的關鍵。本文采用構件化的設計理念和敏捷化的設計方法,構建了一種面向武器裝備體系的敏捷仿真框架,使得構建的仿真應用系統具有可集成、可互聯、可擴展的特點,為進一步探索涉及各軍兵種、跨領域跨部門的大型復雜仿真系統的開發提供方法指導和論證,為裝備論證、作戰概念創新、戰法實驗和作戰仿真訓練等提供重要支撐。