使用基于模型的设计进行早期验证和确认(4)

时间:2025-07-10

基于模型的设计

的关键测试的范围。

每个组织都有针对设计和实现的标准或最佳做法。这其中有许多标准并未形成文档,但是却被关键人员铭记在心。使标准书面化并将标准检查加入模型开发流程是很简单的做法,但却可以产生巨大的影响,因为这样做可尽早减少“愚蠢”错误的数量,确保模型在团队成员之间共享时更具可读性,并且更加容易在将来进行维护。对标准进行建模可以非常简单(如验证所有输入和输出是否已连接),也可以非常复杂(如是否满足行业标准)。关键在于开发一致的检查,然后在整个组织中推动对这些检查的遵从性。

确定测试组件何时能够满足需要通常不仅是一门科学,更是一门艺术,因为您通常要根据设计或测试工程师的判断来确定。对于软件组件,许多团队使用代码覆盖率作为更客观的标准来衡量测试的完整性。您同样可以将模型覆盖率用于模型测试。覆盖率用于衡量您在测试过程中测试了模型中(或源代码中)的多少逻辑。修改的条件/决策覆盖率是一种针对覆盖率的严格衡量标准,得到广泛接受。

大多数质量标准的核心原则是进行文档化。把需求,流程。结果记录下来。如果不进行记录,则不可能跟踪做过的事情;不可能向别人(如客户)证明您满足了他们的需求;也不可能重复您的结果。虽然记录通常很单调乏味,但是有许多工具可通过生成标准报告,来帮助自动记录活动。在您以后发现问题或希望重复使用设计时,良好的记录可帮助您节省时间,这也是非常重要的。

代码验证

这些做法是在模型级别开始早期验证的良好起点。最后,需要实现并部署到产品化硬件上。此时,代码验证成为重点。基于模型的设计可以提供哪些帮助呢?

自动代码生成是一种非常有用的方法。通过在模型级别验证您的设计,然后直接从模型生成代码,您只需要验证模型和代码是否等效。这是一种理想状态的工作流程。在实际情况中,有时不可能从模型生成需要的所有代码。您可能使用传统流程开发了一些中间件和设备驱动程序代码,或是可能将旧有代码用于某些功能。对于这些情况,可通过一些其他的最佳做法来验证代码。

用户几乎可以在任何位置测试硬件;然而,硬件通常没有与仿真中的测试有连接。许多因素都可能导致这种没有联系的情况:在硬件上运行测试的小组与对设计建模的小组不是同一批人,在实验室中运行的软件与设计中的软件也不相同。然而,当您在模型上运行的测试与在实验室中运行的测试相同时,您就可以确切地了解设计在实验室中的执行情况。若要验证代码是否等效于设计模型,您可以将相同的测试工具用于模型测试,来测试已编译并在嵌入式目标上运行的模型软件实现。同时对组件设计模型和嵌入式目标上的代码运行测试是一种协同仿真步骤,称为 PIL(处理器在环)测试。现在,可以使用一些工具在软件上执行测试(开发人员在主机(如 PC)上创建的测试),同时也在嵌入式处理器上运行测试。将嵌入式代码与原始模型的测试结果进行比较,可帮助您确保组件的行为在编译和下载后保持不变,并确保代码可正确运行。

嵌入式代码中的运行时错误特别难以发现,一旦发现后,又难以进行调试。这类例子包括溢出和下溢、被零除和其他算术错误、超出范围的数组访问、非法取消引用的指针、对非初始化数据的只读访问以及危险的类型转换等。直到最近,基本上只有三种选择可用于检测嵌入式软件中的运行时错误:代码检查、静态分析器和试错法动态测试。代码检查所需的人工工

使用基于模型的设计进行早期验证和确认(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219