文 | 贾仁耀, 刘湘伟
配图 | 来源互联网
近年来, 系统仿真技术得到了飞速发展, 越来越广泛地应用于军事、经济乃至社会生活与生成的各个部门, 在科学研究、工程设计、装备论证等方面发挥着日益重要的作用。与此同时, 人们对建模与仿真 ( Modeling and Simulation, M& S) 的正确性和可信度也越来越关注。校核、验证与确认( Verification, Validation and Accreditation,VV&A)的核心问题就是为M&S应用于特定目的的可信度评估提供依据, 并能够有效地降低风险、减少开支、增加用户对模型与仿真的信心。
校核 ( Verification) 是确定仿真模型和有关数据代表开发者的 概 念 描 述 和技术要求准确程度的过程。验证(Validation) 是从模型的应用目的出发, 确定模型和有关数据代表真实世界正确程度的过程。确认( Accreditation) 是官方正式地接受一个模型、仿真以及有关数据应用于特定目的。校核、验证与确认的共同目标是提高模型与仿真的可信度。
校核与验证的技术与方法是指在建模与仿真过程中为完成V&V工作而采用的各种技术、方法的总称。建模与仿真融合了建模技术、系统科学、信息技术、软件工程和其它有关专门领域知识, 因此对建模与仿真的校核与验证应该充分吸收有关领域成功的测试与评估方法。美国国防部公布的VV& A 建议实践指南中归纳了75种校核与验证技术和方法, 分为非正规技术、静态技术、动态技术和正规技术四大类。尽管这些类包含了一些相同的特点, 而且个别 V&V 技术可能与其它技术存在重叠, 但其复杂性、数学和逻辑上的正规性总体上是逐渐增加的。
非正规 V&V 技术使用比较普遍。之所以称为非正规, 是因为这种技术使用的方法和工具更加依赖于人主观的推理 和评估, 而不是严谨的数学推理。非正规的 V& V 方法实施起来简易、直观、省时、省力, 如果使用得当, 非常有效。这种方法的缺点是主观性大, 在理论上不严格, 所得结论缺乏必要的可信性。非正规 V& V 技术主要有审核、检查、评审等方法。
2. 1 审 核
审核是一种校核技术, 应用于新的建模与仿真的开发生命周期和对已有建模与仿真的修改过程中。通过审核, 可以评价模型或仿真符合已制定的计划、政策、规程、标准和指导方针的程度。审核主要是通过召开会议、进行观察和检查来实施的。审核还可被用来建立仿真内部的跟踪性。
2. 2 桌前检查
也称为自查, 是指主动检查自己的工作产品和文档, 确保其正确性、完整性和一致性。在需求校核、设计校核和代码校核中 特别有用。典型的桌前检查活动包括: 语法审查、交叉引用检查、详细对照规格说明、代码浏览、控制流图分析和激活路径等。桌前检查最好由没有介入实际开发工作的人员来执行, 因为发现自己的错误是非常困难的。
2. 3 表面验证
项目组成员、潜在用户和同行专家对仿真输出结果的合理性进行审查。他们通过比较在相同输入条件下模型和真实系统的行为, 凭借他们的估算和直觉, 主观地判断模型和输出结果是否合理。
2. 4 检 查
检查通常在仿真开发的特定阶段由仿真设计检查小组来实施。检查包括 5个阶段: 浏览、准备、检查、重做和后续措施。
浏览: 将仿真设计大纲和建模与仿真需求等相关文档分发给检查组所有成员。
准备: 检查组成员审查提供的所有文档。
检查: 主持人计划和主持会议。检查的目的是识别问题, 而不是纠正它们。在检查的最后, 记录员准备一份问题发现报告并提交给设计组。
重做: 设计组解决报告中发现的每个问题。
后续措施: 主持人检查所有缺陷和问题是否已被解决。所有修改都应进行仔细检查, 以确保没有在纠正问题时引入新的问题。
2. 5 评 审
评审是比检查和走查更高级的方法, 其目的是评价模型与仿真相对于规格说明和标准的符合程度, 记录存在的缺陷和不足。在评审之前, V& V 代理应该收集文档并将文档分发给所有评审组成员进行检查。评审的主要内容是: 问题定义和 M& S需求是否适当, 所有基本假设是否充分, 是否遵守标准, 建模的方法, 仿真表现的质量, 模型的结构, 模型的一致性, 模型的完整性以及文档。评审结果应该记录成文档, 包括发现的缺陷和评审组建议。随后, 项目开发组应该采取适当的行动, 纠正缺陷, 解决所有建议。
2. 6 图灵测试
图灵测试通过比较被仿真的实际系统和仿真之间的差别, 判定仿真的正确性。其方法是: 将两组在相同的输入条件下产生的输出数据提供给同行专家, 其中一组来自仿真系统, 另一组来自实际系统, 请专家指出两者的差别。如果专家无法区分两者的差别, 模型的可信度就增加了。如果他们能够区分两者的差别, 那么要他们描述区别在哪里. 专家的反应提供了关于仿真表示的正确性和适当性的信息。
2. 7 走查
走查的主要目的是检查和证明缺点, 而不是进行性能评价。走查由走查组负责实施, 其过程分为两步: ① 将材料分发给走查小组每个成员, 让他们认真研究; ② 开会讨论发现的问题。与检查相比, 走查不太规范、步骤更少, 并不使用检查表去指导工作, 也不用书面报告记录走查组的工作, 所以更容易实施。
静态 V&V 技术主要关注于评价静态模型设计和源代码的准确性。静态技术不要求生成模型的可执行的应用, 而是用想象去推断它的执行结果。借助于某些可用于辅助 V&V 过程的自动化工具, 静态技术得到了广泛的应用。使用静态技术可以获得一系列有关模型框架、建模技术与实现、模型的数据流和控制流信息。静态 V& V 技术主要有因果图、控制分析等方法。
3. 1 因果图
因果图描述在模型表示中的因果关系, 用于测试用例生成。该方法首先在被建模的系统中标识原因和结果, 然后在模型规格说明中检验它们的表示。一旦建好因果图, 通过追踪导致每个结果的原因组合, 一个判定表就生成了。然后将判定表转换成测试用例, 并使用测试用例对模型进行测试。
3. 2 控制分析
控制分析技术包括调用结构分析、并行过程分析、控制流分析和状态转移分析。
调用结构分析:通过识别谁调用谁和谁被谁调用, 来评价模型的正确性。“谁” 可能是一个过程、子程序、函数、方法, 或者是一个子模型。
并行过程分析:通过分析在并行或分布式仿真中重叠或同时执行的动作, 来评价模型的正确性。这类分析可以揭示同步和时间管理方面的问题。
控制流分析:通过构建一个模型图, 检查控制传输流程, 进而识别模型表示的内部错误或效率低下的模型结构。
状态转移分析:利用状态转移图显示模型从一个状态向另一个状态的转移, 通过标识模型运行经过的有限状态, 分析发生状态变化的条件, 评价模型的正确性。
3. 3 数据分析
V&V活动中的数据分析技术包括数据依赖性分析和数据流分析。
数据依赖性分析: 确定哪些变量依赖于其它变量。数据依赖性分析对于评价并行和分布式仿真的同步精确性是非常重要的。
数据流分析: 评价有关模型变量使用的正确性, 包括变量的定义、引用和未引用, 即变量空间被分配、存取和释放。数据流图可以辅助进行数据流分析。
3. 4 缺陷 / 错误分析
缺陷 ( 即不正确的模型成分 ) 和错误 ( 即模型成分不正确的行为 ) 分析利用模型输入 - 输出转换描述, 检查模型设计规格说明, 来确定模型逻辑上可能发生的错误以及错误会在什么样的环境和条件下发生。
3. 5 接口分析
接口分析技术对于交互式和分布式仿真的校核与验证特别有用。它包括模型接口分析和用户接口分析。
模型接口分析: 检查模型内的子模型与子模型的接口, 或联邦内的联邦成员之间的接口, 确定接口结构和行为是否正确。
用户接口分析: 检查用户与模型的接口, 确定是否符合人机工程要求, 以防止在用户与模型的交互过程中出错。
3. 6 语义分析
利用仿真编程语言编译器实施语义分析, 产生丰富的信息, 帮助建模者确定其真实意图是否被准确地转化为可执行代码。
3. 7 结构分析
结构分析用于检查模型结构, 确定它是否符合结构规则。结构分析的实施是通过构造模型结构的控制流图来检查图形的异常, 如多入口和出口、结构内部过多的嵌套层次和可疑的操作。
3. 8 符号评估
符号评估通过使用符号值作为输入来运用模型, 进而评价模型的正确性。它把符号输入到仿真的组成部分或联邦成员中, 根据符号数据沿着模型运行路径的转变情况产生输出表达式。运行结果可以用一个像符号运行树的图形形式来表示。树的分枝对应于模型的路径, 树的每个节点代表模型的决策点, 并在交点处标上数据的符号值。树的叶子代表模型的一条路径结束, 并描述了产生的符号输出。
不管什么样的测试数据, 符号评估对于所有的计算都能辅助显示路径的正确性, 但是它具有以下缺点:
运行树可能由于规模太大而爆炸, 随着模型的发展变得过于复杂;
循环使得彻底运行不可能实现;
复杂的数据结构可能不得不被排除在外, 因为难以用符号表示结构内的特殊数据元素。
3. 9 语法分析
由仿真编程语言编译器进行语法分析, 以确保正确地使用语法。
3.10 追溯性评价
追溯性评价用于将模型的单个元素的一种形式映射到另一种形式。例如, 将需求规格说明中描述的系统元素一一映射到仿真设计说明中。未被映射的元素 ( 成分 ) 揭示出要么没有全部满足需求, 要么是非计划中的设计功能。
正规 V&V 技术 (或方法 ) 的基础是用数学形式证明模型的正确性, 可得到的数学证明是模型 V& V 最有效的手段。成功应用正规方法, 要求模型开发过程必须是良好定义的和结构化的。为了获得最大的效益, 正规方法应该在模型开发早期阶段应用。因为正规技术需要付出很大的努力, 它们最好用于那些无法用简单方法解决的复杂问题。正规方法主要有归纳法、推导法、逻辑演绎法等。
4.1 归纳法、推导法与逻辑演绎法
归纳法、推导法和逻辑演绎法, 是在给定的前提下证明结论正确性的方法。如果从前提到结论的每一步都符合建立的推论规则, 那么论点就是正确的。它们既是校核与验证常用的方法, 也是建模和仿真常用的方法
4. 2 归纳断言
归纳断言基于一种非常接近于正规的模型证明方法来评价模型的正确性。它分三步实施:
① 确定所有模型变量的输入 - 输出关系;
② 这些关系被转换成断言声明, 并被对应于模型运行路径, 因而在每条模型运行路径的开始和结束都有断言声明。
③ 如果证明每条路径开始的断言是真, 并且沿着路径的所有声明都被运行, 那么路径终点的断言就是真, 也就实现了验证。如果所有路径加上模型终点能够通过归纳证明, 那么就证明了模型是正确的。
4. 3 Lambda微积分
模型本身可被视为一个大的字符串。L ambda 微积分是根据指定的重写字符串规则将模型转换成正规的 L ambda微积分表现形式, 以应用数学证明方法证明模型的正确性。
4. 4 谓词微积分
所谓谓词, 是指简单关系的组合。一个谓词可以是“真”, 也可以是“假”。谓词微积分提供了演算谓词的规则, 是所有正规描述语言的基础。模型可以按照谓词的形式进行定义, 使用谓词微积分规则进行演算。
4. 5 谓词变换
谓词变换校核模型正确性, 是通过将模型输出状态映射到所有可能的输入状态, 正规地定义模型的语义。这种表示法是证明模型正确性的基础。
4. 6 正确性证明
正规的正确性证明, 用准确的符号表达模型, 然后用数学方法证明模型运行正确并能够满足需求。
在建模与仿真的全生命周期进行 V&V, 指的是要尽可能暴露出建模与仿真从问题定义与描述到仿真应用系统完成每一阶段可能存在的错误和缺陷, 以便尽早发现它们并加以修正。应在建模与仿真生命周期的早期开始实施 V& V, 在将要结束的时候才实施 V&V, 其意义就非常小了。因为越是将V& V 拖延到后面的阶段实施, 遇到致命错误的可能性越大, 并且修正错误的开支和难度也越大。
所有 V&V 过程都包含一系列的活动和任务, 以解决特殊的应用需要。在特定的建模与仿真的开发 / 准备阶段, 选择什么任务、挑选什么技术来完成这些任务依赖于下面几个因素:
仿真的类型 (已建的, 新建的, 联邦 );
要解决的问题;
目的和需求, 以及它们的接受标准;
用户的风险和优先级;
约束条件 (时间, 经费, 人员, 设备 )。
随着系统建模与仿真技术的发展与应用, 仿真系统的功能和性能大大增强, 建模与仿真的过程越来越复杂, 仿真系统规模越来越大, 这些都对建模与仿真的校核与验证提出了更高的要求。面临新的挑战, 有必要研究校核与验证的新方法和新技术, 以满足建模与仿真的V&V的需要。
参考文献:
[ 1 ] 徐庚保, 曾莲芝. 关于建模与仿真的可信性问题[ J] . 计算机仿真, 2003, 20 ( 8) : 36 - 38.
[ 2 ] 魏华梁, 单家元, 李钟武. 建模与仿真过程及模型VV&A [ J] .计算机仿真, 2001, 18 ( 1) : 7 - 10.
[ 3 ] 刘庆鸿, 陈德源, 王子才. 建模与仿真校核、验证与确认综述[ J] . 系统仿真学报, 2003, 15 ( 7) : 925 - 930.
[ 4 ] 王子才, 张冰, 杨明. 仿真系统的校核、验证和验收(VV& A) :现状与未来[ J] . 系统仿真学报, 1999, 11( 5) : 321 - 325.
[ 5 ] 齐欢, 王小平. 系统建模与仿真[M ] . 北京: 清华大学出版社,2004.
本内容来源于互联网,版权归原作者所有,供学习交流使用,严禁商用,如有侵权请联系我们删除。
- END -
相关文章,在仿真秀官网搜索:
1) 某型单级轴流压气机性能仿真与试验
2) 基于“互联网+”的制造业全生命周期设计、制造、服务一体化
3) 基于虚拟样机的仿真系统校核、验证与确认研究