使用 matlab 和 simulink 进行验证和确认
需求验证
非形式化文本需求可以存储在文档、电子表格或 ibm ® rational ® doors ® 等需求管理工具中,用于启动开发过程。requirements toolbox™ 支持您导入、查看、编写、并与您的架构、设计、生成的代码和测试工件一起管理需求。您可以在 system composer™、simulink、stateflow ® 或 simulink test™ 中创建从需求到设计的数字线索。通过追溯,您可以识别实现或测试缺口,快速了解更改对设计或测试的影响。
您可以形式化需求并分析其一致性、完整性和正确性,以便使用 requirements toolbox 中的 requirements table 模块更早地验证需求。借助 simulink test 中的时序评估,您可以采用可评估、可调试的自然语言形式以精确的语义指定评估,从而验证文本需求。
认证标准合规性
对照标准自动验证模型和代码,这些标准包括 do-178、iso 26262、iec 61508、iec 62304 和 mathworks advisory board (mab) 风格指南等。simulink check™ 提供行业认可的检查和指标,用于识别开发过程中违反标准和指南的情况。您可以创建自定义检查以针对自己的标准或指南实现合规。iec certification kit (for iso 26262 and iec 61508) 和 do qualification kit (for do-178 and do-254) 提供了工具鉴定工件、证书和测试套件,可帮助您鉴定代码生成和验证产品,并简化嵌入式系统认证。
证明不存在错误并形式化验证需求
形式化验证可找出导致整数溢出、死逻辑、数组访问越界和除以零的隐藏设计错误,同时无需对设计进行仿真。simulink design verifier™ 可以形式化验证您的设计中不存在错误或安全漏洞。simulink design verifier 还可以证明您的设计符合关键需求。如果发现例外,它会自动生成反例以用于调试。
自动测试生成
识别测试缺口、非预期功能或需求错误非常重要。simulink coverage™ 可以计算测试期间模型或生成代码的执行比例。它支持多种行业标准指标,包括条件、决策、修正条件/决策覆盖率 (mcdc) 以及自定义覆盖率目标。simulink design verifier 可以自动生成测试用例,帮助您解决覆盖率完整性问题,以实现结构性和功能性覆盖率目标。
静态代码分析
在验证手写代码和生成的代码时,polyspace® 产品通过形式化方法找出缺陷并证明不存在严重运行时错误,同时无需执行测试用例或代码。polyspace bug finder™ 可以检查是否符合 misra®、iso 26262、iec 61508 和 do-178 等标准或 fda 法规,并记录到文档。您可以检查是否存在软件安全漏洞,以及是否符合 cwe、cert-c、iso/iec 17961 或其他标准。polyspace code prover™ 可以执行静态分析,证明在 c 和 c 源代码中不存在溢出、除以零、数组访问越界或其他运行时错误。
“相比过去的手工编码,采用基于模型的设计后,我们的人工成本降低了 30%,测试成本降低了 20%,而生产效率却提升了 30% 以上。我们提前完成了 ecu 开发,同时还在公司内部建立起自己的软件开发团队。”
daming li, weichai power