而如果要进一步深究基础软件的精确定义,那只能搬出汽车基础软件届大佬组织AUTOSAR中的定义描述:——“The Basic Software (BSW) provides the infrastructural (schematic dependent and schematic independent) functionalities of an “Electronic Control Unit.”这个定义似乎也比较抽象和泛化,但这也许正是基础软件的外延。因为在汽车行业,似乎除了功能应用软件,其他软件部分在不同场景下都可以称为基础软件。有些时候基础软件也延伸为基础技术或者平台服务等名字,这时候其往往还包含了一部分传统意义上的应用软件模块。因为“基础”这个定义本身就是相对的,在不同语境下有不同的内涵。就像很多产业工人会自称基层,很多高级工程师也自称基层,很多高级经理也自称基层。以下图经典AUTOSAR架构为例,狭义的基础软件就是硬件和运行时环境(RTE)之间的这部分软件,但在某些讨论背景下,例如讨论OTA升级功能时,基础软件和基础技术的外延往往会延伸到包括RTE和部分应用软件(对应AUTOSAR中的SWC)。
既然汽车基础软件事实上大量存在于汽车行业的软件开发项目中,那么实际上大家都是怎么开发的呢?谈到怎么实施的问题,就不得不提到AUTOSAR(Automotive Open System Architecture),它定义的主要范围就是基础软件。AUTOSAR汇聚了众多汽车行业顶尖软件大牛的智慧,是基于行业最佳实践而总结提炼的精华,并且应用了大量层次结构和面向对象的思想理念,也是汽车行业基础软件的事实标准。它在行业内的统治地位,通过下图所示的组织成员就可见一斑。