SCODE - 降低软件复杂度的建模新方法

2020-07-03 22:12:31·  来源:ETAS空中助手  
 
日益复杂的系统对软件工程的挑战在现代汽车技术研发的各个阶段,软件既是高可靠性的推动者,同时又是高可靠性的保证
 
日益复杂的系统对软件工程的挑战

在现代汽车技术研发的各个阶段,软件既是高可靠性的推动者,同时又是高可靠性的保证者。试想一下,如果没有嵌入式软件,动态底盘控制和复杂的混合动力总成将是难以想象的。如今,软件在构建主动式驾驶辅助系统及进一步开发自动驾驶方面,发挥着至关重要的作用。对于驾驶员来说,软件的发展使驾驶变得更容易,极大地提高了车辆的安全性和舒适性。

然而,特定功能的开发,和电子控制单元(ECU)软件的开发,给开发人员带来了巨大的挑战。他们有必要从一个清晰的视角,来正确实现控制策略和功能。而与此同时,他们面对的是各个相互连接的车辆控制系统之间日益增加的复杂度,甚至还要在短时间内,以低成本开发出可靠、功能强大并且安全的软件。

SCODE方法  
一种全新的基于模型的软件开发方式

鉴于项目SOP周期越来越短,开发时间压力越来越大,以及软件开发人员所面对系统越来越高的复杂度,这些新问题都急需新的解决方案和工作方法。经过博世集团内部十年的研究,ETAS正式推出了SCODE-ANALYZER和SCODE-CONGRA,这两个新工具为基于模型的软件开发领域带来了一种全新的方法论。在软件开发过程中,SCODE方法和工具能够实现对软件决策路径的构建,及其数学关系的描述,并进行自动验证。
这一全新方法的关键,简而言之,就是通过分离控制流与计算流来降低控制系统的复杂度。

图1 SCODE方法的核心思想

SCODE-ANALYZER(System CO Design,系统协同设计)工具,可清楚地描述并验证控制系统中的复杂关系,系统被分为多个分段,称作“模式”。而SCODE-ConGRA(Constraint GRAphs,约束图表)则是第一个提供了“以模型为中心”方法的工具,完全基于精确的数学描述并对过程和结果通过图形实现可视化。

SCODE - 降低软件复杂度的建模新方法
图2 SCODE-ANALYZER和SCODE-CONGRA功能简介
 
SCODE-ANALYZER
具备形式验证和代码生成功能的结构化系统分析工具

SCODE分析方法采用三个步骤将控制流(离散)与数据流(连续)分离:

1) 定义问题空间(Problem Space), 系统结构条件的状态组合;

2) 定义基于问题空间的有效和无效的运行模式(Modes);

3) 定义模式切换跳转事件(Events)的规则。
图3 SCODE-ANALYZER工具的工作步骤

SCODE-ANALYZER在系统设计过程中,提供具有形式验证意义的分析和测试功能。

· 
100%完整性(考虑到所有状态组合,无遗漏)

·  
100%一致性(模式不相互重叠)

·  
所有模式切换的有效性(无dead locks、无dead events…)

·  
基于问题空间的100%测试用例覆盖度

·  
自验证以确保代码在整个工具链中的正确性
图4 SCODE方法将系统划分模式

SCODE-CONGRA
以精确而易懂的图形化数学关系来描述控制系统

根据数学关系和物理公式,开发人员可以对系统进行描述并将结果以有方向或无方向的约束图来显示。开发人员可以直接在可视化的显示中进行实验,以轻松识别参数更改如何影响系统行为。灵敏度分析功能为预标定(Pre-Calibration)铺垫了道路,这将极大有助于后期的软件标定。SCODE-CONGRA还显示了复杂的系统关系,输入数据的不清晰或不一致的情况,以及代数环问题和解决办法。

图5 SCODE-CONGRA使开发者从不同视角和方向获得系统关系

SCODE-Workbench
控制系统的建模、分析、验证及实现

基于Eclipse环境,SCODE-ANALYZER和SCODE-CONGRA已经统一到SCODE Workbench工具平台,可以无缝集成于当前工具链:

-       ASCET ESDL/AMD

-       C code

-       MATLAB® m-code

-       Simulink® blocks / s-functions

-       YAKINDU Traceability

-       EHANDBOOK

-       Word / Excel / JSON

-       svg/png/jpg

-       test cases (fingerprint & harness)

其中时间连续的部分适用于

-       ASCMO-MOCA

-       LABCAR

-       FMI/FMU 2.0 COSYM

图6 SCODE-ANALYZER和SCODE-CONGRA工作流程

图7 针对仿真以及ECU提供代码生成

SCODE
在博世的应用

从过去十年至今,SCODE-ANALYZER和SCODE-CONGRA已被应用到上百个项目开发之中,诸如内燃机进气系统、电机控制、混合动力总成模式、诊断分析等等,并且已有量产化阶段的软件包含了通过SCODE方法开发的功能及其代码。

结合博世经验,SCODE-ANALYZER和SCODE-CONGRA为控制系统开发提供了简单、快速且安全的建模方式,被证实可在很大程度上提高开发效率。

·  
降低系统复杂度

·  
减少代码行数(-25%)

·  
减少标定工作量(-25%)

·  
减少ECU内存消耗

·  
减少ECU运行时间

·  
设计系统/功能时100%覆盖可能的错误

·  
通过数学模型高度复用性缩短开发时间(-30%)

·  
通过自验证代码减少测试工作量

·  
通过自动分析验证完整性和一致性

图8 SCODE可以为项目节省多达30%的开发时间

下图为SCODE工具在燃料电池(Fuel Cell)系统开发中的应用场景。

图9 SCODE在博世燃料电池控制系统开发中的应用
 
分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号