理论教育 汽车嵌入式系统手册中的函数库和数据储存方式

汽车嵌入式系统手册中的函数库和数据储存方式

时间:2023-08-26 理论教育 版权反馈
【摘要】:函数库不仅要包含可重用软件的说明。正如8.3.2节中所描述的,软件分为固件、基本软件、适应软件和功能软件。此外,软件组件的特征必须存储在函数库中。因此,对于研发一种新车型来说,也有必要存储相关数据到函数库的“总线系统描述”中。数据储存标准函数库中所有提到的数据必须存储在数据库中。在EAST-EEA项目中[13],开发了一种架构描述语言[14],以能够说明不考虑硬件的功能。在本节描述的功能性方法中,ADL语言允许描述软件结构。

汽车嵌入式系统手册中的函数库和数据储存方式

函数库包含核心软件,如图8.3所示。问题是什么核心软件是软件重用必不可少的。参考文献[8]讨论了一般哪些内容构造了核心软件。下面将介绍汽车制造商函数库的核心软件,由此考虑如8.2节所描述的特殊要求。函数库不仅要包含可重用软件的说明。而且硬件和总线系统说明也是一个重要组成部分。

•软件组件:函数库的一个重要成分就是可重用软件组件。在这里,可以根据不同类别的软件和它们正在使用的不同编程语言来区分。

正如8.3.2节中所描述的,软件分为固件、基本软件、适应软件和功能软件。此外,软件组件的特征必须存储在函数库中。例如,各个软件组件和子系统的代码大小和最坏情况下的执行时间对于一个适当的到操作系统的实时集成来说,它们是重要的信息。对于软件组件的每个支撑硬件平台来说,该最坏情况下的执行时间必须确定。例如,使用如文献[11]那样的、基于模型的自动方法,该执行时间一定能确定。另一种可能性就是在整合过程中获取此信息。这种方法的优点是可以考虑环境。例如,在某一确定的汽车模型中,有一些函数是从未使用过的,且代码得到优化,最坏情况下的执行时间大为减小。这个方法一般将得出最坏情况下的执行时间,它比实际执行时间更严格。

为了进一步改进软件重用技术要求,测试计划(用什么测试设备、何时测试及对何种测试对象测试)和测试案例(介绍测试时如何测试被测设备的个别属性)也要存储(参见第11章)。

接口:软件组件之间的接口必须是函数库的一部分。在汽车系统中,软件组件之间的通信可以通过数据总线或在ECU内部来实现。软件组件之间的接口必须全局定义,新的软件组件必须使用已经有的接口定义,这将确保不同软件组件的接口兼容性

汽车上必须描述的接口数量是非常多的。为了能够掌控这个复杂性,有必要规定接口类型,对应类型接口实例是可以推导出来的。

接口类型的描述不能只包含通过接口交换的信号名称和位数大小,还有必须定义的必需信息就是支撑的通信类型接口,它允许系统设计者能够在通信总线上正确绘制信号。一旦接口实例被绘制到软件组件上,那么就必须指定时序要求,它也影响决策——就是一个特定的通信总线系统是否合适。

接口类型的语义是另一个重要的内容。例如,一旦用户按下遥控键,只要按住键至少50ms,那么“遥控键”类接口描述的信号就接通了。这些语义的描述,需要一个正式的方法,目的是为了验证组件之间互操作性的属性(输入的互操作性、定时互操作性等)。

•功能性网络:功能性网络把软件组件结合到执行汽车功能的总软件系统中。这里,函数库完美地支持层次化分解,目的是为了减少必须进行管理的软件的复杂性。

针对软件组件的接口定义的一个附加组件就是所谓的误差矩阵。当跟踪现场生产汽车系统误差时,此误差矩阵可以提供帮助。误差矩阵包含了这样的信息——就是什么样的软件组件输出取决于输入。有了误差矩阵,服务(器)就比较容易发现软件错误。在文献[12]中,可以找到更详细的说明。(www.daowen.com)

•硬件平台和总线系统介绍:在功能库中包含的整个软件不独立于它应该在上面运行的硬件。软件的执行依赖于处理器的类型、内存大小、时钟周期或甚至使用的编译器。因此,“硬件平台描述”必须存储在函数库中。

正如前面提到的,在功能网络中,软件组件之间的通信部分使用了总线系统。这些总线系统可以不同的方式加以区分,例如数据传输的速度、使用的协议等。因此,对于研发一种新车型来说,也有必要存储相关数据到函数库的“总线系统描述”中。

•实施:对于软件组件的实施(或“行为描述”)来说,可以使用基于模型的方法和工具。根据这些模型,通常可以导出C代码。但是,当与手写C代码相比时,生成的代码可能会显示出性能上的劣势。另一方面,基于模型的软件组件优点是:它们可以很容易地适应不同的硬件平台。因此,把两种类型——手写的和生成的代码存储在取决于软件的函数库中,看起来可能是有用的。

数据储存标准

函数库中所有提到的数据必须存储在数据库中。我们为此目的,建议使用一个标准化的数据模型。

在EAST-EEA项目中[13](www.east-eea.net,参见第9章),开发了一种架构描述语言(ADL)[14],以能够说明不考虑硬件的功能。在本节描述的功能性方法中,ADL语言允许描述软件结构(但不是必需的行为)。

对于这样一个数据模型的另一个例子是MSRMEDOC[15,16]。它定义了数据如何存储到数据模型中。数据模型在可扩展标记语言数据类型定义(XML DTD)中规定。

另一个重要项目是汽车开放系统架构(AUTOSAR)[17]。该项目定义了一个模块化的软件架构。在这里,也考虑整合来自不同软件供应商的软件组件的重要方面。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈