基于模型开发总结

基于模型开发总结

对象:
汽车电子嵌入式应用层开发
环境:
Simulink
优势:
1. 善于处理复杂的时序、逻辑、运算(定点化数学运算)
2. 可以基于PC完成功能验证测试
3. 自动生成的代码不存在基本的语法问题
流程:
1. 需求分析
2. 框架设计
3. 建模
4. 单元测试
5. 集成测试
6. 系统测试
以上6个步骤需要注意的地方如下:

  1. 需求分析
    注意点如下
    a)分功能逐条列出需求捕捉
    化整为零,逐条确认可以做到尽可能的不遗漏,同时可以保证向上SOR和向下模型设计、测试的追溯
    b) 需求分为前置条件、执行动作、输出结果
    做以上区分便于后期建模理清数据流、测试
    c) 文档可追溯
    可追溯的文档、模型、代码、测试,才有逻辑清晰的说服力
    输出物:需求分析文档

  2. 框架设计
    框架设计是最考验功底的,一个好的架构不仅需要对功能了如指掌,同时也需要基本的建模素养。
    一个好的架构需要满足如下条件:
     可读性好(一目了然,通过架构可以清晰的了解功能意图)
     可维护性好(一般说来减功能容易加功能难,预留接口或者预留并行输入条件)
    输出物:数据流(架构设计文档我感觉用数据流体现足矣)

  3. 建模
    完成了需求分析、架构设计,模型的搭建就是水到渠成的事。建模细节需要积累。
  4. 单元测试
    单元功能测试,不涉及功能冲突测试。一般只是做MIL(model in the loop)测试,可以同步的追溯完善需求分析文档。鉴于已经完成MIL测试可以利用其测试工况顺便做一下SIL(software in the loop)测试。说明一下,SIL只是为了保证模型行为与C代码行为的一致性,即便是在很成熟的Simulink平台下也不排除小概率的出错(虽然我从没有遇到过,但是因为工作量不大,还是建议做一下)
  5. 集成测试
    集成测试主要是接口测试,可以同步追溯完善数据流文档
  6. 系统测试
    模型开发最后需要关注的就是系统测试了,系统测试很重要,它直接反映了整个模型各个功能模块自身及相互间的功能实现。一般是HIL(hardware in the loop)测试或者台架测试。这里省略了PIL(processor in the loop)测试,有的处理器表现行为可能与C代码行为存在差异,如果不是特别冷门的处理器,并且如果没有后续的台架验证的话,可以考虑话费成本和精力去做PIL。HIL测试完成后,基本上可以解决所有的bug了,至于说后续的labcar、实车测试出现问题的话大多是其他车载模块、电器,线束、机械结构等相关的问题。模型本身的问题几乎没有,一般就是需要标定,如果这都不能解决,那就要考虑需求本身的问题。
    note:关于建模规范上,使用MAAB测试。通过后相信模型的可读性、可靠性会有很大的提高。

你可能感兴趣的:(MBD)