数字仿真模型的校核验证和测试 (一)

   2023-10-05 互联网1900
核心提示:摘 要: 介绍数字仿真模型的校核、验证和测试的基本概念,并提出一些实际的实行方法。关键词: 数字仿真 模型 校核 验证 测试Verif

摘  要: 介绍数字仿真模型的校核、验证和测试的基本概念,并提出一些实际的实行方法。
关键词: 数字仿真 模型 校核 验证 测试

Verification, Validation and Testing of Digital Simulation Model

Fei Jinggao
(Beijing Institute of Computer Application and Simulation Technology 100854)

ABSTRACT The basic concepts of verification, validation and testing of digital
simulation models are simzly introduced, and some methods for their conduct are
also given
KEYWORDS Digital simulation Model Verification Validation Testing

1 引言

  计算机仿真是在计算机上建立数字仿真模型,模仿被仿真对象的运行状态及其随时间变化的
过程。通过对数字仿真模型的运行过程的观察和统计,得到被仿真系统的仿真输出参数和基本特
征,以此来估计和推断实际系统的真实参数和真实性能。由上述,仿真是否能达到所要求的目
的,建立正确的数字仿真模型是一个关键阶段。在实际工作中,对所谓正确的数字仿真模型有许
多错误的认识。下面是两个典型的错误观点:
  (1)如果建立的数字仿真模型的运行得到了预想的结果,则该模型是正确的。
  例如在设计导弹的飞行控制系统时,期望导弹的飞行是稳定的。若建立的数字仿真模型的运
行结果恰好是稳定的,就认为建立的数字仿真模型是正确的,因而也肯定飞行控制系统的可行
性。作者遇到过这样的例子,最后发现数字仿真模型有严重的错误,它将一个发散的系统仿真成
一个稳定的系统。
  (2)经过实践验证过的数字仿真模型是正确的。
  对于飞行器运动的数字仿真模型是指经过飞行试验的验证。显然飞行试验是对数字仿真模型
正确性的一种严格的检验,但是这种检验也不是充分的。一次飞行试验的导弹(或运载器)的飞行
状态并不能代替所有可能的飞行状态特别是不能代替未来的飞行状态。作者在上面提及的设计飞
行控制系统的数字仿真模型,据说已成功地应用到几个型号的设计中,并经过飞行试验验证过
的,但实际上它还存在严重的错误。作者认为,即使是直接参与成功飞行试验的模型,也不能作
为模型无错的依据,而只是有些错误的影响还没有达到使飞行试验失败的程度。
  如何保证建立的数字仿真模型的正确性是仿真建模的一个重要问题。数字仿真模型的校核、
验证和测试是解决这个问题的重要活动,以提高对模型的可信性,使得仿真结果能比较精确地代
表真实的被仿对象。本文对模型的校核验证和测试及其实施方法作简单的介绍。

2 数字仿真模型的校核验证和测试

  仿真模型的校核和验证是检验数字仿真模型是否在要求的精度范围内反映被仿真系统的两类
活动。模型验证是要证实在仿真模型的应用范围中,它的行为与研究对象的行为在满意的精度下
一致。换言之,在模型验证过程中,我们要证实用模型的输入输出变换去表示系统的输入输出变
换具有充分好的精度。模型验证要处理的问题为建立的模型是否正确,即检验建模结果的正确
性。为了实施模型的验证,通常采用被仿真系统的输入去运行模型,再比较模型的行为与对应系
统行为的一致程度。
  仿真模型的建模过程实际上是模型的一系列变换过程,经常要从研究对象的一种模型变换到
另一种模型,最后变换到一种可以在计算机上运行的模型。模型的校核是要证实模型是以充分好
的精度从一种形式变换到另一种形式。模型校核所处理的问题为建模过程的正确性,即是否正确
地实现了模型。它要考虑将一种模型的表示转换成另一种表示的精度,特别要检查将数学模型的
公式转换成计算机程序的逻辑和代码的正确性和合理性。
  为了进行仿真模型的校核和验证,必须对仿真模型进行测试。模型测试的目的是要说明模型
与研究对象之间存在的不精确性,即存在不能允许的误差,或者发现模型中存在错误。在模型测
试过程中,我们将相应的测试数据或测试情况(统称为试例)加进模型中去以观察模型是否按预定
的方式运行,输出相应的数据或曲线。“测试失败”表示模型中存在缺陷或故障。根据测试的目
的需要设计不同的试例。在模型验证时,需要设计试例对模型的行为精度进行评估;而在模型校
核时,设计试例的目的是要判断模型转换的精度是否满足要求,特别要测出模型转换过程中的失
误。
  模型的校核和验证过程实际上是测试例子的构造和对测试结果的评估过程,它们贯穿于仿真
研究的整个生命周期,并对仿真可信性评估提供定性和定量的依据。
  根据对研究对象的概念性描述与数学模型的形成过程进行校核和验证,确定数学模型能否代
表研究对象。根据对仿真模型在计算机上实现过程的评估确定可运行的仿真模型是否正确地实现
了数学模型。根据模型测试和仿真试验的结果与对研究对象的观察结果或其它可用的结果进行定
性或定量的比较,作出是否一致性的判断,从而对整个建模过程进行评估,判定仿真模型的可接
受性。这是仿真模型的确认问题。

3 模型的校核

  模型的校核是检验研究对象的一种模型向另一种模型的转换过程的正确性。例如如果已经得
到研究对象的连续数学模型,在确定离散化方法后,就需要推导大量的公式,构造离散化的数学
模型,这时对公式的推导过程必须进行检验,以保证由连续数学模型向离散数学模型的转换过程
的正确性。在得到离散数学模型后,就需要将其进行编码,编制计算机能够执行的程序,得到可
运行的数字仿真模型。这时模型校核的目的就是检验编程的正确性。因此,仿真模型的校核的目
的在于按照规定的步骤,采用适当的方法,对仿真模型的建模过程及其程序进行严格的检验,以
发现和改正仿真模型及软件中的错误,使数字仿真模型的质量在校核过程中不断高,达到规定的
要求。
  在仿真模型的校核过程中应该进行下述各项工作:
  (1)静态检查
  对建模过程的文档进行纸面上的检验,检验模型的转换过程是否正确。特别要对编制的仿真
模型的可执行程序进行走查。所谓走查是通过人工模拟执行软件的过程,来检验仿真模型的正确
性。人工模拟可以象计算机执行一样,逐条推敲,想象其每一步执行的可能的结果,进而确定其
执行逻辑、控制模型、算法和使用参数与数据的正确性。
  (2)动态调试
  即上机测试。设计一些试例进行测试,从仿真模型的运行情况及输出的中间结果来检查仿真
模型状态变量的变化是否合理正确,分析运算是否按预先设定的方式进行。例如用线路追踪检查
程序运行的路线是否与预想的一致,用赋值追踪检查中间结果是否正确。当中途停机时检查停机
的原因。
  (3)人工校对
  即用独立的人工计算结果与计算机输出结果进行比较,若在合理的精度范围内相符,说明程
序正确地实现了给定的计算步骤(或公式),若不相符,说明程序有问题。这种校对实际上是通过
对输入数据集的某个子集,用人工复算的简单过程来验证设计编制的程序。只要选取的子集具有
充分的一般性和人工复算过程与程序编制之间充分独立,这种检验是比较可靠的。大多数程序员
通常不易发现的自己编制的程序中的错误,通过这种人工校对,错误将会有效地识别。这种方法
常常得到资深的仿真工作者的推崇。由于全局校对太困难,一般都采用分段校对。可以用赋值语
句追踪输出每个语句的计算值,供人工校对时应用。人工校对时应由计算机字长和人工计算时所
用的有效数字的位数及所作运算的个数,确定舍入误差的范围,估计出结果的精度。若计算机输
出结果与人工计算结果在估计的精度内一致,则认为计算程序正确。如有超出估计精度的差异,
应查出引起差异的原因,并进行改进。人工校对比较原始,但它能比较客观地检查程序的正确
性,检查程序中运算次序的安排是否合理。
  上述三项工作对于保证建模过程的正确性是非常重要的,但是往往被忽视。根据作者多年建
模的经验,90%以上的建模错误都可以通过静态检查和人工校对发现并进行改正。

4 模型的验证

  模型的验证是要证实研究对象的一种模型向另一种模型的转换过程得到的是一个有效的模
型。例如在由连续模型通过离散化转换得到的离散模型必须保持原连续模型的一些基本品质,否
则这个离散模型就不是一个有效的模型,如稳定性品质,给定带宽内的频率特性等。并不是随意
的离散化就能满足所需要的要求,模型的验证就是要通过测试和理论分析来证实在一定的精度下
这些要求是否满足。下面的例子说明模型验证的必要性。
  例1 考虑由常微分方程初值问题

73-1.gif (1490 bytes)                (1)

  描述的连续数学模型,其解为y(t)=eλt。当λ为负实数时,这个数学模型是稳定的,
而当λ为正实数时,数学模型是不稳定的。对(1)采用欧拉法进行离散化,得到递推式

73-2.gif (1523 bytes)                (2)

式(2)是(1)的离散化模型。当λ=-100,T=0.1时,由式(2)得到

73-3.gif (1795 bytes)

因此离散模型(2)是发散的,它不能反映连续系统的稳定性品质。另一方面,若对(1)采用向后欧
拉法,得到

73-4.gif (1279 bytes)

解出yn+1,得到递推式

73-5.gif (1324 bytes)                (3)

它是式(1)的又一个离散化模型。显然,当λ<0时,这个模型是稳定的,它保持了原模型的稳定
性品质。但是当λ=50,T=0.1时,由式(3)得到

74-1.gif (745 bytes)

这是稳定的结果,与λ=50的式(1)的不稳定性不一致。
  由这个例子看出,虽然式(2)和(3)都可以在计算机上实现,但对于随意选用的步长T,由它们
得到的数字仿真模型不能真实反映原数学模型的稳定性品质,需要进行测试,确定步长T可用的范
围,保证建立的离散模型能代表原连续模型。这就是模型验证的内容。模型验证应该进行下述
各项工作:
  (1)离散化算法的验证
  这种验证包括两方面的工作:一方面对构造的离散化算法进行理论研究,给出它的主要品
质,适用范围和算法应用的误区等;另一方面验证算法的应用是否正确,编制的程序是否符合算
法的要求,应用的对象是否在算法的应用范围内。
  (2)物理验证
  检查仿真结果的变化规律与对研究对象的观测结果是否相符,对仿真中出现的各种现象(特别
是异常现象)作出合理的物理解释。这种验证是定性的。
  (3)典型例子的测试
  将对复杂系统建立的数字仿真模型进行适当的调整和简化,但保留模型的基本框架,使其变
为具有已知解的系统的数字仿真模型。将调整简化后的数字仿真模型的输出与已知解进行比较,
由此来验证数字仿真模型的在调整简化过程中不变部分的正确性。
  (4)模型特性的测试
  对数字仿真模型的基本特性进行测试,并将测试结果与原系统进行比较。通常在时域中测量
模型的过渡响应,它代表模型对各种典型输入的响应随时间变化的性质。在所关心的频段内考察
模型对各种频率信号的响应,这是模型在频域中的性质,它可以比较全面地给出模型参数的影
响。

5 结束语

  校核、验证和测试是建立有效的数字仿真模型的重要活动,它贯穿于仿真的全过程,对于保
证仿真结果的可信性具有重要的作用。本文对此作了简单的介绍,并且给出一些具体的实施步
骤。

费景高(航天工业总公司二○四所,100854)

参考文献

1, Balci O. Principles of simulation model validation, verification a
nd testing. Transactions of the SCSI, 1997, 14(1):3-12.
2,陈志才防空导弹武器系统软件质量控制环节现代防御技术,1998,26(1):12-16


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅