为了得到汽车制造商对软件复用的想法,这里介绍现代汽车的电子系统。如之前所提到的,汽车领域中的创新主要由电子产品所驱动。过去几年中燃油经济性和发动机功率的提高,并且驾驶辅助系统如“奥迪侧向辅助系统”(盲点警告)和“奥迪车道辅助系统”(车道偏离预警),若无电子学,则是不可想象的。
为了满足这些电子系统的通信需求的增加,ECU通过不同的总线系统来通信。使用最广泛的汽车总线系统是控制器区域网络(CAN)、本地互联网络(LIN)和媒体导向系统传输(MOST)。FlexRay目前应用到了第一批系列轿车上。体现这样一个系统复杂性的案例是奥迪A5的网络拓扑图,如图8.2所示。
在绪论中已指出,汽车制造商们开始逐渐将软件视为一个独立于底层硬件的电子元件。这个观点是能够使软件复用成功的先决条件,但是也还存在着各种各样潜在未解决的问题。文献[6]列举的汽车领域中的软件复用条件介绍如下:
•可再用的软件部件必须与“硬件独立”。
•软件部件的界面必须能够在ECU上和/或通过数据总线局部交换数据。
•研发可再用软件时,要考虑到每一个功能的未来需求。
•在开发复用软件时,软件部件的“代码大小”和“执行时间”必须最小化。这两种资源因其在汽车工业中的大规模生产而昂贵。
还有一些方面必须考虑到。单个软件模块必须有一个最佳的“模块化”。这就意味着一项功能(例如,中控锁系统或者外部灯光)可能由不同的单个子部分组成。因为一项功能的改变可能仅需要更改一个子部件,所以建立子部分可以提高复用性。(www.daowen.com)
图8.2 奥迪A5电子系统
然而,功能划分为子部分可能会引起代码的重复。例如,与作为单个单元的模块研制相比,多变量定义导致所有子模块一起会消耗更多的内存。此外,执行时间也可能恶化。
这种软件模块的界面定义必须规定一次,即静态的。它在一个新车模型里或者在一个新微控制器里的复用,该定义不应该改变。这种界面必须保持在覆盖所有模型的数据库里。
还有一个需求是数据库的存在,单一可复用的软件部件和/或子部分储存在该数据库中。一个“统一的数据格式”在汽车制造商们、他们的第一级供应商和软件供应商们的不同软件开发团队之间交换数据是必需的。为了补充并使用数据库的信息和可复用软件组件,“过程”必须定义成一个标准的开发过程。尤其是这些过程一定要描述来自不同渠道的软件集成过程和一个包含制造商和供应商的角色模型。
为了支持这些流程,我们需要一个无缝的“工具链”,也就是说,一套与界面紧密匹配的工具。因此一个重要的问题就是“统一建模准则”的使用。同样的,应该在供应商和制造商之间定义标准,以有效地促进软件模块的互换性。从一个汽车制造商的观点来看,存在“不同种类的复用”。根据一个软件组件的复用种类——基于同一个模型或者基于不同模型范围——不同方面必须加以考虑。
当然,安全方面必须加以考虑。在文献[7]中,提到了开发重要功能的必要性。Simonot-Lion从几个方面上给出了概述,例如,认证过程、时间触发构架和软件架构模型。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。