由于有了基于模型的设计,使得开发大量的汽车嵌入式系统时,可以由模型自动生成最终编译的软件。不过,这项工作需要一个软件工程框架的支持。本文使用线控驾驶系统(steer-by-wire system)作为实例,给出了设计汽车嵌入式系统的过程、方法和测试工具的一个框架。
近来www.cechina.cn,有报道称包括Denso、Motorola和Toyota在内的不同行业的多家公司都在产品代码方面取得了成功。这项技术正日益成为软件下一波演进发展中的一个重要组成部分。虽然总体而言CONTROL ENGINEERING China版权所有,它对软件工程化过程的影响已为业界所了解,但却并没有十分清楚地确立起来。对于早前类似演进发展(包括从机器代码发展到汇编代码,再发展到源代码)的参与者而言,这一点尤为明显。
随着抽象与自动化程度的日益提高,新的过程、方法和工具接踵而来。瀑布式过程已让位于螺旋式方法和迭代方法。实时方法已经出现并正在取代静态流程设计。新的工具也出现了控制工程网版权所有,如包含有调试器、优化编译器和自动测试工具的IDE(集成开发环境)。
&nb
图2:用控制系统方框图来表示反馈控制。
在早期应用阶段,产品代码生成的效果相当不错,这主要是由于其实用性。不过,其进一步的发展还需要依靠集成过程、方法和工具的支持。一种新的过程只有在具备了所需支持方法和工具的条件下才会成功。如果这些条件有所欠缺,那么对一个公司成熟的嵌入式系统进行重新设计的努力就不会是可行和实用的。
本文给出了主要面向产品代码生成的这样一个框架:
* 基于模型的设计
* 建模、仿真、快速原型、产品代码生成、模型测试和覆盖、在环测试
* 开发工具、验证与生效(V&V)工具、集成工具
模型的设计过程
图3:创建一个系统模型来表示所需的行为特性。
通过提供一个共同的图形规范和分析环境控制工程网版权所有,基于模型的设计可以支持控制/DSP系统工程师和软件开发人员的需要。在这个过程中,模型被创建并用来规定系统数据、接口、反馈控制逻辑、离散/状态逻辑和实时行为。
基于模型的设计被应用在几乎每个需要嵌入式控制系统的行业之中。而在大型汽车电子控制单元(ECU)等嵌入式应用的开发过程中,其应用更为广泛。DSP和通信应用也采用这种方法,但它们更强调建模和原型,而不是产品代码生成。
为了满足这些不同的应用,基于模型的设计过程必须解决线控驾驶系统等安全关键系统的需求。它还必须产生最终的、可执行的代码,而且必须特别紧凑、快速和能够追踪。这是由于在大批量生产的ECU中,必须使用低成本的定点微控制器部件和DSP。
基于模型的设计适合任何过程框架环境,包括那些在IEEE软件工程化标准中描述过的过程框架。
IEEE Std. 730适用于任何通用软件项目。为了很好地理解它的过程框架,有必要回顾一下它对“关键性”项目文档所列出的需求。
IEEE Std. 730需求包括:
* 软件需求规范(SRS)