分享

无缝对接需求与实现——采用 System Composer 进行架构设计

 轻松1975 2019-09-25

很多开发工程师有过这样的经历:

为了赶项目节点,拿到客户需求后简单分工一下立即各自着手进行功能开发,到了集成环节常常发现接口对不上或者不满足资源约束和性能要求。

造成这种情况的原因是在整个开发过程中忽略了一个非常重要的环节——架构设计

所谓的架构设计,是指以层次化的结构表征系统或软件的架构元素及其交互,从静态视角看包括功能和接口的定义,从动态视角看包括时序行为和流程顺序等。其任务是对原始需求进行研究梳理,经过对资源约束和性能指标的权衡分析后,选择出可以指导后续详细设计的模块功能定义和接口方式。

微信直播

助力系统工程落地:

从需求到软件实现

2019 年 10 月 24 日 20:00

观看本次微直播,学习在系统工程的方法论框架下,如何利用 MathWorks 工具链实现从涉众需求过渡到系统需求。

通过简单的实例,展示在 MATLAB R2019b 中基于 System Composer 进行架构设计、权衡分析、性能优化及设计验证,掌握基本的工作流程

长按识别下列二维码立即注册 >>

一个好的架构设计不仅可以完成一次早期的设计迭代和需求确认,同时为后期的系统集成提供了框架。正因为其重要性,在功能安全标准(ISO26262)和流程成熟度要求(ASPICE)中,都明确了架构设计作为正向开发过程中不可或缺的地位。

在基于模型设计的开发实践中,不同用户演化出了各自的架构设计方法:基于 Simulink 模块、基于 UML/SYSML 语言或者基于图形化的文档描述等。反馈的问题有:
  • 工具颗粒度:用于详细设计的工具对完整度要求较高,在架构设计细节缺失阶段难以分析和仿真;

  • 设计复杂度:架构描述语言的复杂和多义使得其应用局限于组织内部的极少数专家;

  • 数据多源性:需求、架构和设计元素在不同平台之间的切换,对追溯性和数据管理提出了挑战。

基于以上问题,Simulink 平台在 R2019a 推出了专属的架构设计工具——
System Composer
其遵循的设计理念如下图所示:

    ◆  

易表达

无需掌握繁复的架构描述语言,以草图式建模将设计思路转化为组件和接口。
组件可以继承自定制模板,如包含软件版本属性的软件组件模板、包含采样速率属性传感器组件模块、包含功率消耗属性的电气组件等;接口对应于总线概念,可以在创建时定义或者关联到已有总线,也可以预留到后续阶段细化。

能分析

在架构权衡时,非功能性的约束或者指标常常是重要依据和参考。

举例来说,整车电气系统设计时,极端功率消耗场景决定了储能系统(电池)的选型,需要对各组件的功率使用进行汇总。在权衡分析流程中,System Composer 集成了 MATLAB 强大的数据分析和处理能力,可以对源于相同模板的组件进行目标参数的自动汇总计算。类似的场景还可以应用于网络实时性评估、成本或重量的统计等。

无缝实现

类似于 AUTOSAR 的 Top-down 流程,从架构过渡到 Simulink 模型是极其自然的,架构组件可以直接创建或者链接到 Simulink 模型。

在创建过程中,Simulink 模型会自动继承 System Composer 架构组件已定义好的接口和总线定义,只需在其中添加实现算法即可。

反之,从已有 Simulink 模型亦可生成相应的架构模型。当架构组件附有 Simulink 实现模型时,可以利用 Simulink 仿真平台进行系统级仿真进一步评估关键性能指标。

可追溯

在 Simulink Requirements 的支持下,需求可以分配到对应的架构元素,从而建立起追溯关系。当需求发生变更时,可以快速评估对架构和设计的影响。

架构设计是系统工程和软件工程中是极为重要而又非常复杂的环节,MATLAB 2019a 推出的 System Composer 1.0 是 Simulink 平台迈向架构设计解决方案的第一步,并在 2019b 中持续更新

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多