首页 > 其他分享 >​MBD软件开发

​MBD软件开发

时间:2023-06-14 20:55:30浏览次数:58  
标签:PIL 软件开发 验证 MBD 模型 HIL SIL

​MBD软件开发V模型:

参考文章:

汽车软件开发V模型 - 知乎

汽车控制器V型软件开发流程 - 知乎

MBD闲谈 第01期:认识一下MBD - 知乎

MBD闲谈 第02期:MBD开发流程 - 知乎

 

MBD在汽车工业中的工作流程:

该图截取自Mathworks官网技术文章”An ISO 26262 Workflow for Automated Driving Applications Using MATLAB: Guidelines and Best Practices”:An ISO 26262 Workflow for Automated Driving Applications Using MATLAB: Guidelines and Best Practices - MATLAB & Simulink

重要文章”如何将Simulink应用于ISO 26262项目”:如何将Simulink应用于ISO 26262项目 - MATLAB & Simulink 

 

MBD对ISO-26262认证支持的新进展: 预期功能安全(SOTIF)流程集成:

该图截取自Mathworks官网技术文章”MBD对ISO-26262认证支持的新进展”:MBD对ISO-26262认证支持的新进展 - MATLAB & Simulink

 

四个种在环测试方案:

参考文章:

什么是MIL、SIL、PIL和HIL?_mil sil hil_zeloas的博客-CSDN博客

自动驾驶虚拟仿真测试介绍(7):MIL、SIL、PIL和HIL是个啥_自动驾驶仿真测试的博客-CSDN博客

MIL/SIL/PIL/HIL的区别与具体定义_mil sil pil hil_zolty的博客-CSDN博客

MIL、SIL、PIL、HIL是个啥,你搞懂了吗?_tthusika的博客-CSDN博客

 

MIL(Model In Loop):模型在环

 目的:

1、系统工程师:快速验证算法原型的功能需求。

2、软件工程师:模型级的集成测试。

MIL最大的作用还是梳理项目的开发框架,是系统层面上的设计工作,还可以对不熟悉的领域或者相关知识进行学习

 

SIL(Software In Loop):软件在环

目的:

验证模型与模型所生成的C代码在PC端上,是否一致,即:SIL是一种等效性验证,验证”模型”和”代码(PC端)”的行为是否等效。

因为SIL的目的是等效性验证,因此,可以不用搭建前述的那种完整的闭环模型,而使用如下方式替代:

 

PIL(Processor In Loop):处理器在环

目的:

1、验证模型与模型所生成的C代码在目标处理器上,是否一致,即:PIL是一种等效性验证,验证”模型”和”代码(目标处理器端)”的行为是否等效。

2、获得算法在实际处理器上的运行时间信息(如:最长运行时间)。

因为SIL的目的是等效性验证,因此,可以不用搭建前述的那种完整的闭环模型,而使用如下方式替代:

 

HIL(Processor In Loop):硬件在环

 很多人会把HIL和PIL混淆,也有人认为PIL是一种简化的HIL,理由是PIL测试的时候也需要引入硬件。这种理解是错误的。

PIL和HIL验证的目的不同:

PIL用于验证软件和模型是否一致,是一种等效性验证。

HIL用于验证完整的控制器系统,控制器系统包括了硬件、底层软件和应用层软件。

*:严格来说HIL是可以从MBD独立出来的,使用HIL不意味着就一定是MBD。

标签:PIL,软件开发,验证,MBD,模型,HIL,SIL
From: https://www.cnblogs.com/weitao-miao/p/17481326.html

相关文章

  • 感觉不队软件开发照片
      ......
  • Java中Lambda表达式
    Demo1:packagecom.itheima.d9_lambda;publicclassLambdaDemo1{publicstaticvoidmain(String[]args){//目标:学会使用lambda的标准格式简化匿名内部类的代码形式Animala=newAnimal(){@Overridepublicvoidrun(......
  • 软件开发血泪史
    在我工作的第一年,我被分配到一个硕大的项目组中进行软件开发工作。这个项目组本来规划为14人团队,但因为招聘困难,我们只有7个开发人员。我们被要求开发一个复杂的web应用程序,需要处理大量的数据处理和用户交互。然而,项目规划及时间表显然没有考虑到实际情况,压力巨大。在项目进度方......
  • Lambda表达式所有API整理
    1、Lambda表达式2、Comparator使用简介文章目录一、概念二、内置函数式接口三、获取Stream流方式1、通过Collection1.1Collection1.2Map2、静态方法四、常用方法1、函数拼接方法1.1forEach1.2filter1.3limit1.4skip1.5map1.6flatMap1.7sorted1.8distinct1.9***match1.1......
  • AWS Lambda 教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介AWSLambda是AWS在2014年推出的「无服务器」(Serverless)计算服务,用户无需管理服务器,可以更专注自己业务。由于上手简单,而且真正利用了云的优势,Lambda快速成为了一项明星服务。Lambda在可用性高的计算基础设施上运行您的代码,执行计算资源的所有管理工作,其中包括服务器和......
  • 最佳软件开发实践
    最佳软件开发实践是一套广泛接受的、在软件开发过程中应用的原则和方法,旨在提高软件的质量和效率。以下是一些常见的最佳软件开发实践:1.**需求分析**:在开始任何开发工作之前,应充分理解和明确需求。这包括与所有相关的利益相关者进行沟通,以确保他们的需求和期望都被考虑到。2.*......
  • lambda的定义
    java中lambda的本质是匿名函数,并且java8接口的default修饰的方法不会影响lambda的特性。为什么叫它匿名函数,很简单,可以不写函数名。简单示例:packageorg.example;publicinterfaceDemoInterface{defaultvoidaFun(){System.out.println("这是一个a方法");......
  • 小米java软件开发面经
    面试转载面经小米java软件开发:一面50分钟左右:面试题:1、介绍下项目。2、使用Redis存储手机验证码以及检查是否过期的功能,展开说一下。3、Redis如何清除过期数据?4、Redis的持久化机制。5、RDB和AOF方式有什么区别?为什么提供第三种混合方式?6、Redis缓存异常的三......
  • 【python】lambda
    lambdalambda是匿名函数,也就是没有名字的函数。lambda的语法非常简单:下面是一个lambda表达式的简单例子,我们可以把lambda表达式赋值给一个变量,然后通过这个变量来使用它:>>>my_sum=lambdax,y:x+y>>>my_sum(1,2)3lambda默认参数详解语法lambda[parameter_list,p......
  • 租赁小程序开发|人车网租赁软件开发|人车网租赁系统功能
    其实租赁一直存在于我们的生活中,用户群也比较广泛,不受年龄界限的限制。在互联网时代,我们可以将不使用的东西发布到一个受限的租赁平台上,这样既能帮助别人,又能获得一定的利益,这是双管齐下的事情,而这也是租赁小程序发展受到人们欢迎的一个重要原因。那么租赁小程序有哪些功能呢?接下来......