课程详细信息
本课程为期五天,阐释应用基于模型的设计来满足安全相关软件开发的 ISO 26262 和 IEC 61508 合规性的指导原则。通过学习本课程,用户能够使用 Simulink® 环境以符合功能安全指导原则的方式合成、实现和验证其软件组件。
主题包括:
- 使用 Simulink 子系统、库和模型设计和实现模块化软件。
- 管理需求、架构、子系统、测试和代码之间的可追溯性。
- 使用基于模型和基于代码的测试,在软件开发过程中执行早期验证和确认。
- 在开发过程的所有阶段建立和实现软件标准。
- 使用 IEC Certification Kit (for ISO 26262 and IEC 61508) 简化工具鉴定。
第1天 (共5天)
关于 ISO 26262 和基于模型的设计的概述
目标: 概要了解 ISO 26262 及其在汽车行业中的作用。讨论 MathWorks 在此标准中的参与和支持程度。
- ISO 26262 标准
- 基于模型的设计概述
- 参考工作流
工程管理
目标: 组织工程文件(模型、数据、文档)。熟悉工程环境。
- 工程建立
- 文件快捷方式和标签
- 文件依存关系分析
模型创建
目标: 为算法开发创建和仿真 Simulink 模型。使用数据字典管理模型数据。
- Simulink 环境
- 离散时间模型
- 采样时间
- 仿真和结果分析
- 数据字典
- 求解器选择
模型合规性
目标: 探索如何建立和执行建模标准,以及检查常见的建模错误。
- 建模标准
- 编辑时检查
- 模型顾问
- 结果报告
第2天 (共5天)
需求管理
目标: 将 Simulink 模型与软件需求链接起来。
- 需求集
- 需求导入
- 需求链接
软件单元验证
目标: 创建基于时序和基于逻辑的 Simulink 模型测试用例。
- 验证的类型
- 设计错误检测
- 测试框架创建
- 测试输入
- 测试中的逻辑
- 基于需求的评估
软件单元的代码生成
目标: 为软件单元生成代码。自定义生成代码以优化数据存储和执行。
- 阶跃函数的代码生成
- 函数原型
- 数据存储优化
- 数据类型和存储类
- 数据对象
- 函数模板
第3天 (共5天)
子系统
目标: 使用子系统在软件单元内创建功能分区。将子系统打包到库模块中以便重用。在生成的代码中创建分区。
- 子系统
- 可变子系统
- 子系统引用
- 封装
- 库
- 子系统代码生成
多速率建模
目标: 介绍基于速率和导出函数建模方法。处理速率之间的转换。
- 模块执行
- 单速率系统
- 多速率系统
- 速率转换
- 导出函数模型
架构建模
目标: 使用 System Composer 创建软件架构模型。分析软件架构并链接到行为模型。
- 架构模型
- 配置文件和原型
- 接口编辑器
- 视图
- 行为模型链接
第4天 (共5天)
系统集成
目标: 使用模型引用将各软件单元组织到一个集成模型中。配置模型设置和数据字典,以便它们可以在集成阶段跨不同模型共享。
- 系统组件的考虑
- 模型引用
- 引用的数据字典
- 引用的配置集
- 集成模型的代码生成
- 模型工作区
在环测试
目标: 使用在环测试方法对生成的代码进行测试和验证。
- 软件在环测试
- 代码探查
- 模型引用软件测试
- 处理器在环测试
验证自动化
目标: 创建可重复性测试分组,自动生成测试结果报告。
- 测试文件
- 覆盖率分析
- 测试结果报告
第5天 (共5天)
代码验证
目标: 对生成的代码执行静态分析以确保代码符合 MISRA C:2012。
- 使用 Polyspace Bug Finder 进行代码验证
- 软件 MISRA C:2012 合规性
- 代码度量
报告
目标: 介绍从 Simulink 模型自动创建报告以及文档的方法。讨论工程环境中的配置管理方法。
- 模型测试仪表板
- 网页视图
- 标准报告
- 版本控制工具集成
- 文件版本比较
工具鉴定
目标: 使用 IEC Certification Kit (for ISO 26262 and IEC 61508) 来鉴定 MathWorks 工具以满足 ISO 26262 合规性
- 工具鉴定
- IEC Certification Kit (for ISO 26262 and IEC 61508)
案例研究
目标: 应用基于模型的设计来实现控制算法以展示参考工作流。