美军VV&A发展现状及其在JWARS系统中应用情况研究
2011-12-15傅妤华李京红
傅妤华,李京红
(1.复杂系统仿真国家重点实验室,北京100101;2.总参第61研究所,北京100141)
1 美军VV&A发展现状
美军对于VV&A的研究起源于20世纪60年代,并在70年代到80年代之间得到快速发展,建立了VV&A概念体系及技术框架,发展到目前,VV&A仍然处于一个不断发展、完善的过程中,VV&A的思想理念不仅在建模与仿真领域牢固树立,并逐渐渗透到其他相关工程领域,VV&A工作已经成为减少风险、节约开发成本、提高产品可信度和可用性的重要手段。与此同时,随着VV&A受重视程度提高和应用范围扩大,VV&A管理与技术体系日趋完善,形成了相对较为完善的政策、程序、方法、技术和工具体系,并向标准化迈进。
美国国防部针对建模与仿真领域VV&A过程制定的技术文件主要包括:90年代初,颁布了第5000.61号国防部指令《国防部建模与仿真校核、验证与确认》,提出了建模与仿真VV&A的概念;1996年,修正该指令,并推出指导性文件《国防部建模与仿真校核、验证与确认实践指南》(RPG,DOD VV&A Recommended Practices Guide),定义了国防部进行校核、验证与确认工作时采用的原理、方法、推荐的使用流程等。该指南发布后得到了广泛的接受,成为美军VV&A政策的基础,并应用在了许多大型仿真系统的开发与应用中,如JADS、JWARS、JSIMS等,同时这些大型仿真系统的开发应用反过来促进指南的进一步修改完善;2000年5月,根据用户使用第一版指南后的反馈情况,针对指南中多样性、普适性、可操作性不强等存在的问题,完成了该指南的第2个版本即VV&A RPG Build 1.0的修订工作,该版本相比第一版侧重于理论而言更侧重于实践;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月,增加了战场环境建模仿真的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,该标准分为四个报告,分别为校核验证计划报告、校核验证报告、确认计划、确认报告。
2 JWARS系统中VV&A的工作程序
JWARS是美国国防部从1995年开始,历时十余年开发的一个一体化的、联合的、基于感知的战区作战仿真分析系统,也是其《国防部建模与仿真校核、验证与确认实践指南》修订过程中的探路者与在新建仿真系统中应用该指南进行VV&A的实践者。JWARS开发过程中VV&A工作贯彻始终,并形成了大量的过程文档,包括多个不同版本的JWARS校核验证计划文档、JWARS校核验证过程文档、JWARS校核验证报告文档等,为国防部VV&A指南的修订、VV&A文档标准的颁布都奠定了坚实的基础。
JWARS系统VV&A过程始终从用户角度出发,对整个开发过程进行广泛的需求跟踪,以确保所有的需求得到验证,同时对仿真的可信度是否满足预定应用进行分析并给出结果。因此,在整个项目开发过程中用户的参与程度都是空前的。JWARS系统中VV&A的工作过程包括九个阶段,每个阶段分类为校核或验证,若将产品与设计进行比较则该活动归类为校核,若将产品与真实世界进行比较则归类为验证。这九个阶段分别为:联合应用设计(Joint Application Design,JAD)校核与验证,任务空间概念模型(Conceptual Model of the Mission Space,CMMS)验证,模型验证可接受准则(Model Validation Criteria,MVC)开发与批准,概要设计校核,详细设计校核,算法验证,代码校核,实现校核,结果验证。
值得注意的是,VV&A的工作过程并不是JWARS系统开发生命周期中的一个独立的阶段或步骤,而是与项目同步进行并贯穿始终的,如图1所示为JWARS集成的软件开发与VV&A过程。在系统开发生命周期的每个阶段,都有相应的VV&A的工作,以确定在该阶段存在的不足之处,以便及时修正和改善。同时有力加强了产品供需双方之间的协调和沟通,通过VV&A,开发过程各个阶段各种必要的信息在开发商和需求方之间流动,使产品更满足实际需求,工作结果具有可预测性。
3 JWARS系统中VV&A的管理体系
VV&A既是个技术过程,同时又是个管理过程。在JWARS系统开发VV&A的管理体系中包括三个主要的群体,分别为验证代理、校核代理,和V&V代理。他们在VV&A工作中应当各负其责,既有分工,又有合作。表1给出了JWARSVV&A活动中不同角色的任务。
表1 不同角色在VV&A活动中的任务
(1)验证代理。JWARS用户在软件开发过程中扮演着重要的角色,JWARS的成功主要依赖于极大程度上增强了模型的用户可接受性。JWARS办公室在项目研发之初就明确了与用户的紧耦合,该用户群主要由分析人员组成,其最主要的功能在于正式形成并批准关键问题分析、效能评估指标,这些是形成模型验证可接受准则(MVC)的基础。用户群在软件系统的开发过程中参与V&V代理组织的回顾和分析的讨论会,为V&V工作提供所需的作战数据和专家意见。
(2)校核代理。校核代理是由项目发起人指定的,完成模型、仿真或联邦的校核任务的组织。校核代理的活动通常需要与软件开发者进行大量交互。JWARS项目中由V&V代理兼作为校核代理。
(3)V&V代理。JWARS项目中由具有V&V资质的BMH—IMC公司担任V&V代理,具体负责组织并勘漏所有的V&V活动,向校核代理和验证代理提供技术支持,在V&V过程的各个阶段追踪并确保领域专家和分析用户的每一条建议和意见被考虑并得到了妥善的解决,同时负责在每个V&V活动结束后形成相应的V&V结果报告。
4 JWARS系统中VV&A的技术过程
在JWARS系统校核与验证过程中的每一步都必需要使用各种V&V方法和技术作为具体操作手段,依据国防部VV&A实践指南,按照复杂程度不同,V&V技术分为非形式化V&V技术、形式化V&V技术、静态V&V技术和动态V&V技术等四大类。以下从V&V活动的类型、该阶段软件开发与V&V活动的流程、责任方、所应用的V&V技术以及该阶段V&V活动产品五个方面对JWARS系统中VV&A的技术过程进行分析。
4.1 联合应用设计的校核与验证
联合应用设计是JWARS需求和JWARS系统开发合同承包商之间的“接口”文档,联合应用设计中的每个条目对应确定某项需求的内容和约束所需的信息。
联合应用设计的校核的目标是确保从应用需求文档派生出来的需求及其解释正确反映了原始的需求,每一条设计可以追溯到原始需求,以及每个原始需求都在联合应用设计中进行了明确的阐述,同时确保联合应用设计中包含了所有所需的信息类型,格式正确。在该活动中所用的技术手段包括可追溯性评估、检查,以及应用CMMS工具集中的自动化工具。
联合应用设计的验证过程开始于由用户代表和主题专家发起的联合应用设计讨论,V&V代理将参加每个会议并记录用户代表和主题专家提出的问题,这些问题清单将在会后提交给JWARS办公室,说明问题,关于问题的讨论,以及处理该问题的建议。
联合应用设计的校核与验证活动的产品是一份文档报告,包括对联合应用设计进行V&V活动的内容、活动的结果,以及未进行V&V活动部分内容(如果存在)的建议意见。该报告被提交给联合分析建模改进项目执导委员会,只有被认可的联合应用设计才能在随后的系统开发与V&V活动过程中被应用。
4.2 任务空间概念模型验证
任务空间概念模型(CMMS)是对真实世界的第一步抽象,在JWARS,CMMS是对JWARS所要仿真的对象的实体、过程和交互的描述。
CMMS验证的目的即确保CMMS开发过程中确实应用了权威信息,文档格式符合标准,所表示内容是对实体、过程和交互的正确描述。验证内容包括对物理元素(系统、实体、单元、兵力等)的验证,以及对与物理元素相关的行为过程(任务)的验证。
CMMS验证活动中采用的技术手段主要是由代表用户方的主题专家进行检查。CMMS验证活动的产品是CMMS验证报告,提交给联合分析建模改进项目执导委员会。
4.3 模型验证可接受准则开发与批准
MVC是进行结果验证和算法验证的基础,用于表达为了使仿真能够在预期的应用中具备可用性,则仿真必须具备与真实世界多“小”的差别。可接受准则从仿真的分辨率、逼真度和正确度等方面进行定义,其本身由两部分组成:验证准则项,每项准则的度量方法。其中,准则定义了需要对仿真世界与真实世界进行比对的特征(包括功能、过程和实体),准则的度量方法则从仿真预期应用的角度建立、量化这些特征应该与真实世界的接近程度。
最初的MVC开发由V&V代理完成,并根据JWARS办公室、系统开发人员、系统用户的需要进行修改,MVC最后由用户进行批准。
MVC批准采用的技术手段包括审核,批准后的可接受准则用于后续系统开发和V&V过程。
4.4 概要设计校核
概要设计开发是设计阶段解决“问题”的第一步,是软件的顶层设计,对于系统或部件分析各种设计方案和定义体系结构、部件、接口。一个有效的概要设计是模型开发的结构性基础,是将需求转化为详细设计框架的中间环节。
概要设计校核的目的是为了确保软件、模型规划的功能能够满足需求。
概要设计校核所采用的方法包括V&V组织的用户审核、领域主题专家检查和对专家意见的追踪评估。概要设计校核活动的产品是一份校核结果报告。
4.5 概念模型验证
概念模型是仿真开发人员将建模需求转化为详细设计框架的方法,从该概念模型可以建立仿真软件。建模需求包括从CMMS产品中得出的军事领域需求,从MVC产品中得出的使用需求,以及源于概要设计的系统设计需求。概念模型应该包括用于满足需求的公式和算法的描述,以及公式、算法或解决方法中的假设和限制的描述,概念模型要对这些假设和限制对仿真最终满足JWARS需求的能力进行确认。
概念模型验证在JWARS中不专门进行,但在软件开发产品组件的校核验证过程中实现。
4.6 详细设计校核与算法验证
详细设计提供软件工程师编写代码需要的信息,包括排序信息、算法、假设(数学,结构和因果关系)、接口协议、数据等。算法是仿真中必须表达的过程的数学和逻辑公式。
详细设计校核与算法验证的目的是:确保详细设计的内容是完整的;确保详细设计的每一个组件可以追溯到概要设计;根据其预定的目的,评估详细设计中的算法所采取的数学近似相对于现实世界具备足够的精确度;确定这些近似和算法所需的数据是否能够获得并经过验证。
详细设计校核主要采用静态和非形式化技术,其方法包括:可追溯性评估,数据分析,接口分析,算法分析,检查,审核。算法验证在国防部VV&A实践指南中没有作为一项技术进行具体讨论,主要采取由数学家和建模专家对满足特定目的的算法的准确性和充分性进行评估。
4.7 代码校核
代码是实际的应用软件。由于软件很少没有错误,软件组件或模块需要测试,以确保它们的功能正确。代码校核是对软件进行测试的最低层次,是由软件开发人员根据测试计划进行的,跟踪代码功能追溯到详细设计。
代码校核可能采用的方法包括:功能测试、接口测试、回归测试、可追溯性评估。具体方法将由JWARS开发人员选定并由开发商执行。V&V代理将审查代码校核报告并在实现校核中使用该结果。
4.8 实现校核
实现校核是V&V代理校核开发人员正确地实现了详细设计的一系列活动,实施校核的目的是要确保组成仿真系统的软件组件和模块根据详细设计实现。
实现校核主要采用静态技术和动态技术,具体方法包括:敏感性测试、一致性测试、用户界面测试、alpha测试、beta测试、回归测试、统计分析、可视化、可追溯性评估。
在该过程中,V&V代理将与开发人员一起,确保有足够的测试促进校核的实施。实现校核的产品是一份校核结果报告。
4.9 结果验证
结果验证是在通过以上校核活动确保执行了正确的系统开发过程的基础上,评估建立的系统是否正确。其目的是通过对结果的可信度比对,确保系统对真实物理现象再现的逼真度。结果验证既包括仿真系统的整体验证,也包括选择模型的验证。一般先对模型组件进行单独验证,然后合成相关组件进行综合验证,最后对整个系统进行完整验证。
结果验证实施过程需要验证工具和验证数据的支持,过程中包括仿真结果输出与作战、演习结果的比对,与以往收集的试验数据的比对,敏感度分析,或与专家意见的比较。
V&V代理对结果验证负有主要的责任。结果验证的产品是一份结果报告,基于MVC评估模型相对现实世界的功能、分辨率、逼真度和准确度评估。
5 结束语
研究美军VV&A的情况,对于我军重点武器装备体系研究模型、数据、仿真系统VV&A的开展,具有重要的参考意义。JWARS系统在系统研发之始即遵从国防部VV&A实践指南建立了规范的管理与技术体系,从而确保全系统、全过程、第三方、采用科学的方法手段为大型仿真系统的开发保驾护航。对比JWARS系统VV&A实施过程和国防部VV&A实践指南,在实践过程中并不是简单照搬指南的管理模式和工作程序,针对具体项目的VV&A任务,管理机制可以精简,工作项目和工作内容可以裁减,而且在每一个步骤中并不是一个简单的选择和运用V&V技术的过程,它要求工作人员不仅要对仿真的预期应用具有深入透彻的了解,而且还要具备M&S开发应用的专门知识以及丰富的M&S开发经验。除此之外,创造性的运用各种技术能力以及对问题准确分析、把握的洞察力也同样重要。