这张图显示了模型大小的真实测量。
图像:模型大小的实际测量

评估模型架构——如何实现?

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

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

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

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

本图描述了利用工件导航功能实现的快速结构概览。
图1:使用MXAM中的工件导航实现快速结构概览

1. 快速结构概览

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

本图描述了MXAM的工件导航中的control_logic。
图2:工件导航中的control_logic
本图描述了通过度量指标提供对模型规模的实际测量。
图3:通过度量指标提供对模型规模的实际测量

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

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

本图描述了发动机气体动力学相关的一个Simulink模型。
图4:发动机气体动力学的Simulink模型
本图描述了MXRAY度量中复杂度与非相干度的程度。
图5:MXRAY度量显示的复杂度与非相干度

3. 细致入微的分析

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

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

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

本图描述了在子系统中高效查找克隆部分的过程。
图6:使用MXAM发现的克隆部分

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

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

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

透明

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

简化

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

度量指标

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

合规性

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

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

了解更多

MBD模型静态评估指标与最佳实践

在本次网络研讨会上,我们帮助您了解哪些模型指标能够在设计原则方面显著提高模型质量,为您提供解读模型指标的方法和应用模型指标的最佳实践,以及如何由此提高模型质量。

► 前往网络研讨会

联系我们

本图片是Elena Bley的肖像照。
Elena Bley
Senior Manager Marketing & Webinars

*必须填写

Please calculate 7 plus 8.