[
图4B:对线控驾驶系统的建模与仿真
* 验证和生效(V&V)
* 集成 (软件配置管理、需求可追踪性和文档)
基于模型的设计非常注重过程迭代、早期测试和开发过程中的重用,这使得它既独特而又功能强大。这一过程的内在实用性体现在V形图的底部,产品代码生成是来自设计的一种自动过渡。
在基于模型的设计中,方框图或状态图模型可以用作系统和软件需求、软件设计,或者在稍作假设变换之后,用作源代码。这个过程的另外一个独特之处是,它在最终编译之前要进行广泛的验证和生效操作。早期验证和生效的好处很明显:它将大大减少在最终系统集成和测试期间发现的bug数目,返工次数也会更少。
开发方法与工具
在软件工程化过程中,采用了基于模型的设计方法

图5:故障模式效应分析用来确保线控驾驶的救生操作
开发方法包括:1. 行为建模;2. 详细软件设计;3. 分布式结构设计;4. 产品代码生成;5. 嵌入式目标集成。验证与生效方法包括:1. 仿真与分析;2. 快速原型;3. 模型测试与覆盖;4. 代码追踪与检查;5. 硬件在环(HIL,Hardware-In-the-Loop)测试。集成方法包括:1. 源控制接口;2. 需求管理接口;3. 报告生成。
下面给出了对各种开发方法的简洁描述,并提供有例子和工具支持信息。注意这里给出的所有工具都是商业上可以获得的。其后的部分讨论了开发行为,并包含有关键的验证与生效方法。最后,本文将通过集成组件来进行总结。
1. 行为建模
模型用来为单个子系统(如线控驾驶)的各个方面规定需求和设计。
一个典型的系统包括:
* 输入(如方向盘传感器)
* 控制器或DSP模型
* 设备模型(直流马达、齿条和小齿轮、车轮)
* 输出(方向的改变)
在图2和图3中,通过使用控制系统方框图来表示反馈控制、使用状态图来表示离散事件和条件逻辑,以及使用DSP模块来表示滤波器,可以创建一个系统模型来表示所需的行为特性。
2. 仿真与分析

图6:图3中电源管理设计的测试覆盖
然后,通过使用基于时间或基于事件的仿真以及频域分析等方法,可以执行和分析模型,以确保其满足需求。例如,一个线控驾驶系统必须对传感器故障进行响应,并“将高频响应衰减到3db以下,同时指令传输速率不能低于1.5Mbps”。
图4A和B*中对线控驾驶系统的建模与仿真,可以确定这些需求是相互冲突的还是有效的。仿真是一个核心验证行为,它确保可以实现一个系统来满足这些需求。
3. 快速原型
要在产品的芯片上实现一个可以工作的解决方案,设备模型还不够精确,处理能力也不满足要求,因此建模本身并不能提供完整的解决方案。
快速原型对于克服这些缺陷非常有用,因为它用物理设备来代替设备模型。在线控驾驶的例子中,设备有可能是一辆汽车,这时就使用一辆实际的汽车。不过,因为系统并未建立起来,一个实时或嵌入式平台将负责运行控制器软件并与设备进行交互作用。
有两种形式的快速原型:功能性快速原型和目标性快速原型。功能性原型使用一台功能强大的实时计算机,如多处理器浮点PowerPC或DSP系统,目的在于确定系统对物理汽车的控制是否如对模型汽车的控制一样好。如果真的是这样,则设备模型的不精确性就显得无关紧要,并且控制策略也得到了验证。

[本文共有 4 页,当前是第 2 页] <<上一页 下一页>>
]