Presentation Title

Similar documents
PowerPoint Presentation

Overview of MathWorks

Presentation Title

2/80 2

Presentation Title

θ 1 = φ n -n 2 2 n AR n φ i = 0 1 = a t - θ θ m a t-m 3 3 m MA m 1. 2 ρ k = R k /R 0 5 Akaike ρ k 1 AIC = n ln δ 2

% % CHINA SCIENCE AND TECHNOLOGY DEVELOPMENT REPORT % % % % 28.6%


<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

使用Polyspace进行软件代码错误检查和运行期错误证明

创业板投资风险提示:本次股票发行后拟在创业板市场上市,该市场具有较高的投资风险

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se


1

2007

FAQ -PowerDesigner9.5.DOC

CHINA SCIENCE AND TECHNOLOGY DEVELOPMENT REPORT

HC50246_2009

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

HC20131_2010


Microsoft Word - ch04三校.doc

XXX专业本科人才培养方案

iml88-0v C / 8W T Tube EVM - pplication Notes. IC Description The iml88 is a Three Terminal Current Controller (TTCC) for regulating the current flowi

2014_

EJB-Programming-3.PDF

Microsoft Word - 物件導向編程精要.doc

iml v C / 0W EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the current flowin

路演公告.PDF

iml v C / 4W Down-Light EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the cur

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式 软 件 工 程 专 业 课 程 类 型...7

Presentation Title

Microsoft PowerPoint - Aqua-Sim.pptx

Panaboard Overlayer help

資訊系統開發模式

13 A DSS B DSS C DSS D DSS A. B. C. CPU D. 15 A B Cache C Cache D L0 L1 L2 Cache 16 SMP A B. C D 17 A B. C D A B - C - D

6 : W eb 827 ) [ 5 ] 211, : (1) (2),, (3) 212, [ 6-7 ], B /S,,,, 1 1 Fig11 Design of the system architecture

500013安瑞证券投资基金2004年半年度报告(正文)

景德镇陶瓷学院科技艺术学院

资产管理年度报告内容与格式

附錄四 中國企業H 股公司名單 (主板)

Microsoft Word - 16号-(企业处 40份)关于公布2015年成都市中小企业成长工程培育企业名单暨网上填报信息的通知

bnb.PDF

Process Data flow Data store External entity 6-10 Context diagram Level 0 diagram Level 1 diagram Level 2 diagram

Presentation Title

D C 93 2

EJB-Programming-4-cn.doc

... 12

JOURNAL OF EARTHQUAKE ENGINEERING AND ENGINEERING VIBRATION Vol. 31 No. 5 Oct /35 TU3521 P315.

Oracle 4

热设计网

WWW PHP

Microsoft Word htm

穨control.PDF

CHINA SCIENCE AND TECHNOLOGY DEVELOPMENT REPORT ()

Microsoft Word 招股说明书07.11

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

Microsoft Word - 刘 慧 板.doc

CH01.indd

目次 

untitled

2002中華民國科技管理研討會論文格式

untitled

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Microsoft PowerPoint - 数据通信-ch1.ppt

1 目 錄 1. 簡 介 一 般 甄 試 程 序 第 一 階 段 的 準 備 第 二 階 段 的 準 備 每 間 學 校 的 面 試 方 式 各 程 序 我 的 做 法 心 得 及 筆 記 結 論..

LH_Series_Rev2014.pdf

提纲 1 2 OS Examples for 3

UDC Empirical Researches on Pricing of Corporate Bonds with Macro Factors 厦门大学博硕士论文摘要库

Microsoft Word - 98全國大學校長會議

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

计 算 机 系 统 应 用 年 第 25 卷 第 1 期 的 编 程 语 言 Giotto [9] 编 写 控 制 程 序, 可 以 方 便 的 控 制 程 序 的 逻 辑 执 行 时 间, 从 而 使 得 任 务 时 间 的 依 赖 关 系

Microsoft Word - netcontr.doc

HC70044_2008

七天基于风险测试—Chinatest.ppt

rz_Newsletter2016_en_ indd

/3 CAD JPG GIS CAD GIS GIS 1 a CAD CAD CAD GIS GIS ArcGIS 9. x 10 1 b 1112 CAD GIS 1 c R2VArcscan CAD MapGIS CAD 1 d CAD U

工程设计资质标准

Modern Ideas of Government Reform ...

4 办 公 室 工 作 实 务 ( 第 3 版 ) 第 1 单 元 单 位 组 织 的 有 效 运 作 离 不 开 办 公 室 工 作 情 景 案 例 左 景 被 宏 达 商 业 集 团 公 司 录 用 为 秘 书, 试 用 期 间, 只 能 在 办 公 室 打 杂, 有 时 工 作 稍 有 差 错

(35 )

nbqw.PDF

nbqw.PDF

2013 年 科普工作全面扎实推进 科普能力建设稳步增强 科 普队伍继续壮大 科普经费投入增长显著 科普基础设施日益完善 全国科技活动周 等一系列重大科普活动得到公众广泛参与 针对 农村 青少年等特定地区 特定人群的科普活动在保持原有特色的 基础上不断创新 新媒体科普迅速发展 官方的科技资源网络共享

: ( ),,

<4D F736F F D20D5FDB7A8D2ABD1DB20BAE7B9E2CEDECFDE20C7B0D1D4D0DEB8C4342E31332E646F63>

Microsoft PowerPoint ARIS_Platform_en.ppt

untitled

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2

EK-STM32F

PowerPoint Presentation

Microsoft Word - 3D手册2.doc








1

Transcription:

符合 ISO 26262 的汽车电子软件开发流程 董淑成 Shucheng.dong@mathworks.cn MathWorks 中国 2015 The MathWorks, Inc. 1

基于模型设计的应用 高完整性软件开发标准和基于模型的设计 2 ISO 26262 (2011) DO-178C (2011) NASA-GB- 8719.13 (2004) 1 IEC 61508 (2010) EN 50128 (2011) DO-178B (1992) IEC 61508 (1998) EN 50128 (2001) IEC 61511 (2003) 0 1990 1995 2000 2005 2010 标准生效的年份 2

软件开发标准里出现基于模型的设计 3

为什么? 4

大纲 ISO 26262 软件开发项目的启动 符合 ISO 26262 的软件开发过程 5

ISO 26262 定义的软件开发过程 设计验证 系统设计 设计验证 软件需求定义 软件架构设计 系统测试 软件测试 软件测试 软件集成和测试 软件需求验证 系统集成和测试 设计验证 软件单元设计及实现 软件测试 软件单元测试 软件开发 6

ISO 26262 的软件项目启动 设计验证 系统设计 设计验证 软件需求定义 1. 软件开发计划 2. 软件验证计划系统测试 3. 编程 建模语言的选择 4. 编码 建模标准 5. 工具的选择 6. 工具应用指南 软件测试 软件需求验证 系统集成和测试 软件架构设计 软件测试 软件集成和测试 设计验证 软件单元设计及实现 软件测试 软件单元测试 软件开发 7

建模 / 编程语言的选择及相关标准 建模或者编程语言的选择标准 明确的定义 支持嵌入式实时软件和运行时错误处理 支持模块化 抽象及结构化 语言本身不能涵盖的上述标准应通过相应的指导或开发环境涵盖 通常, 汽车电子软件选择 C 语言 基础软件手工编写 C 代码 控制策略软件通过 Simulink 建模并自动生成代码 C 代码 建模 / 编码标准要涵盖的内容 ASIL Topics A B C D 1a Enforcement of low complexity ++ ++ ++ ++ 1b Use of Language subsets ++ ++ ++ ++ 1c Enforcement of strong typing ++ ++ ++ ++ 1d Use of defensive implementation technique O + ++ ++ 1e Use of established design principles + + + ++ 1f Use of unambiguous graphical representation + ++ ++ ++ 1g Use of style guides + ++ ++ ++ 1h Use of naming conventions ++ ++ ++ ++ 8

Simulink/Stateflow 建模标准 汽车行业建模标准 (MAAB) 专门为汽车行业 Simulink 用户制定 高完整性系统建模标准 专门为民航 火车 汽车等高完整性系统建模制定 9

设计工具 / 验证工具的选择 工具的分类及资质审核 工具分类 工具资质审核 工具的功能 / 用例 工具的影响 工具错误的检测 工具置信水平 ASIL 软件工具有引入错误或者不能检出错误的可能 UC 1..n TI 2 TD 3 TD 2 TD 1 无 / 低 中 高 TCL 3 TCL 2 为 TCL3 级的资质审核 为 TCL2 级的资质审核 增加审核需求 TI 1 TCL 1 无需额外的资质审核 注 :ISO 26262 要求对工具进行资质审核 10

TÜV SÜD 认证的工具 Embedded Coder 功能 : 生产针对嵌入式优化的 C 和 C++ 代码 Simulink Verification and Validation 功能 : 验证模型和模型生成的代码 Simulink Design Verifier 功能 : 定位设计错误, 生成测试用例, 并根据需求对设计进行验证 Polyspace Client for C/C++ 功能 : 证明源代码没有运行期错误 Polyspace Server for C/C++ 功能 : 在计算机集群执行代码验证并发布度量 11

开发工具的应用指南 除了选择开发工具之外, 还要提供开发工具的应用指南 Embedded Coder 等工具具有非常详实的用户手册 12

基于模型的嵌入式软件开发 需求分析 模型建立 模型验证 代码实现 模型架构 可实现性 可测性 可追溯 可配置 建模语言 建模标准 模型复杂度 平台化开发 建模标准 模型评审 形式化方法验证 功能测试 数据管理 等效性测试 代码验证 代码集成 13

基于模型的嵌入式软件开发 需求分析 模型建立 模型验证 代码实现 模型架构 可实现性 可测性 可追溯 可配置 建模语言 建模标准 模型复杂度 平台化开发 建模标准 模型评审 形式化方法验证 功能测试 数据管理 等效性测试 代码验证 代码集成 14

汽车电子软件的现状和复杂软件开发的困境 GM 汽车上的代码量 软件工程师的工作效率 解决复杂软件开发效率低下的途径 模块化开发 15

模块化的原则和目标 模块划分的一般原则 从功能上 高内聚 低耦合 模块划分的目标 简化设计 便于分工 便于测试 便于后期维护 16

ISO 26262 软件架构设计原则 In order to avoid failures resulting from high complexity, the software architecture design shall exhibit the following properties, Modularity; Encapsulation; and Simplicity. 软件架构设计原则 Methods ASIL A B C D 1a Hierarchical structure of software components ++ ++ ++ ++ 1b Restricted size of software components ++ ++ ++ ++ 1c Restricted size of interfaces + + + + 1d High cohesion within each software component + ++ ++ ++ 1e Restricted coupling between software components + ++ ++ ++ 1f Appropriate scheduling properties ++ ++ ++ ++ 1g Restricted use of interrupts + + + ++ 17

软件的层次化结构设计 模块如何划分 从功能上划分组件 以发动机为例, 分为 : 点火 进气 油量计算 怠速 巡航等 模型实现上 model reference 发动机控制 点火控制进气计算燃油控制怠速控制巡航控制其他 对复杂组件进一步划分为单元模块 以发动机的怠速控制为例, 分为暖机怠速 闭环速度控制 扭矩请求等单元 模型实现上 model reference 18

模块化设计和验证 模块划分举例 19

模块化设计和验证 模块划分举例 系统级 组件级 单元级 单元模块的设计不建议使用 Model Reference. 20

基于模型的嵌入式软件开发 需求分析 模型建立 模型验证 代码实现 模型架构 可实现性 可测性 可追溯 可配置 建模语言 建模标准 模型复杂度 平台化开发 建模标准 模型评审 形式化方法验证 功能测试 数据管理 等效性测试 代码验证 代码集成 21

Simulink 建模语言 使用建模语言的子集 Simulink 和 Stateflow 之间的选择 如果算法是复杂的逻辑运算, 使用 Stateflow; 如果算法主要是数据运算, 使用 Simulink; Stateflow 的 flow chart 和 state chart 之间的选择 如果算法本质上是计算工作状态或者离散状态, 使用 state chart; 如果算法本质上是 if-then-else 结构, 使用 flow chart 或者真值表 ; 22

ISO 26262 软件单元的设计原则 软件单元的设计和实现原则 Methods ASIL A B C D 1a One entry and one exit point in subprograms and functions ++ ++ ++ ++ 1b No dynamic objects or variables, or else online test during their creation + ++ ++ ++ 1c Initialization of variables ++ ++ ++ ++ 1d No multiple use of variable names + ++ ++ ++ 1e Avoid global variables or else justify their usage + + ++ ++ 1h No hidden data flow or control flow + ++ ++ ++ 1j No recursions + + ++ ++ Example: Parallel states should not appear at the top level of a state-chart. -- Misra Modeling Guideline 23

模型复杂度监测 对单元模块进行复杂度监测 Model advisor 圈复杂度 24

Simulink 模型的平台化开发 Model Variants 通过配置不同的参数选择不同的被引用模型 比如,K_Param == CLASS_A, 选择 Model_A.mdl;K_Param == CLASS_B, 选择 Model_B.mdl 支持生成条件编译的代码 System Variants 25

基于模型的嵌入式软件开发 需求分析 模型建立 模型验证 代码实现 模型架构 可实现性 可测性 可追溯 可配置 建模语言 建模标准 模型复杂度 平台化开发 建模标准 模型评审 形式化方法验证 功能测试 数据管理 等效性测试 代码验证 代码集成 26

ISO 26262 定义的软件开发过程 设计验证 系统设计 设计验证 软件需求定义 软件架构设计 系统测试 软件测试 软件测试 软件集成和测试 软件需求验证 系统集成和测试 设计验证 软件单元设计及实现 软件测试 软件单元测试 软件开发 27

MAAB 及相关规范的检查 Model Advisor 实现建模规范检查 定制检查集 定制检查项 28

模型评审 模型和需求的双向追溯 模型 需求 需求 模型 Simulink Report Generator 生成报告 为非 Simulink 用户生成报告 Simulink Report Generator 实现 不同版本模型比较 29

使用 Simulink Design Verifier 检查逻辑错误 设定生成测试用例目标为 MC/DC 100% 覆盖 生成测试用例 逻辑错误导致无法生成 100% 覆盖的测试用例, 并提示错误逻辑 30

使用 Simulink Design Verifier 检查数据错误 通过算术运算分析定位错误 数据溢出 被零除 证明没有错误的运算 31

演示 Simulink Design Verifier 检查错误 32

单元模块的功能测试 仿真测试 覆盖率分析 33

模型测试的覆盖率要求 对单元软件测试的结构覆盖率要求 覆盖率达到分支覆盖率 100% MC/DC 要求 Methods 对软件架构测试的覆盖率要求 ASIL A B C D 1a Statement coverage ++ ++ + + 1b Branch coverage + ++ ++ ++ 1c MC/DC (Modified Conditional/Decision Coverage) + + + ++ Methods ASIL A B C D 1a Function coverage + + ++ ++ 1b Call coverage + + ++ ++ 34

模型的集成测试 模型的组件级集成测试 模型的系统级测试 模型在环测试 快速原型 不同组件之间的接口测试 不同组件功能上是否冲突 35

基于模型的嵌入式软件开发 需求分析 模型建立 模型验证 代码实现 模型架构 可实现性 可测性 可追溯 可配置 建模语言 建模标准 模型复杂度 平台化开发 建模标准 模型评审 形式化方法验证 功能测试 数据管理 等效性测试 代码验证 代码集成 36

代码生成的前提条件 模型经过充分验证 Generate Code 功能测试覆盖率足够高 模型不含有无效逻辑 模型不含有数据错误 模型符合建模标准 37

数据对象和数据字典 使用数据对象定义数据属性 Package( 包 ) Simulink Classes( 类 ) Signal Parameter Properties( 属性 ) DataType Data Storage Class Min/Max Data Type Data Storage Class 使用数据字典管理数据对象 modelname = 'f14'; dictionaryname = 'mynewdictionary.sldd ; dictionaryobj =Simulink.data.dictionary.create(dictionaryName); set_param(modelname,'datadictionary',dictionaryname); 38

数据字典管理数据 按照组件划分进行数据管理 39

代码生成工具配置 软件工具除确定 id 和版本号之外, 还需要确定配置 1. 通过系统目标文件设定回调函数 2. 在代码生成设置的回调函数里固化设置 40

等效性测试 SIL 测试 /PIL 测试都是等效性测试 验证生成的代码和用于代码生成的模型具有相同的行为属性 PIL 除等效性验证之外, 还可以用来测量运行时间 等效性测试的测试用例 功能测试的测试用例 Simulink Design Verifier 自动生成 模型覆盖率和代码覆盖率的比较 41

代码的集成和集成测试 代码集成的两种方式 单元模型的代码生成, 代码级别做集成 模型级别集成, 然后生成代码 软硬件的系统级集成 硬件在环测试 台架测试 u + s1 s2 s3 Controller model Plant model 实车测试 u + s1 s3 s2 Controller Plant Model in PC 42

基于模型的嵌入式软件开发 需求分析 模型建立 模型验证 代码实现 模型架构 可实现性 可测性 可追溯 可配置 建模语言 建模标准 模型复杂度 平台化开发 建模标准 模型评审 形式化方法验证 功能测试 数据管理 等效性测试 代码验证 代码集成 43

MathWorks Change the world by Accelerating the pace of discovery, innovation, development, and learning in engineering and science 44