北约建模与仿真即服务研究
2021-11-19彭超,乐剑,刘洁
彭 超,乐 剑,刘 洁
(军事科学院战争研究院,北京 100190)
1 引言
在训练、分析和决策制定等应用领域建模与仿真已成为能力交付的关键使能技术[1]。然而,建模与仿真受到软因素(模型、数据、软件工具、仿真系统等)、硬因素(计算、存储、网络等)、人因素(组织机构、运营维护等)诸多限制,导致实施成本高昂并难以有效获取其关键能力。云计算技术和面向服务架构的迅猛发展提供了优化建模与仿真设计、开发、执行和评估等多个环节的可能性。为此,北约建模与仿真组(NMSG)提出建模与仿真即服务(MSaaS,Modelling and Simulation as a Service)概念并设计相应参考架构[2-8],支撑按需部署与执行组件化的分布式仿真环境。
值得注意的是:美军和北约在分布式仿真作战实验的最新实践中已经广泛采用云计算架构和服务化理念。前者借鉴模块化设计理念和云服务环境,提出了基于云使能模块化服务(Cloud-Enabled Modular Services,CEMS)的新一代支持联合训练的JLVC-2020框架,其目标是建设一个逼真、灵活、效费比高、可组合并最终可满足未来作战需求的实况、虚拟、构造(LVC,Live,Virtual,Constructive)训练环境[11];后者积极探索建模与仿真即服务的云计算架构新概念,制定了具体的发展路线,主要分为三个阶段[2]。第一个阶段(2015-2018年),重点探讨MSaaS的概念内涵[3]、参考架构[3,5]、服务发现和元数据[6]、开发过程[7]等;第二阶段(2018-2021年),对提出的概念、架构和技术进行细化研究,同步开展验证,以及提供前期试用;第三个阶段(2021-2025年),完成系统的最终建设,并以服务形式向用户交付建模与仿真能力。因此,向云上迁移已成为美军与北约在建模与仿真领域的必然趋势,同时建模与仿真即服务已成为联合作战实验的实践与发展的前沿方向。
本文针对北约建模与仿真即服务的概念内涵、参考架构、工程过程和服务发现等相关内容进行分析研究。
2 北约MSaaS概念内涵
针对传统建模与仿真系统的能力交付低效、访问复用困难、实施开销巨大等问题,北约建模与仿真组提出建模与仿真即服务概念。它采用开放的体系架构和标准规范,支撑共享现有的、未来建设的成果,面向用户应用提供易于访问的建模与仿真能力,充分发挥整体聚合效益。
北约建模与仿真组梳理了未来分布式仿真环境的核心需求[2,3],主要包括:①强化有效仿真环境的开发;②使能仿真环境的高效准备、开发、集成和维护;③使能仿真环境的高效初始化与执行;④使能仿真环境的公平裁决评估;⑤使能仿真环境交付可信任仿真结果;⑥使能仿真环境在同一初始化数据和执行条件的情况下交付一致性仿真结果。基于上述需求,结合云计算技术和面向服务架构,北约建模与仿真组提出建模与仿真即服务概念[3]。它的实质是一种架构方法,能够将建模与仿真的能力服务化,使其松耦合、可重用、组件化,从而有效满足建模与仿真的需求,以及有力支撑仿真应用的分布式开发、执行与维护。
该研究组认为:“建模与仿真即服务是一种向消费者交付价值的方法,该价值能够使能或支撑建模与仿真的用户应用和能力,并按需提供关联数据,同时避免特定的开销与风险。”可以从四种不同视角来理解其“服务”概念:“作为云服务的服务”,为终端用户提供建模与仿真服务;“使用云服务的服务”,高效利用云上的各类服务资源支撑建模与仿真;“作为面向服务架构的服务”,使用面向服务架构方法实现服务的连接与绑定;“作为业务模型的服务”,关注于组织机构、专业领域的服务,例如模型开发服务、VV&A服务、认证服务、训练服务等。
图1给出了北约MSaaS联合框架的操作概念,主要分为三类角色,分别是服务供应商、平台开发者和建模与仿真用户。平台开发者基于MSaaS参考架构、工程过程和管理策略等平台规范定义MSaaS调用入口规则,从而支持服务的发现、组合和执行;服务供应商依据平台规范将建模、仿真、数据库、仓库和注册等服务和相关软硬件部署在国家云、北约云或任务与联合云上;建模与仿真用户只需要连接上述任意一种云就可以便捷使用建模与仿真服务。
图1 北约MSaaS联合框架的操作概念
由于采用“即服务”理念与云计算技术,北约MSaaS具有按需自主服务、易于访问、资源池化、快速可伸缩性、服务可度量、高灵活性、高可扩展性、服务自动更新、组件化和高复用性等显著优势。然而,它也存在着安全隐私难保障、网络依赖性强、现有资源难服务化、分布式运行低效等云服务原生问题。
3 北约MSaaS参考架构
为支撑建模与仿真即服务能力与内涵的实现,北约建模与仿真组设计了基于云服务的参考架构(RA,Reference Architecture)[3,5],作为各成员国开发与使用服务能力的参考框架。该参考架构明确了服务的属性、功能、层级及相互关系,并提供一定的技术实现参考,从而将建模与仿真能力的开发方限定在一致的软件开发情景中。
按照北约MSaaS的架构框架定义,参考架构能够捕捉特定领域中系统架构的设计核心,为系统架构的开发、标准化和演化提供重要指导,是衔接顶层架构(OA,Overarching Architecture)与方案架构(SA,Solution Architecture)的桥梁。其中,顶层架构中定义了架构构建模块(ABB,Architecture Building Block)和架构模式(AP,Architecture Pattern)的标准,而方案架构是面向具体问题的实现架构。参考架构是通过架构模型来组合架构构建模块,同时也实现架构的拓扑结构,从而描述目标系统边界和互操作标准边界。
架构构建模块代表参考架构中的一个组件,能够描述能力并为创建方案架构与技术实现提供参考服务,表示其处理能力和需求。它是技术敏感的,提供使能技术参考(即具体的技术实现方法)。在北约MSaaS中,描述架构构建模块,一般可以具有如下属性:功能级需求、非功能级需求、应用标准、与其它架构构建模块之间的关系、相关架构模式及使能技术参考。
架构模式提供从架构构建模块到创建方案架构的最佳实践,展示架构构建模块在参考架构中如何相互关联、组合、交互及其交互信息。架构模式辅助架构设计者在开发方案架构时构造架构模型和组合架构视图。架构模式可以具有如下属性:用来参考与讨论的名称、模式辅助解决的问题描述、对于问题模式如何提供方案的描述、辅助描述模式的视图和参考、功能级需求、非功能级需求、应用标准等。
依据北约咨询、指挥和控制(NATO Consultation,Command and Control)分类方法,北约MSaaS的参考架构一共包括九层,如图2所示:操作系统层,提供系统互联、数据传输和基础设施服务等能力;服务组件层,提供以松耦合方式实现服务的能力,支持通过SOA平台服务架构实现服务;服务层,是核心层,提供建模、仿真等服务的定义与开发能力;业务流程层,提供松耦合服务的组合流程定义能力,支持服务的组合、运行与控制,以及仿真想定的构建;消费层,提供架构构建模块的定义能力,支持用户与服务和业务流程的交互;集成层,提供集成各层架构构建模块的实例化能力,支持服务间通信;服务质量层,提供安全、认证等多层面的服务质量管理能力;信息层,提供权威信息管理和服务注册能力;管理层,提供仓库与元数据的管理能力。每层根据其能力可以对应多个架构构建模块。
图2 北约MSaaS参考架构的多层结构
4 北约MSaaS工程过程
为描述开发、执行分布式仿真环境的工程过程,仿真互操作标准组织(SISO,Simulation Interoperability Standards Organization)提出分布式仿真工程和执行过程推荐实践(DSEEP,IEEE Recommended Practice for Distributed Simulation Engineering and Execution Process)[9]。DSEEP分为七步:①定义仿真环境目标;②概念分析;③定义仿真环境;④开发仿真环境;⑤集成与测试仿真环境;⑥执行仿真;⑦分析数据和评估结果。当集成多种架构(如DIS、HLA、TENA等)时,互操作实现可以参考DSEEP的多架构覆盖[10](DMAO,Multi-Architecture Overlay)标准。
参照DSEEP和DMAO,北约建模与仿真组给出了如下的关键参考过程[7]:
步骤1:定义组合仿真服务目标。定义和记录仿真环境开发与执行的一系列需求,并且将需求转换为更为具体的目标清单,分为三个子步骤:①明确用户/资助方需求,至少包含关键系统的高级描述、仿真实体可行性与行为等需求的初始评估、关键事件与环境条件,以及输出数据需求等;②开发目标,将需求描述变为更具体的仿真环境目标;③开展初始规划,建立初步仿真环境开发与执行的计划。
步骤2:进行概念分析。针对所研究问题,定义适合表达并开发出相应想定,分为三个子步骤:①开发想定,确定想定的功能级规格;②开发概念模型,形成所研究问题的(实现无关)概念表达;③开发仿真和服务需求,根据开发的概念模型,定义实体行为、事件特性、自然环境表达、LVC仿真、人(或硬件)在回路、仿真性能/评估/时间管理、软硬件与网络安全、输出、执行管理等需求。
步骤3:定义组合仿真服务。将概念化的仿真设计与需求转变为特定的仿真服务,支撑这些仿真服务在组合仿真服务中的实现,分为四个子步骤:①发现和选择建模与仿真服务,根据仿真设计与需求确定适合的建模与仿真服务,并集成到仿真环境中;②定义组合仿真服务,确定组合仿真服务的部署和应用,明确仿真状态管理、仿真事件控制、建模与仿真服务之间数据交换等策略;③定义仿真服务,明确服务约定,指导后续开发与实现;④准备详细计划,开发协同计划,指导仿真环境的开发、测试和执行。
步骤4:开发组合仿真服务。定义仿真执行过程中服务之间的信息交换,分为四个子步骤:①开发仿真数据交换模型,实现运行时数据交换,支撑仿真环境的互操作性;②建立组合仿真服务协议,着重考虑元数据、设计、执行、管理、数据、基础设施、建模等多类协议;③实现建模与仿真服务,基于定义的概念模型、服务约定、仿真数据交换模型、仿真环境协议等具体实现服务;④部署到基础设施,实现、配置和初始化必要的基础设施从而支撑仿真环境的运行与验证。
步骤5:计划、集成与测试组合仿真服务。计划仿真执行,建立服务之间的需求连接,执行与测试组合仿真服务,分为三个子步骤:①计划执行,完整描述执行环境和开发执行计划;②集成组合仿真服务,将所需的服务集成为统一的操作环境;③测试组合仿真服务,测试服务之间的互操作性是否能够达到目标需求。
步骤6:执行组合仿真服务。执行组合仿真服务并预处理结果输出数据,分为两个子步骤:①执行组合仿真服务,生成要求的输出并获得状态目标;②准备仿真输出,收集仿真服务数据。
步骤7:分析数据和评估结果。分析和评估仿真环境执行过程中获得的数据,并将结果反馈给使用者/资助方,分为两个子步骤:①分析数据,包括多种不同数据格式,如数字、视频、音频等,及其分析工具与方法;②执行和反馈结果,确定满足所有仿真目标及评估所有产品的复用潜力。
5 北约MSaaS服务发现
针对北约MSaaS服务种类繁多、领域多样、异地分布等特点,北约建模与仿真组重点研究基于元数据的服务发现技术,以元数据标准和使用流程的建立来满足建模与仿真服务的正确应用、有效执行等需求。
在分布式仿真环境的设计、实现和执行过程中,设计者、开发者或者集成者首先需要能够搜索仿真资源和数据资源来构建仿真运行环境。根据北约MSaaS工程过程,服务发现可能会贯穿整个仿真环境构建的全过程。北约MSaaS服务发现[6]的重要实现基础是元数据。元数据指的是数据的数据,是对数据更进一步的抽象描述。信息系统利用和产生数据与信息,而元数据是支撑信息系统的一种管理数据的方法,使得数据更易于存储、检索和查询。为确保北约各成员国之间的互操作性和兼容性,有必要定义涵盖数据所有方面的元数据,其涉及内容、语义、结构和语法等。
北约MSaaS中元数据的应用存在三个层面:发现层面,描述数据资源的上下文与内容类型的最少信息需求,本质上回答,关于资源的“什么”、“为什么”、“何时”、“谁”、“哪里”和“如何”等问题;使用层面,描述应用中的仿真资源访问、转移、翻译和使用等信息;管理层面,描述支撑数据管理的信息,例如原来标识、原来源、仿真运行实例和其组合与部署,也包括版本记录数据、分发警告、参考等。
为支持仿真开发者确定一个特定仿真资源是否满足需求,资源提供者除了提供仿真资源以外,也需要给出仿真资源的元数据。此时,元数据描述了资源的能力和访问资源所需的接口或数据标准。北约MSaaS中推荐的元数据规范描述四类信息:①描述服务的核心信息,主要包括服务标识、服务名称、描述、联系人、生命周期阶段、版本信息、前期版本、历史信息和服务访问信息;②描述服务的使用信息,主要包括要求的应用和技能;③描述服务的运行时基础设施需求,主要包括硬件需求、操作系统需求、网络需求、服务初始化需求和要求的服务;④描述服务的接口信息,主要包括接口类型、统一资源定位符(URL)、前提、条件和函数。
服务发现的基本想法是使仿真资源能够按需注册、搜寻和检索。基于元数据的MSaaS服务发现的基本流程如图3所示:仿真环境执行前,服务提供者以建模与仿真注册形式来公布服务;仿真开发者查询注册从而发现满足其需求的仿真资源;当合适的仿真资源已经确定,与其它资源一起构成仿真组合和部署;为部署仿真,仿真开发者利用部署工具询问建模与仿真注册中心确定如何访问仿真资源并进行部署。其中存在数据和服务两类资源:对于数据资源建模与仿真注册中心提供URL指明数据储存的仓库;对于服务资源,当前服务尚未安装,需要从建模与仿真仓库中下载并安装到仿真基础设施中,服务的可执行代码一般以虚拟机或容器镜像来存储。
图3 北约MSaaS服务发现的基本流程
北约建模与仿真组评估现存元数据规范在服务发现方面的能力需求,主要包括:使能人员和机器的搜寻与复用、提供服务通信信息和服务接口信息、校准或符合元数据标准。同时,针对以上需求,它也提出亟需解决的六类技术性挑战:一是人机可读元数据的有效组合;二是在线条目和注册的服务发现;三是充分描述的元数据,以支撑适合服务推理;四是充分详细技术性元数据,以支撑与服务建立正确的连接和接口;五是与现有的和采用的发现元数据语法兼容的;六是支撑设计时与运行时服务发现。
6 结论
北约极为重视建模与仿真能力的可交付、可访问和可重用。为此,北约建模与仿真组提出MSaaS概念并积极推动其发展建设。其核心理念为:一是以参考架构支撑架构设计,使得各成员国在同一框架情景中构建和使用MSaaS;二是以推荐的软件工程方法,明确基于MSaaS的分布式仿真环境的开发规范与过程;三是以资源和服务的元数据标准,支撑各类异地分布服务的发现、组合、复用和执行,集约高效利用MSaaS的服务能力。北约建模与仿真组未来将持续推动其规范、验证和原型实现等工作,促进其操作准备,以及深入研究能够进一步增强效益的关键技术。