(二)、基于模型的设计八个核心概念

基于模型的设计是通过模型进行开发的方法,用于控制、信号处理等系统。它减少了对物理原型的依赖,支持模型驱动的开发流程,包括系统级仿真、自动化代码生成和持续测试。这种方法帮助管理复杂性,提高效率,促进沟通,并降低了风险。案例展示了在汽车ECU开发中如何应用这一方法,从高级模型到详细模型,再到代码生成和硬件在环测试的过程。
摘要由CSDN通过智能技术生成

        基于模型的设计是一种以模型为中心的方法,用于开发控制、信号处理、通信和其他动态系统。 基于模型的设计不依赖物理原型和文本规范,而是在整个开发过程中使用模型。 该模型包括与系统行为相关的每个组件——算法、控制逻辑、物理组件和知识产权 (IP)。 一旦模型被开发(详细化),它就会成为许多输出的来源,包括报告、C 代码和 HDL 代码。 基于模型的设计支持系统级和组件级设计和仿真、自动代码生成以及持续测试和验证。

基于模型设计的工作流

         基于模型的设计几乎可以支持任何组织类型,并且已在许多不同的开发工作流程中成功实施。 如何实施它取决于组织的规模、结构和文化,以及正在开发的系统和目标市场的需求。 您可能会选择在企业范围内采用基于模型的设计,从而转变整个开发过程。 或者,您可以有选择地应用它来解决特定的挑战,例如工作流瓶颈、设计要求的突然变化或增加的系统复杂性。

        “三年前,上汽还没有丰富的嵌入式控制软件开发经验。 我们选择了基于模型的设计,因为它是一种行之有效的开发方法。 这种方法使我们的工程师团队能够开发高度复杂的 HCU 控制逻辑并提前完成项目。”
        – 朱骏,上汽集团

上汽集团

为什么要进行基于模型的设计?
        基于模型的设计提供了一种简化开发的许多方面的途径。 例如,有组织报告说基于模型的设计使他们能够:
        • 管理复杂系统
        • 自动化耗时且容易出错的任务
        • 快速探索新想法
        • 创建一种促进沟通和协作的通用语言
        • 获取和保留知识产权
        • 提高产品质量
        • 降低风险

案例:使用基于模型的设计构建 ECU

一个汽车工程师团队着手为乘用车制造发动机控制单元 (ECU)。 使用采用基于模型设计的工作流程,工程师首先构建整个系统的模型——在他们的例子中,是一个四缸发动机。
这种高级、低保真度模型包括将在软件(ECU)中实现的系统部分和环境(工厂和发动机运行条件)的简化表示。
该团队通过在各种场景下模拟此高级模型来执行初始系统和集成测试,以验证系统是否正确表示以及它是否正确响应输入信号。 模棱两可的需求等问题通常会在早期阶段被发现,此时修复起来很容易且成本相对较低。 该模型成为用于验证文本需求的可执行规范。
在运行第一个高级系统仿真后,团队向模型添加细节,通过仿真根据需求和标准不断测试和验证管理基于模型的设计系统级行为。 如果系统庞大而复杂,工程师可以独立开发和测试单个组件,但仍会在完整的系统模拟中频繁地测试它们。 最终,该团队构建了系统及其运行环境的相关部分的详细模型。 该模型捕获有关系统(IP)的累积知识。 工程师从用于软件测试和验证的控制算法模型生成代码。 在实时硬件在环测试之后,团队将自动生成的代码下载到生产硬件上,以便在实际车辆中进行测试。

        基于模型的设计建立在八个核心概念之上:
        • 可执行规范
        • 系统级仿真
        • 假设分析
        • 模型阐述
        • 虚拟样机
        • 持续测试和验证
        • 自动化
        • 知识获取和管理

1、可执行规范

        可执行规范是封装所有设计信息的模型,包括需求、系统组件、IP 和测试场景。 它可以是具有嵌入式软件需要管理的用例的环境模型,也可以是指定实现的确切行为的高级算法模型。
与基于文本的规范相比,可执行规范具有以下优点:
        • 模型通常包含比文本文档更多的信息。 管理基于模型的设计
        • 模型是明确的,不需要像文本文档那样进行解释。
        • 因为它包含明确的信息,所以模型可以在团队成员之间以及与客户和供应商之间进行清晰、高效的沟通。
        • 可执行规范可用于验证文本需求——对需求建模以确保其一致性
和准确性。

2、系统级仿真

        在系统级仿真中,仿真整个系统的模型以研究系统性能和组件交互。 您可以使用系统级仿真来验证需求,检查项目的可行性,并进行早期测试和验证。 仿真提供了一种验证复杂的多域系统的方法,这些系统不仅仅是各部分的总和。系统级仿真的其他好处包括:
        • 可以及早调查设计问题和不确定性,远在您构建昂贵的硬件之前。
        • 仿真是安全的——如果设计不工作,不会对硬件造成损坏或其他危险。

3、假设分析

        假设分析是一种模拟方法,用于测试想法和了解系统。 您可以执行假设分析来测试单个组件或调查系统中所有组件的交互。 假设分析带来与系统级仿真相同的好处。 此外,它使您能够:
        • 快速探索和评估多种设计理念
        • 生成关于系统的新知识

4、模型阐述

        模型细化是一个迭代过程,它使用仿真将低保真系统模型转变为高保真实施。 一旦您模拟了高级系统模型以验证需求,模型管理就开始了基于模型的设计细化。 当模型产生所需的结果时,将添加细节和改进,然后再次模拟模型。 常见的改进包括从浮点数转换为定点数、从连续时间转换为离散时间、用详细的执行器模型替换行为执行器模型,以及添加用于诊断的信号。
        模型细化使整个系统能够得到持续测试。 当有足够的详细程度时,描述嵌入式软件的部分可用于生成用于快速原型设计和硬件在环测试的代码。 更详细地说,该模型可用于生产代码生成。

5、虚拟样机

        虚拟原型设计是一种在硬件可用之前使用仿真来验证设计的技术。 在工厂和环境尚未完全了解或理解的情况下,例如机械结构,可能需要使用硬件原型进行实验来构建模型。 从这些实验中获得的知识然后存储在模型中,可以将其转移给其他开发人员、部门、供应商和客户。
        虚拟原型可以节省开发时间,因为构建模型通常比构建物理原型快得多。 虚拟原型还可以降低成本并增加创新,因为它们使团队能够快速、安全地尝试新概念。 在许多情况下,模型可以代替测试台。 使用模型可以减少开发瓶颈,因为测试平台通常是稀缺资源。

6、持续测试和验证

        持续测试和验证是在每个开发阶段模拟设计的做法。 它用于在将故障引入设计后立即识别它们。 持续测试和验证可以采取不同的形式,可以在不同的层次上进行,这取决于系统的复杂程度和开发阶段。 例如,它可以是以下任何一项:

        • 开环测试——使用预定义的输入和指定的输出检查来测试单个组件
        • 闭环测试——使用环境模型和工厂模型测试组件或设计
        • 快速原型制作——从控制器模型生成代码,以根据实际工厂和环境测试嵌入式系统的软件部分
        • 硬件在环 (HIL) 仿真——从环境模型生成代码,以针对仿真环境实时测试实际嵌入式系统 连续测试和验证的好处包括:
        • 及早发现错误,减少成本和开发时间
        • 减少错误,提高软件质量
        • 降低风险,提供一种经济高效、安全的方法来测试可能损坏昂贵硬件的场景
        • 增加对系统的了解

7、自动化

        自动化是使用脚本和工具来执行重复性任务或手动执行时容易出错的任务的做法。 基于模型的设计中的常见自动化包括:
        • 生成生产代码
        • 开发目标为特定目标硬件定制生成的代码
        • 生成报告,例如设计说明和测试结果
        • 进行模型检查以确保模型符合指南
        • 连接到系统数据库以进行接口检查和设置
        • 正式证明系统属性
        • 正式证明代码正确性

        • 自动构建和测试整个系统,包括组件测试
        基于模型的设计中的自动化带来以下好处:
        • 团队可以专注于设计而不是实施细节。
        • 更快的开发周期使处理需求变更变得更加容易。
        • 复杂系统更易于管理

8、知识获取和管理

        在基于模型的设计中,模型是项目信息的主要来源。 这些知识不仅包括设计规范和正在开发的系统的详细信息,还包括产品知识、团队成员的设计专业知识、过去的经验和设计最佳实践。
这些模型成为团队内部以及与客户和供应商之间传递信息的通用语言。 因为模型可以被执行或模拟,所以它们包含的知识随着对系统的理解的增长而增加。
使用模型进行知识获取和管理有助于:
• 改善沟通
• 保护知识产权
• 建立知识共享文化
• 改善项目和业务关系

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值