Simulin金宝appk上的Guy

金宝appSimulink &基于模型的设计

Simulink代金宝app码检查器能为您做什么?

前段时间,我和我的同事Sarah Dagen进行了一次讨论咨询服务她开始解释金宝appSimulink Code Inspector™给我。我立刻制止了她,说:等等!不如写一篇博客吧!

结果如下:

为什么使金宝app用Simulink代码检查器?

您正在使用Simulink设计一个高完整性的软件应用程序(好主意!)金宝app一旦有了经过测试且满足设计要求的优秀设计,就可以使用Embedded Coder生成C代码,然后编译、链接并加载到嵌入式硬件目标上。

你知道你的Simulink设金宝app计完全是你想要它做的——不多也不少。但是您不会在嵌入式硬件上运行Simulink—您将运行由自动生成的C代码金宝app构建的可执行文件。

那么C代码呢——它仍然代表你的设计吗?你怎么知道?你可以用Processor-in-the-Loop(公益诉讼)并在目标处理器上重新运行基于需求的测试,以验证输出是否与模拟输出匹配。这是一个好的开始。然而,这并不一定会证明不存在非预期代码。那么,什么可以呢?

Sarah Dagen,客座博主和代码检查大师

所以…什么是Simul金宝appink代码检查器?

金宝appSimulink Code Inspector自动将生成的代码与其源模型进行比较。它检查生成的代码和模型,以确定它们在结构上是否等效。在检查完成之后,它会生成详细的报告,包括模型到代码以及代码到模型的可追溯性分析。

因为Simuli金宝appnk Code Inspector的实现完全独立于嵌入式编码器,可作为符合DO-178C/DO-331认证目标的手段。这些结构等价性和可追溯性报告可以提交给认证机构,作为高完整性标准代码审查的证据,例如- 178 c吗.金宝appSimulink代码检查器由我们的金宝appDO-178C/DO-331鉴定试剂盒,让您在使用该系统处理DO-178C/DO-331应用程序时,可获得认证学分。

它是怎么做到的呢?

魔法!

好的,魔术和抽象语法树

金宝appSimulink代码检查器

使用Simulink代码检金宝app查器

为了突出Code Inspector能为您做什么,让我们以一个非常简单的模型为例,将其部署到嵌入式目标。

示例模型

代码检查器并不支金宝app持所有Simulink/Stateflow特性。金宝app在运行检查之前,您需要检查您的模型是否与代码检查器兼容。可以运行代码检查器中包含的一组Model Advisor检查来验证兼容性。

模型顾问检查Simulink代码检查器金宝app

我在模型上运行这些检查,并检查model Advisor报告。

代码检查器模型顾问报告

没有兼容性问题,所以让我们继续进行检查。

从“代码”菜单打开金宝appSimulink代码检查器窗口…

启动Simulink金宝app代码检查器

得到这个窗口:

代码检查器对话框

一旦代码生成和检查完成,将打开包含结果的报告。

代码检查报告

这是检查报告——我们通过了!

代码检查员报告

这份报告非常详细——让我们看看其中包括的一些信息。

模型到代码的可追溯性

模型到代码的可追溯性——使用超链接导航到精确的模型对象,方便快捷。

代码检查员报告

Code-To-Model可追溯性

根据您的目标,知道哪个块对应于特定的代码行可能会更方便。该报告还包括代码到模型的可追溯性部分。

代码检查员报告

我想现在该轮到你了……

我们已经介绍了Simulink Code Inspector的一些基本特性。金宝app显然,关于这个工具还有很多内容,但我希望本文概述能启发您思考为高完整性应用程序验证自动生成代码的过程。

您组织的高完整性嵌入式软件开发过程是否包括手动代码审查或从模型到代码的手动跟踪?您是否有兴趣看到更多关于使用Simulink进行高完整性软件开发的文章?金宝app让我们知道你的想法下面的评论

还有一件事……正如在以前的文章,如果您在基于模型的设计过程的任何部分需要帮助,您可以联系我们的咨询服务



|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。