知识分享 | 评估模型架构——如何实现?

描述

确保良好的模型架构对于开发安全和可靠的软件非常重要。本文为您介绍MES Model Examiner® (MXAM)如何优化模型架构,简化复杂度管理步骤,并最终提升软件质量。

符合ISO 26262标准的模型架构分析和可视化

一个良好的模型架构是模型能够生成安全软件的重要前提。MXAM能够帮助您分析Simulink、Stateflow、Embedded Coder和TargetLink模型的架构。分析结果包括了所有相关软件指标,以实际评估您模型的架构,复杂度和大小。MXAM快速且准确的结构与复杂度分析让您的模型一览无余,并有助于改进生成的代码。

MXAM如何降低模型复杂度,并改进生成代码

1. 快速结构概览

MXAM能够为您提供模型结构的快速和清晰的可视化概览,包括子系统、状态图结构、界面设计以及已分析系统属性的客观图表和指标。MXAM根据完善的软件指标评估模型复杂度,同时提供关于模型中使用到的要素的数量和类型的详细信息。

MES

图1:使用MXAM中的工件导航实现快速结构概览

MES

图2:工件导航中的control_logic

 

2. 对模型大小进行实际测量

我的模型大小究竟如何?MXAM中的指标“全局复杂度”能够轻松并客观地回答您的这个问题。为了计算全局复杂度,应考虑分析模块中的所有要素,也应考虑嵌套子系统中的内容。全局复杂度同样反映了模型实现的复杂度,也为效果测试和审查提供了可靠的测量标准。

MES

图3:通过度量指标提供对模型规模的实际测量

MES

图3:通过度量指标提供对模型规模的实际测量

3. 细致入微的分析

在“局部复杂度”数据的帮助下,我们对已实现功能的局部分布进行评估。MXAM基于halstead公制量来计算Simulink、Stateflow和TargetLink模型子系统的局部复杂度。

评估表能够快速识别复杂度热点,即模型中由于功能不平衡而导致复杂度过高的部分。由于这些部分的复杂度,这些热点通常更难测试,且更易出错。重构是常见的推荐做法,因为可以通过MXAM中可用的模型度量指标组合来帮助确定优先级。

通过“非相干度度量指标”可以评估一个子系统是否特别适合进一步拆分。该度量指标能够评估给定的Simulink子系统在多大程度上仅与一项任务有关,或是否实现了多个独立任务。如果子系统的耦合度较低,那么通过适当的拆分进行重构会更加容易。

MES

图5:MXRAY度量显示的复杂度与非相干度

4. 高效查找子系统中的克隆

MXAM可检测克隆并评估子系统内部的依赖关系,帮助您识别复杂、易出错的模型部分,同时降低模型复杂度。这为您满足ISO 26262软件架构相关的关键要求提供了可靠支持。即使模型布局和参数发生变化,MXAM也能够轻松识别出克隆部分。因此,通过可重复使用的组件(比如引用模型或库子系统),重复使用过的功能可以被安全识别且集中化。通过这样的方式,模型和代码大小即得以控制。

MES

图6:使用MXAM发现的克隆部分

 

5. 全面的文档

MXAM生成的全面报告能够让模型复杂度和结构质量的评估结果一目了然。报告中的色标可直接突出显示模型复杂度热点。详细的指标度量图表使模型实现更加透明。

 

MES

图7:MXAM中关于"度量指标概览" 的综合文档

使用MXAM改进模型架构的优势

透明

  • 识别复杂的模型部分(热点)
  • 查找重复的子系统

简化

  • 可视化模型结构
  • 评估结构复杂度

度量指标

  • 在模型层面计算所有相关软件度量指标
  • 计算模型相关的度量指标

合规性

  • 确保符合安全标准,如ISO 26262/IEC 61508(架构设计原则,第6部分,第7章)
  • 确保符合质量标准ASPICE(评估软件细节设计,基本实践SWE.3.BP4)

欢迎您了解MXAM,并申请免费试用!

注:对于MES工具老用户:模型度量和复杂度分析曾是MES旧工具MXRAY的重点功能。MXRAY的功能现已完全集成在MXAM中(自MXAM v.6起)。MXRAY现已不再以独立工具提供。

*文章内容来源:MES模赛思官方网站

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分